I'm sending this Intent after PSA: WebDriver changes now go through the API owners intent process<https://groups.google.com/a/chromium.org/g/blink-dev/c/evhwqSOr9NA/m/Z1SCVY8jAAAJ>. This change does not expose new user-facing API or change existing user-facing behavior. It does add new CDP and ChromeDriver endpoints that are used in WPT.
The contents of some fields here were based on PSA: Adding WebDriver commands for interacting with FedCM dialogs<https://groups.google.com/a/chromium.org/g/blink-dev/c/rsBIIyLnLeA/m/U2qVbOBEAAAJ>. Contact emails raphael.kubo.da.co...@intel.com<mailto:raphael.kubo.da.co...@intel.com>, juha.j.vai...@intel.com<mailto:juha.j.vai...@intel.com> Specification https://github.com/w3c/sensors/pull/470 Design doc https://docs.google.com/document/d/1JS2Wnyc9GiS_u1Ry3w4KsCyd51g8fm4RDEUcanZgzbM/edit?usp=sharing Summary This exposes WebDriver commands for creating, removing, querying and setting readings for so-called virtual sensors: sensors that do not depend on underlying hardware or operating system support and can be used for testing. Blink component Blink>Sensor<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ESensor> Motivation The Generic Sensor API specification has had an Automation section since 2018. It defined several WebDriver extension commands for adding/removing/querying/updating what it called "mock sensors". The idea was the same: allow testing sensor APIs without depending on the availability of said sensors. For a number of reasons (including some implementation-specific assumptions baked into the text), the previous version was never implemented, so testing the Generic Sensor APIs in WPT relied on Mojo interfaces being implemented as JS mocks, which made it pretty hard for other engines to run the same tests in case they wanted to implement this API. We've rewritten the relevant section in the spec (including calling "mock sensors" "virtual sensors" now following WebAuthn's terminology), implemented the new version and converted the existing web tests to make use of them. TAG review None TAG review status Not applicable Risks Interoperability and Compatibility This feature implements WebDriver extension commands in ChromeDriver that are used in web-platform-tests and can also be used by ChromeDriver users. This feature is therefore not web-exposed, but it does intend to help increase adoption of the spec by making it possible for any implementation to run the existing web tests without having to use JS mocks that are heavily Mojo-based although not dependent on Mojo. Gecko: No signal Gecko does not implement the Generic Sensor APIs. WebKit: No signal WebKit does not implement the Generic Sensor APIs. Web developers: No signals Other signals: This allows closing https://github.com/web-platform-tests/wpt/issues/9686 Ergonomics n/a Activation The new WebDriver extension commands are exposed in ChromeDriver's Python library. Future work includes exposing them to Selenium, Playwright and/or Puppeteer. Furthermore, while not precisely an activation risk, as explained in the design doc using these features together with the existing DeviceOrientation CDP domain (optionally with DevTools frontend implementation) can lead to some confusion due to the way the Device Orientation spec is implemented in Chromium (it is based on the Generic Sensor code under the hood). If the DeviceOrientation.setDeviceOrientationOverride() CDP command is called, some virtual sensor types will not have an effect in Blink; conversely, if some virtual sensor types are created without the aforementioned CDP command being invoked, they can be used to control the Device Orientation/Motion implementation in Blink. Security n/a, this is exposed through WebDriver. There have been changes to the Generic Sensor code in //content and //services, described in the design doc and under review by reillyg@. WebView application risks Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? None Debuggability This is a debugging feature. It exposes new ChromeDriver and CDP endpoints, but the DevTools frontend has not been touched. Is this feature fully tested by web-platform-tests<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>? Yes Requires code in //chrome? True: //chrome/test/chromedriver Tracking bug https://bugs.chromium.org/p/chromium/issues/detail?id=1278377 Estimated milestones Shipping on desktop 118 Shipping on Android 118 Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5173284500406272 This intent message was generated by Chrome Platform Status<https://chromestatus.com/>. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DS0PR11MB73342BF79AC2F73824270FFCFE14A%40DS0PR11MB7334.namprd11.prod.outlook.com.