From 3f695bd36c061e46842a629e7c90e9ce4ed8bfb2 Mon Sep 17 00:00:00 2001 From: y4vor Date: Fri, 24 Mar 2023 20:04:05 -0700 Subject: [PATCH 01/28] Cleanup unused headers in evergreen_info. (#313) b/275078866 --- starboard/elf_loader/evergreen_info.cc | 4 ---- 1 file changed, 4 deletions(-) diff --git a/starboard/elf_loader/evergreen_info.cc b/starboard/elf_loader/evergreen_info.cc index 553d8208413d4..2738bc093471e 100644 --- a/starboard/elf_loader/evergreen_info.cc +++ b/starboard/elf_loader/evergreen_info.cc @@ -14,12 +14,8 @@ #include "starboard/elf_loader/evergreen_info.h" -#include - #include "starboard/atomic.h" -#include "starboard/common/log.h" #include "starboard/memory.h" -#include "starboard/string.h" static EvergreenInfo g_evergreen_info; static bool g_valid_info = false; From ecd28fd49b37c0b0bcc3a3835b8d0499e957a165 Mon Sep 17 00:00:00 2001 From: thorsten sideb0ard Date: Mon, 3 Apr 2023 12:11:45 -0700 Subject: [PATCH 02/28] sideboard's first commit (#225) --- sandbox/sideboard.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 sandbox/sideboard.txt diff --git a/sandbox/sideboard.txt b/sandbox/sideboard.txt new file mode 100644 index 0000000000000..3192eef2003d3 --- /dev/null +++ b/sandbox/sideboard.txt @@ -0,0 +1 @@ +Hi from sideboard in sandbox From 6e374b912cf4d8bd9c4f3a5c7053e4b5993b340d Mon Sep 17 00:00:00 2001 From: Jelle Foks Date: Tue, 4 Apr 2023 09:48:29 -0700 Subject: [PATCH 03/28] Fix webdriver links. (#315) This updates webdriver links to their new locations, with versioning. b/200993308 --- cobalt/webdriver/algorithms.cc | 2 +- cobalt/webdriver/algorithms.h | 4 ++-- cobalt/webdriver/dispatcher.h | 6 +++--- cobalt/webdriver/element_driver.cc | 10 +++++----- cobalt/webdriver/element_driver.h | 2 +- cobalt/webdriver/protocol/button.h | 6 +++--- cobalt/webdriver/protocol/capabilities.h | 2 +- cobalt/webdriver/protocol/cookie.h | 2 +- cobalt/webdriver/protocol/element_id.h | 2 +- cobalt/webdriver/protocol/frame_id.h | 2 +- cobalt/webdriver/protocol/log_entry.cc | 6 +++--- cobalt/webdriver/protocol/log_entry.h | 2 +- cobalt/webdriver/protocol/moveto.h | 2 +- cobalt/webdriver/protocol/response.h | 6 +++--- cobalt/webdriver/protocol/script.h | 4 ++-- cobalt/webdriver/protocol/server_status.h | 2 +- cobalt/webdriver/protocol/session_id.h | 2 +- cobalt/webdriver/server.cc | 7 ++++--- cobalt/webdriver/server.h | 6 +++--- cobalt/webdriver/web_driver_module.cc | 10 +++++----- cobalt/webdriver/window_driver.cc | 2 +- 21 files changed, 44 insertions(+), 43 deletions(-) diff --git a/cobalt/webdriver/algorithms.cc b/cobalt/webdriver/algorithms.cc index e4c6a5b662496..155e60535f281 100644 --- a/cobalt/webdriver/algorithms.cc +++ b/cobalt/webdriver/algorithms.cc @@ -455,7 +455,7 @@ std::string GetElementText(dom::Element* element) { } // There is a spec for "displayedness" available: -// https://w3c.github.io/webdriver/webdriver-spec.html#element-displayedness +// https://www.w3.org/TR/2015/WD-webdriver-20150808/#element-displayedness // However, the algorithm described in the spec does not match existing // implementations of WebDriver. // IsDisplayed will match the existing implementations, using the implementation diff --git a/cobalt/webdriver/algorithms.h b/cobalt/webdriver/algorithms.h index d75d3b2be157c..df7f2ccb296a2 100644 --- a/cobalt/webdriver/algorithms.h +++ b/cobalt/webdriver/algorithms.h @@ -24,13 +24,13 @@ namespace webdriver { namespace algorithms { // Implementation of getElementText algorithm. -// https://w3c.github.io/webdriver/webdriver-spec.html#getelementtext +// https://www.w3.org/TR/2015/WD-webdriver-20150808/#getelementtext // The spec is not totally clear and, according to comments on the spec, does // not exactly match the behavior of existing WebDriver implementations. This // implementation will follow the de-facto standards where they differ. std::string GetElementText(dom::Element* element); -// https://w3c.github.io/webdriver/webdriver-spec.html#element-displayedness +// https://www.w3.org/TR/2015/WD-webdriver-20150808/#element-displayedness // The spec does not exactly match the behavior of existing WebDriver // implementations. Consistency with existing implementations will be preferred // over strict conformance to the draft spec. diff --git a/cobalt/webdriver/dispatcher.h b/cobalt/webdriver/dispatcher.h index 56796babe9428..ae29bb1348592 100644 --- a/cobalt/webdriver/dispatcher.h +++ b/cobalt/webdriver/dispatcher.h @@ -76,8 +76,8 @@ class WebDriverDispatcher { }; // Send the result of the execution of a registered WebDriver command to be // sent as a response as described in the spec: - // https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#Responses - // https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#Failed-Commands + // https://www.selenium.dev/documentation/legacy/json_wire_protocol/#responses + // https://www.selenium.dev/documentation/legacy/json_wire_protocol/#failed-commands virtual void SendResult( const base::Optional& session_id, protocol::Response::StatusCode status_code, @@ -95,7 +95,7 @@ class WebDriverDispatcher { // Some forms of Invalid Requests are detected in the CommandCallback by // checking the path variables and command parameters. Invalid requests are // described here: - // https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#Invalid-Requests + // https://www.selenium.dev/documentation/legacy/json_wire_protocol/#invalid-requests // // TODO: Invalid requests should be handled before calling the // CommandCallback. diff --git a/cobalt/webdriver/element_driver.cc b/cobalt/webdriver/element_driver.cc index 0f36d4bee435e..9fbd3113cf7bf 100644 --- a/cobalt/webdriver/element_driver.cc +++ b/cobalt/webdriver/element_driver.cc @@ -12,10 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include "cobalt/webdriver/element_driver.h" +#include + #include "cobalt/cssom/property_value.h" #include "cobalt/cssom/viewport_size.h" #include "cobalt/dom/document.h" @@ -266,14 +266,14 @@ util::CommandResult ElementDriver::SendClickInternal( return CommandResult(protocol::Response::kElementNotVisible); } // Click on an element. - // https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidclick + // https://www.selenium.dev/documentation/legacy/json_wire_protocol/#sessionsessionidelementidclick // The Element Click clicks the in-view center point of the element - // https://w3c.github.io/webdriver/webdriver-spec.html#dfn-element-click + // https://www.w3.org/TR/2015/WD-webdriver-20150808/#click // An element's in-view center point is the origin position of the rectangle // that is the intersection between the element's first DOM client rectangle // and the initial viewport. - // https://w3c.github.io/webdriver/webdriver-spec.html#dfn-in-view-center-point + // https://www.w3.org/TR/2017/WD-webdriver-20170125/#dfn-in-view-center-point scoped_refptr dom_rects = element_->GetClientRects(); if (dom_rects->length() == 0) { return CommandResult(protocol::Response::kElementNotVisible); diff --git a/cobalt/webdriver/element_driver.h b/cobalt/webdriver/element_driver.h index 5a29e5dbad27e..471f129369ea9 100644 --- a/cobalt/webdriver/element_driver.h +++ b/cobalt/webdriver/element_driver.h @@ -46,7 +46,7 @@ class WindowDriver; // ElementDriver could be considered a WebElement as described in the WebDriver // spec. -// https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#webelement +// https://www.selenium.dev/documentation/legacy/json_wire_protocol/#webelement // Commands that interact with a WebElement, such as: // /session/:sessionId/element/:id/some_command // will map to a method on this class. diff --git a/cobalt/webdriver/protocol/button.h b/cobalt/webdriver/protocol/button.h index 9866ea5cf6710..50db38010cba6 100644 --- a/cobalt/webdriver/protocol/button.h +++ b/cobalt/webdriver/protocol/button.h @@ -27,9 +27,9 @@ namespace protocol { // Represents the JSON parameters passed to the click, buttondown, and buttonup // WebDriver commands. -// https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidclick -// https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidbuttondown -// https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidbuttonup +// https://www.selenium.dev/documentation/legacy/json_wire_protocol/#sessionsessionidelementidclick +// https://www.selenium.dev/documentation/legacy/json_wire_protocol/#sessionsessionidbuttondown +// https://www.selenium.dev/documentation/legacy/json_wire_protocol/#sessionsessionidbuttonup class Button { public: static std::unique_ptr ToValue(const Button& button); diff --git a/cobalt/webdriver/protocol/capabilities.h b/cobalt/webdriver/protocol/capabilities.h index 54ca1b08c294a..87893de1dfc2a 100644 --- a/cobalt/webdriver/protocol/capabilities.h +++ b/cobalt/webdriver/protocol/capabilities.h @@ -45,7 +45,7 @@ class Capabilities { private: Capabilities() {} // The capabilities listed here: - // https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#Capabilities-JSON-Object + // https://www.selenium.dev/documentation/legacy/json_wire_protocol/#capabilities-json-object base::Optional browser_name_; base::Optional version_; diff --git a/cobalt/webdriver/protocol/cookie.h b/cobalt/webdriver/protocol/cookie.h index 4d1357d888a33..70f69cbe48544 100644 --- a/cobalt/webdriver/protocol/cookie.h +++ b/cobalt/webdriver/protocol/cookie.h @@ -27,7 +27,7 @@ namespace cobalt { namespace webdriver { namespace protocol { -// https://w3c.github.io/webdriver/webdriver-spec.html#cookies +// https://www.w3.org/TR/2015/WD-webdriver-20150808/#cookies class Cookie { public: static std::unique_ptr ToValue(const Cookie& cookie); diff --git a/cobalt/webdriver/protocol/element_id.h b/cobalt/webdriver/protocol/element_id.h index 94b75c383c968..ec322a64c3614 100644 --- a/cobalt/webdriver/protocol/element_id.h +++ b/cobalt/webdriver/protocol/element_id.h @@ -31,7 +31,7 @@ class ElementId { static const char kElementKey[]; // Convert the ElementId to a WebElement JSON object: - // https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#WebElement-JSON-Object + // https://www.selenium.dev/documentation/legacy/json_wire_protocol/#webelement-json-object static std::unique_ptr ToValue(const ElementId& element_id); static base::Optional FromValue(const base::Value* value); diff --git a/cobalt/webdriver/protocol/frame_id.h b/cobalt/webdriver/protocol/frame_id.h index 4e2e7ce1ed33c..3cdaeb7540e23 100644 --- a/cobalt/webdriver/protocol/frame_id.h +++ b/cobalt/webdriver/protocol/frame_id.h @@ -22,7 +22,7 @@ namespace cobalt { namespace webdriver { namespace protocol { -// https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidframe +// https://www.selenium.dev/documentation/legacy/json_wire_protocol/#sessionsessionidframe // Since Cobalt doesn't support multiple frames, the only valid value for this // command is to request switching to the top-level browsing context, which // is always active. diff --git a/cobalt/webdriver/protocol/log_entry.cc b/cobalt/webdriver/protocol/log_entry.cc index 297c0847adefe..d0682c1125fd6 100644 --- a/cobalt/webdriver/protocol/log_entry.cc +++ b/cobalt/webdriver/protocol/log_entry.cc @@ -12,10 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include "cobalt/webdriver/protocol/log_entry.h" +#include + #include "base/logging.h" namespace cobalt { @@ -48,7 +48,7 @@ std::unique_ptr LogEntry::ToValue(const LogEntry& log_entry) { std::unique_ptr log_entry_value( new base::DictionaryValue()); // Format of the Log Entry object can be found here: - // https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#Log-Entry-JSON-Object + // https://www.selenium.dev/documentation/legacy/json_wire_protocol/#log-entry-json-object // timestamp is in milliseconds since the Unix Epoch. log_entry_value->SetInteger("timestamp", log_entry.timestamp_.InMilliseconds()); diff --git a/cobalt/webdriver/protocol/log_entry.h b/cobalt/webdriver/protocol/log_entry.h index 94d01bdd2d83a..777b66f8b96e3 100644 --- a/cobalt/webdriver/protocol/log_entry.h +++ b/cobalt/webdriver/protocol/log_entry.h @@ -26,7 +26,7 @@ namespace webdriver { namespace protocol { // Log entry object: -// https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#Log-Entry-JSON-Object +// https://www.selenium.dev/documentation/legacy/json_wire_protocol/#log-entry-json-object class LogEntry { public: enum LogLevel { diff --git a/cobalt/webdriver/protocol/moveto.h b/cobalt/webdriver/protocol/moveto.h index c1be6dcb39425..0819a1fab8a0f 100644 --- a/cobalt/webdriver/protocol/moveto.h +++ b/cobalt/webdriver/protocol/moveto.h @@ -26,7 +26,7 @@ namespace webdriver { namespace protocol { // Represents the JSON parameters passed to the moveto WebDriver command. -// https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidmoveto +// https://www.selenium.dev/documentation/legacy/json_wire_protocol/#sessionsessionidmoveto class Moveto { public: static std::unique_ptr ToValue(const Moveto& moveto); diff --git a/cobalt/webdriver/protocol/response.h b/cobalt/webdriver/protocol/response.h index 0244c1453d4ff..1995ed2ca4882 100644 --- a/cobalt/webdriver/protocol/response.h +++ b/cobalt/webdriver/protocol/response.h @@ -29,7 +29,7 @@ namespace protocol { class Response { public: // WebDriver Response Status Codes: - // https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#Response-Status-Codes + // https://www.selenium.dev/documentation/legacy/json_wire_protocol/#response-status-codes enum StatusCode { // The command executed successfully. kSuccess = 0, @@ -79,13 +79,13 @@ class Response { // Create a JSON object that will be used as the response body for a failed // command: - // https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#Failed-Commands + // https://www.selenium.dev/documentation/legacy/json_wire_protocol/#failed-commands // TODO: Add support for screenshot, stack trace, etc. static std::unique_ptr CreateErrorResponse( const std::string& message); // Create a JSON object that will be used as the response body for a command: - // https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#Responses + // https://www.selenium.dev/documentation/legacy/json_wire_protocol/#responses static std::unique_ptr CreateResponse( const base::Optional& session_id, StatusCode status_code, diff --git a/cobalt/webdriver/protocol/script.h b/cobalt/webdriver/protocol/script.h index 78256fc31adce..e1ad598b6b3d9 100644 --- a/cobalt/webdriver/protocol/script.h +++ b/cobalt/webdriver/protocol/script.h @@ -27,8 +27,8 @@ namespace protocol { // Represents the JSON parameters passed to the execute and execute_async // WebDriver commands. -// https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidexecute -// https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidexecute-async +// https://www.selenium.dev/documentation/legacy/json_wire_protocol/#sessionsessionidexecute +// https://www.selenium.dev/documentation/legacy/json_wire_protocol/#sessionsessionidexecute_async class Script { public: static base::Optional