From 572b70bc24e0bb411d4fe724acd8d82b923d02da Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Sat, 15 Mar 2025 16:09:10 +0100 Subject: [PATCH 1/8] Update bidi with new BCD keys --- features/webdriver-bidi.yml | 88 ++++++++-- features/webdriver-bidi.yml.dist | 288 ++++++++++++++++++++++++++++++- 2 files changed, 362 insertions(+), 14 deletions(-) diff --git a/features/webdriver-bidi.yml b/features/webdriver-bidi.yml index 61f2962f92d..f76cbacdeee 100644 --- a/features/webdriver-bidi.yml +++ b/features/webdriver-bidi.yml @@ -1,17 +1,79 @@ name: WebDriver BiDi description: WebDriver BiDi is a bidirectional protocol that allows a WebDriver client and a browser to communicate with each other. spec: https://w3c.github.io/webdriver-bidi/ -# WebDriver BiDi is not in BCD, see https://github.com/mdn/browser-compat-data/issues/20207 -# The browser releases listed here are from: -# https://developer.chrome.com/blog/webdriver-bidi-2023 -# https://bugs.chromium.org/p/chromedriver/issues/detail?id=4016 -# https://bugzilla.mozilla.org/show_bug.cgi?id=1753997 group: webdriver -status: - baseline: false - support: - chrome: "106" - chrome_android: "106" - edge: "106" - firefox: "102" - firefox_android: "102" +compat_features: + - webdriver.bidi.browser + - webdriver.bidi.browser.close + - webdriver.bidi.browser.createUserContext + - webdriver.bidi.browser.getClientWindows + - webdriver.bidi.browser.getUserContexts + - webdriver.bidi.browser.removeUserContext + - webdriver.bidi.browsingContext + - webdriver.bidi.browsingContext.activate + - webdriver.bidi.browsingContext.captureScreenshot + - webdriver.bidi.browsingContext.close + - webdriver.bidi.browsingContext.contextCreated_event + - webdriver.bidi.browsingContext.contextDestroyed_event + - webdriver.bidi.browsingContext.create + - webdriver.bidi.browsingContext.domContentLoaded_event + - webdriver.bidi.browsingContext.fragmentNavigated_event + - webdriver.bidi.browsingContext.getTree + - webdriver.bidi.browsingContext.handleUserPrompt + - webdriver.bidi.browsingContext.load_event + - webdriver.bidi.browsingContext.locateNodes + - webdriver.bidi.browsingContext.navigate + - webdriver.bidi.browsingContext.navigationCommitted_event + - webdriver.bidi.browsingContext.navigationFailed_event + - webdriver.bidi.browsingContext.navigationStarted_event + - webdriver.bidi.browsingContext.print + - webdriver.bidi.browsingContext.reload + - webdriver.bidi.browsingContext.setViewport + - webdriver.bidi.browsingContext.traverseHistory + - webdriver.bidi.browsingContext.userPromptClosed_event + - webdriver.bidi.browsingContext.userPromptOpened_event + - webdriver.bidi.input + - webdriver.bidi.input.performActions + - webdriver.bidi.input.releaseActions + - webdriver.bidi.input.setFiles + - webdriver.bidi.log + - webdriver.bidi.log.entryAdded_event + - webdriver.bidi.network + - webdriver.bidi.network.addIntercept + - webdriver.bidi.network.authRequired_event + - webdriver.bidi.network.beforeRequestSent_event + - webdriver.bidi.network.continueRequest + - webdriver.bidi.network.continueResponse + - webdriver.bidi.network.continueWithAuth + - webdriver.bidi.network.failRequest + - webdriver.bidi.network.fetchError_event + - webdriver.bidi.network.provideResponse + - webdriver.bidi.network.removeIntercept + - webdriver.bidi.network.responseCompleted_event + - webdriver.bidi.network.responseStarted_event + - webdriver.bidi.network.setCacheBehavior + - webdriver.bidi.permission + - webdriver.bidi.permission.setPermission + - webdriver.bidi.script + - webdriver.bidi.script.addPreloadScript + - webdriver.bidi.script.callFunction + - webdriver.bidi.script.disown + - webdriver.bidi.script.evaluate + - webdriver.bidi.script.getRealms + - webdriver.bidi.script.message_event + - webdriver.bidi.script.realmCreated_event + - webdriver.bidi.script.realmDestroyed_event + - webdriver.bidi.script.removePreloadScript + - webdriver.bidi.session + - webdriver.bidi.session.end + - webdriver.bidi.session.new + - webdriver.bidi.session.status + - webdriver.bidi.session.subscribe + - webdriver.bidi.session.unsubscribe + - webdriver.bidi.storage + - webdriver.bidi.storage.deleteCookies + - webdriver.bidi.storage.getCookies + - webdriver.bidi.storage.setCookie + - webdriver.bidi.webExtension + - webdriver.bidi.webExtension.install + - webdriver.bidi.webExtension.uninstall diff --git a/features/webdriver-bidi.yml.dist b/features/webdriver-bidi.yml.dist index d8851e1da01..426b2771306 100644 --- a/features/webdriver-bidi.yml.dist +++ b/features/webdriver-bidi.yml.dist @@ -1,4 +1,290 @@ # Generated from: webdriver-bidi.yml # Do not edit this file by hand. Edit the source file instead! -{} +status: + baseline: false + support: {} +compat_features: + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "92" + # firefox_android: "92" + - webdriver.bidi.session + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "94" + # firefox_android: "94" + - webdriver.bidi.log + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "97" + # firefox_android: "97" + - webdriver.bidi.session.status + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "99" + # firefox_android: "99" + - webdriver.bidi.browsingContext + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "100" + # firefox_android: "100" + - webdriver.bidi.browsingContext.getTree + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "106" + # firefox_android: "106" + - webdriver.bidi.browsingContext.load_event + - webdriver.bidi.script + - webdriver.bidi.script.callFunction + - webdriver.bidi.script.disown + - webdriver.bidi.script.evaluate + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "108" + # firefox_android: "108" + - webdriver.bidi.browsingContext.domContentLoaded_event + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "110" + # firefox_android: "110" + - webdriver.bidi.network + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "112" + # firefox_android: "112" + - webdriver.bidi.script.removePreloadScript + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "113" + # firefox_android: "113" + - webdriver.bidi.input + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "114" + # firefox_android: "114" + - webdriver.bidi.input.performActions + - webdriver.bidi.input.releaseActions + - webdriver.bidi.script.addPreloadScript + - webdriver.bidi.script.message_event + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "117" + # firefox_android: "117" + - webdriver.bidi.browser + - webdriver.bidi.browsingContext.fragmentNavigated_event + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "118" + # firefox_android: "118" + - webdriver.bidi.browsingContext.activate + - webdriver.bidi.network.removeIntercept + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "119" + # firefox_android: "119" + - webdriver.bidi.browsingContext.navigationStarted_event + - webdriver.bidi.script.realmDestroyed_event + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "123" + # firefox_android: "123" + - webdriver.bidi.network.failRequest + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "124" + # firefox_android: "124" + - webdriver.bidi.browser.createUserContext + - webdriver.bidi.browser.getUserContexts + - webdriver.bidi.storage + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "126" + # firefox_android: "126" + - webdriver.bidi.storage.deleteCookies + - webdriver.bidi.storage.getCookies + - webdriver.bidi.storage.setCookie + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "127" + # firefox_android: "127" + - webdriver.bidi.permission + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "128" + # firefox_android: "128" + - webdriver.bidi.permission.setPermission + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "129" + # firefox_android: "129" + - webdriver.bidi.browser.close + - webdriver.bidi.browser.removeUserContext + - webdriver.bidi.browsingContext.close + - webdriver.bidi.browsingContext.handleUserPrompt + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "136" + # firefox_android: "136" + - webdriver.bidi.session.subscribe + - webdriver.bidi.session.unsubscribe + + # baseline: false + # support: + # chrome: "131" + # chrome_android: "131" + # edge: "131" + # firefox: "135" + # firefox_android: "135" + - webdriver.bidi.browsingContext.captureScreenshot + + # baseline: false + # support: + # chrome: "132" + # chrome_android: "132" + # edge: "132" + # firefox: "130" + # firefox_android: "130" + - webdriver.bidi.network.setCacheBehavior + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + - webdriver.bidi.browsingContext.contextCreated_event + - webdriver.bidi.browsingContext.contextDestroyed_event + - webdriver.bidi.browsingContext.create + - webdriver.bidi.browsingContext.locateNodes + - webdriver.bidi.browsingContext.navigate + - webdriver.bidi.browsingContext.navigationCommitted_event + - webdriver.bidi.browsingContext.navigationFailed_event + - webdriver.bidi.browsingContext.reload + - webdriver.bidi.browsingContext.setViewport + - webdriver.bidi.browsingContext.traverseHistory + - webdriver.bidi.browsingContext.userPromptClosed_event + - webdriver.bidi.browsingContext.userPromptOpened_event + - webdriver.bidi.input.setFiles + - webdriver.bidi.log.entryAdded_event + - webdriver.bidi.network.continueWithAuth + - webdriver.bidi.script.getRealms + - webdriver.bidi.script.realmCreated_event + - webdriver.bidi.session.new + + # baseline: false + # support: + # chrome: "133" + # chrome_android: "133" + # edge: "133" + - webdriver.bidi.network.fetchError_event + + # baseline: false + # support: + # firefox: "122" + # firefox_android: "122" + - webdriver.bidi.network.authRequired_event + + # baseline: false + # support: + # firefox: "134" + # firefox_android: "134" + - webdriver.bidi.browser.getClientWindows + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: {} + - webdriver.bidi.browsingContext.print + - webdriver.bidi.network.addIntercept + - webdriver.bidi.network.beforeRequestSent_event + - webdriver.bidi.network.continueRequest + - webdriver.bidi.network.continueResponse + - webdriver.bidi.network.provideResponse + - webdriver.bidi.network.responseCompleted_event + - webdriver.bidi.network.responseStarted_event + - webdriver.bidi.session.end + - webdriver.bidi.webExtension + - webdriver.bidi.webExtension.install + - webdriver.bidi.webExtension.uninstall From 8403df0e187b44c7660be6e0951ec73f03e635cf Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Tue, 27 May 2025 18:05:55 +0200 Subject: [PATCH 2/8] Lot's of details --- features/webdriver-bidi.yml | 156 +++++++++++++++++++++++++------ features/webdriver-bidi.yml.dist | 20 +++- 2 files changed, 144 insertions(+), 32 deletions(-) diff --git a/features/webdriver-bidi.yml b/features/webdriver-bidi.yml index f76cbacdeee..11035a343a6 100644 --- a/features/webdriver-bidi.yml +++ b/features/webdriver-bidi.yml @@ -2,43 +2,148 @@ name: WebDriver BiDi description: WebDriver BiDi is a bidirectional protocol that allows a WebDriver client and a browser to communicate with each other. spec: https://w3c.github.io/webdriver-bidi/ group: webdriver +# WebDriver BiDi has many BCD keys but, for now, we're not trying to track +# them all as individual features, even if some parts could be standalone +# (e.g. webdriver.bidi.webExtension or webdriver.bidi.network). +# Instead, we're pinning this feature to a few keys in compute_from below, +# to track initial support for the feature. Later, we can move some of the +# individual keys to other features as needed. +status: + compute_from: + # The following keys are a subset of the compat_features below. + # They are the most critical keys for using the WebDriver BiDi protocol. + + # BiDi is generally supported in Firefox and Chromium, however, not all + # of the keys below are fully supported in BCD. Some of them are marked + # as partially supported, which makes them unsupported in web-features. + # See https://github.com/web-platform-dx/web-features/issues/915. + # As a result, we're commenting these keys out for now, even though they + # should really be part of the compute_from list. + + # - webdriver.bidi.session.new + # - webdriver.bidi.session.end + - webdriver.bidi.session.status + - webdriver.bidi.session.subscribe + - webdriver.bidi.session.unsubscribe + - webdriver.bidi.script.evaluate + - webdriver.bidi.script.callFunction + - webdriver.bidi.browser.close + # - webdriver.bidi.browsingContext.navigate + # - webdriver.bidi.browsingContext.create + - webdriver.bidi.browsingContext.load_event + # - webdriver.bidi.browsingContext.getTree + - webdriver.bidi.browsingContext.close + # - webdriver.bidi.browsingContext.contextCreated_event + # - webdriver.bidi.browsingContext.contextDestroyed_event + - webdriver.bidi.input.performActions + - webdriver.bidi.input.releaseActions + compat_features: + # Below is the entire list of current BCD keys for WebDriver BiDi. + # The keys are grouped by modules, and commentary is provided + # on which keys are critical, important, or optional for using + # the WebDriver BiDi protocol in tests. + + # --------------------- + # Session module. + - webdriver.bidi.session + # Critical. Every test needs a session. + - webdriver.bidi.session.new + - webdriver.bidi.session.end + - webdriver.bidi.session.status + # Critical. All BiDi events go through these. + - webdriver.bidi.session.subscribe + - webdriver.bidi.session.unsubscribe + + # --------------------- + # Script module. + - webdriver.bidi.script + # Critical. Run JS on the tested page. + - webdriver.bidi.script.evaluate + - webdriver.bidi.script.callFunction + # Optional. + - webdriver.bidi.script.addPreloadScript + - webdriver.bidi.script.disown + - webdriver.bidi.script.getRealms + - webdriver.bidi.script.message_event + - webdriver.bidi.script.realmCreated_event + - webdriver.bidi.script.realmDestroyed_event + - webdriver.bidi.script.removePreloadScript + + # --------------------- + # Browser module. - webdriver.bidi.browser + # Important. To close the browser window after a test. - webdriver.bidi.browser.close + # Optional. To manage user contexts, such as containers in firefox. - webdriver.bidi.browser.createUserContext - - webdriver.bidi.browser.getClientWindows - webdriver.bidi.browser.getUserContexts - webdriver.bidi.browser.removeUserContext + # Optional. To get top level windows. + - webdriver.bidi.browser.getClientWindows + + # --------------------- + # Browsing context module. - webdriver.bidi.browsingContext - - webdriver.bidi.browsingContext.activate - - webdriver.bidi.browsingContext.captureScreenshot + # Critical. To navigate to a page. + - webdriver.bidi.browsingContext.navigate + # Critical. To create a new tab. + - webdriver.bidi.browsingContext.create + # Critical. To know when the page has loaded. + - webdriver.bidi.browsingContext.load_event + # Critical. To list tabs, iframes, etc. + - webdriver.bidi.browsingContext.getTree + # Important. To close a tab. - webdriver.bidi.browsingContext.close + # Important. To open other tabs, which can't be done without events. - webdriver.bidi.browsingContext.contextCreated_event - webdriver.bidi.browsingContext.contextDestroyed_event - - webdriver.bidi.browsingContext.create + # Optional. To simulate user activation, for some web features that need it. + - webdriver.bidi.browsingContext.activate + # Optional. + - webdriver.bidi.browsingContext.captureScreenshot + # Optional. Nice event to listen to, but can also use the load event. - webdriver.bidi.browsingContext.domContentLoaded_event + # Optional. Useful for test frameworks mostly. - webdriver.bidi.browsingContext.fragmentNavigated_event - - webdriver.bidi.browsingContext.getTree - - webdriver.bidi.browsingContext.handleUserPrompt - - webdriver.bidi.browsingContext.load_event - - webdriver.bidi.browsingContext.locateNodes - - webdriver.bidi.browsingContext.navigate - webdriver.bidi.browsingContext.navigationCommitted_event - webdriver.bidi.browsingContext.navigationFailed_event - webdriver.bidi.browsingContext.navigationStarted_event + # Optional. To manage dialog windows. + - webdriver.bidi.browsingContext.handleUserPrompt + - webdriver.bidi.browsingContext.userPromptClosed_event + - webdriver.bidi.browsingContext.userPromptOpened_event + # Optional. To get nodes via css selectors, etc. But can also be done via JS. + - webdriver.bidi.browsingContext.locateNodes + # Optional. - webdriver.bidi.browsingContext.print + # Optional, same as navigate. - webdriver.bidi.browsingContext.reload + # Optional. Nice to have for responsive design testing. - webdriver.bidi.browsingContext.setViewport + # Optional. - webdriver.bidi.browsingContext.traverseHistory - - webdriver.bidi.browsingContext.userPromptClosed_event - - webdriver.bidi.browsingContext.userPromptOpened_event + + # --------------------- + # Input module. - webdriver.bidi.input + # Critical. To simulate user input. + # (although this can also be done by eval'ing JS) - webdriver.bidi.input.performActions - webdriver.bidi.input.releaseActions + # Optional. For file input only. - webdriver.bidi.input.setFiles + + # --------------------- + # Log module. - webdriver.bidi.log + # Optional. - webdriver.bidi.log.entryAdded_event + + # --------------------- + # Network module. - webdriver.bidi.network + # Optional. To mock responses, etc. - webdriver.bidi.network.addIntercept - webdriver.bidi.network.authRequired_event - webdriver.bidi.network.beforeRequestSent_event @@ -52,28 +157,25 @@ compat_features: - webdriver.bidi.network.responseCompleted_event - webdriver.bidi.network.responseStarted_event - webdriver.bidi.network.setCacheBehavior + + # --------------------- + # Permission module. - webdriver.bidi.permission + # Optional - webdriver.bidi.permission.setPermission - - webdriver.bidi.script - - webdriver.bidi.script.addPreloadScript - - webdriver.bidi.script.callFunction - - webdriver.bidi.script.disown - - webdriver.bidi.script.evaluate - - webdriver.bidi.script.getRealms - - webdriver.bidi.script.message_event - - webdriver.bidi.script.realmCreated_event - - webdriver.bidi.script.realmDestroyed_event - - webdriver.bidi.script.removePreloadScript - - webdriver.bidi.session - - webdriver.bidi.session.end - - webdriver.bidi.session.new - - webdriver.bidi.session.status - - webdriver.bidi.session.subscribe - - webdriver.bidi.session.unsubscribe + + # --------------------- + # Storage module. - webdriver.bidi.storage + # Optional. - webdriver.bidi.storage.deleteCookies - webdriver.bidi.storage.getCookies - webdriver.bidi.storage.setCookie + + # --------------------- + # WebExtension module. - webdriver.bidi.webExtension + # Optional. Useful in some niche cases./ + # For example, Cypress uses it to install web extensions during tests. - webdriver.bidi.webExtension.install - webdriver.bidi.webExtension.uninstall diff --git a/features/webdriver-bidi.yml.dist b/features/webdriver-bidi.yml.dist index 426b2771306..0c6a3c8198c 100644 --- a/features/webdriver-bidi.yml.dist +++ b/features/webdriver-bidi.yml.dist @@ -3,7 +3,12 @@ status: baseline: false - support: {} + support: + chrome: "126" + chrome_android: "126" + edge: "126" + firefox: "136" + firefox_android: "136" compat_features: # baseline: false # support: @@ -108,7 +113,6 @@ compat_features: # firefox_android: "114" - webdriver.bidi.input.performActions - webdriver.bidi.input.releaseActions - - webdriver.bidi.script.addPreloadScript - webdriver.bidi.script.message_event # baseline: false @@ -202,6 +206,7 @@ compat_features: - webdriver.bidi.browsingContext.close - webdriver.bidi.browsingContext.handleUserPrompt + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "126" @@ -209,6 +214,7 @@ compat_features: # edge: "126" # firefox: "136" # firefox_android: "136" + - webdriver.bidi.script.addPreloadScript - webdriver.bidi.session.subscribe - webdriver.bidi.session.unsubscribe @@ -273,7 +279,13 @@ compat_features: # firefox_android: "134" - webdriver.bidi.browser.getClientWindows - # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # firefox: "137" + # firefox_android: "137" + - webdriver.bidi.webExtension + - webdriver.bidi.webExtension.uninstall + # baseline: false # support: {} - webdriver.bidi.browsingContext.print @@ -285,6 +297,4 @@ compat_features: - webdriver.bidi.network.responseCompleted_event - webdriver.bidi.network.responseStarted_event - webdriver.bidi.session.end - - webdriver.bidi.webExtension - webdriver.bidi.webExtension.install - - webdriver.bidi.webExtension.uninstall From 131810aaf078ed1d76ec00dc94ea68dc1d3dc5cd Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Tue, 27 May 2025 18:08:45 +0200 Subject: [PATCH 3/8] format --- features/webdriver-bidi.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/webdriver-bidi.yml b/features/webdriver-bidi.yml index 11035a343a6..c7bbaa27a4f 100644 --- a/features/webdriver-bidi.yml +++ b/features/webdriver-bidi.yml @@ -19,7 +19,7 @@ status: # See https://github.com/web-platform-dx/web-features/issues/915. # As a result, we're commenting these keys out for now, even though they # should really be part of the compute_from list. - + # - webdriver.bidi.session.new # - webdriver.bidi.session.end - webdriver.bidi.session.status @@ -123,7 +123,7 @@ compat_features: - webdriver.bidi.browsingContext.setViewport # Optional. - webdriver.bidi.browsingContext.traverseHistory - + # --------------------- # Input module. - webdriver.bidi.input From bc95732da0e527f88fee2cc8a59e37b1065872a0 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Tue, 15 Jul 2025 15:45:06 +0200 Subject: [PATCH 4/8] Added new keys --- features/webdriver-bidi.yml | 267 ++++++++++++++++- features/webdriver-bidi.yml.dist | 497 ++++++++++++++++++++++++++++--- 2 files changed, 705 insertions(+), 59 deletions(-) diff --git a/features/webdriver-bidi.yml b/features/webdriver-bidi.yml index c7bbaa27a4f..330c4f582f6 100644 --- a/features/webdriver-bidi.yml +++ b/features/webdriver-bidi.yml @@ -11,15 +11,7 @@ group: webdriver status: compute_from: # The following keys are a subset of the compat_features below. - # They are the most critical keys for using the WebDriver BiDi protocol. - - # BiDi is generally supported in Firefox and Chromium, however, not all - # of the keys below are fully supported in BCD. Some of them are marked - # as partially supported, which makes them unsupported in web-features. - # See https://github.com/web-platform-dx/web-features/issues/915. - # As a result, we're commenting these keys out for now, even though they - # should really be part of the compute_from list. - + # They are the most critical keys for using the WebDriver BiDi protocol # - webdriver.bidi.session.new # - webdriver.bidi.session.end - webdriver.bidi.session.status @@ -28,10 +20,10 @@ status: - webdriver.bidi.script.evaluate - webdriver.bidi.script.callFunction - webdriver.bidi.browser.close - # - webdriver.bidi.browsingContext.navigate - # - webdriver.bidi.browsingContext.create + - webdriver.bidi.browsingContext.navigate + - webdriver.bidi.browsingContext.create - webdriver.bidi.browsingContext.load_event - # - webdriver.bidi.browsingContext.getTree + - webdriver.bidi.browsingContext.getTree - webdriver.bidi.browsingContext.close # - webdriver.bidi.browsingContext.contextCreated_event # - webdriver.bidi.browsingContext.contextDestroyed_event @@ -39,7 +31,7 @@ status: - webdriver.bidi.input.releaseActions compat_features: - # Below is the entire list of current BCD keys for WebDriver BiDi. + # Below is the entire list of BCD keys for WebDriver BiDi. # The keys are grouped by modules, and commentary is provided # on which keys are critical, important, or optional for using # the WebDriver BiDi protocol in tests. @@ -49,26 +41,66 @@ compat_features: - webdriver.bidi.session # Critical. Every test needs a session. - webdriver.bidi.session.new + - webdriver.bidi.session.new.capabilities_parameter - webdriver.bidi.session.end - webdriver.bidi.session.status # Critical. All BiDi events go through these. - webdriver.bidi.session.subscribe + - webdriver.bidi.session.subscribe.contexts_parameter + - webdriver.bidi.session.subscribe.events_parameter + - webdriver.bidi.session.subscribe.userContexts_parameter - webdriver.bidi.session.unsubscribe + - webdriver.bidi.session.unsubscribe.contexts_parameter + - webdriver.bidi.session.unsubscribe.events_parameter # --------------------- # Script module. - webdriver.bidi.script # Critical. Run JS on the tested page. - webdriver.bidi.script.evaluate + - webdriver.bidi.script.evaluate.awaitPromise_parameter + - webdriver.bidi.script.evaluate.expression_parameter + - webdriver.bidi.script.evaluate.resultOwnership_parameter + - webdriver.bidi.script.evaluate.serializationOptions_parameter + - webdriver.bidi.script.evaluate.target_parameter + - webdriver.bidi.script.evaluate.userActivation_parameter - webdriver.bidi.script.callFunction + - webdriver.bidi.script.callFunction.arguments_parameter + - webdriver.bidi.script.callFunction.awaitPromise_parameter + - webdriver.bidi.script.callFunction.functionDeclaration_parameter + - webdriver.bidi.script.callFunction.resultOwnership_parameter + - webdriver.bidi.script.callFunction.serializationOptions_parameter + - webdriver.bidi.script.callFunction.target_parameter + - webdriver.bidi.script.callFunction.this_parameter + - webdriver.bidi.script.callFunction.userActivation_parameter # Optional. - webdriver.bidi.script.addPreloadScript + - webdriver.bidi.script.addPreloadScript.arguments_parameter + - webdriver.bidi.script.addPreloadScript.contexts_parameter + - webdriver.bidi.script.addPreloadScript.functionDeclaration_parameter + - webdriver.bidi.script.addPreloadScript.sandbox_parameter + - webdriver.bidi.script.addPreloadScript.userContexts_parameter - webdriver.bidi.script.disown + - webdriver.bidi.script.disown.handles_parameter + - webdriver.bidi.script.disown.target_parameter - webdriver.bidi.script.getRealms + - webdriver.bidi.script.getRealms.context_parameter + - webdriver.bidi.script.getRealms.type_parameter - webdriver.bidi.script.message_event + - webdriver.bidi.script.message_event.channel_parameter + - webdriver.bidi.script.message_event.data_parameter + - webdriver.bidi.script.message_event.source_parameter - webdriver.bidi.script.realmCreated_event + - webdriver.bidi.script.realmCreated_event.context_parameter + - webdriver.bidi.script.realmCreated_event.origin_parameter + - webdriver.bidi.script.realmCreated_event.owners_parameter + - webdriver.bidi.script.realmCreated_event.realm_parameter + - webdriver.bidi.script.realmCreated_event.sandbox_parameter + - webdriver.bidi.script.realmCreated_event.type_parameter - webdriver.bidi.script.realmDestroyed_event + - webdriver.bidi.script.realmDestroyed_event.realm_parameter - webdriver.bidi.script.removePreloadScript + - webdriver.bidi.script.removePreloadScript.script_parameter # --------------------- # Browser module. @@ -77,8 +109,11 @@ compat_features: - webdriver.bidi.browser.close # Optional. To manage user contexts, such as containers in firefox. - webdriver.bidi.browser.createUserContext + - webdriver.bidi.browser.createUserContext.acceptInsecureCerts_parameter + - webdriver.bidi.browser.createUserContext.proxy_parameter - webdriver.bidi.browser.getUserContexts - webdriver.bidi.browser.removeUserContext + - webdriver.bidi.browser.removeUserContext.userContext_parameter # Optional. To get top level windows. - webdriver.bidi.browser.getClientWindows @@ -87,42 +122,151 @@ compat_features: - webdriver.bidi.browsingContext # Critical. To navigate to a page. - webdriver.bidi.browsingContext.navigate + - webdriver.bidi.browsingContext.navigate.context_parameter + - webdriver.bidi.browsingContext.navigate.url_parameter + - webdriver.bidi.browsingContext.navigate.wait_parameter # Critical. To create a new tab. - webdriver.bidi.browsingContext.create + - webdriver.bidi.browsingContext.create.background_parameter + - webdriver.bidi.browsingContext.create.referenceContext_parameter + - webdriver.bidi.browsingContext.create.type_parameter + - webdriver.bidi.browsingContext.create.userContext_parameter # Critical. To know when the page has loaded. - webdriver.bidi.browsingContext.load_event + - webdriver.bidi.browsingContext.load_event.context_parameter + - webdriver.bidi.browsingContext.load_event.navigation_parameter + - webdriver.bidi.browsingContext.load_event.timestamp_parameter + - webdriver.bidi.browsingContext.load_event.url_parameter # Critical. To list tabs, iframes, etc. - webdriver.bidi.browsingContext.getTree + - webdriver.bidi.browsingContext.getTree.maxDepth_parameter + - webdriver.bidi.browsingContext.getTree.root_parameter # Important. To close a tab. - webdriver.bidi.browsingContext.close + - webdriver.bidi.browsingContext.close.context_parameter + - webdriver.bidi.browsingContext.close.promptUnload_parameter # Important. To open other tabs, which can't be done without events. - webdriver.bidi.browsingContext.contextCreated_event + - webdriver.bidi.browsingContext.contextCreated_event.children_parameter + - webdriver.bidi.browsingContext.contextCreated_event.clientWindow_parameter + - webdriver.bidi.browsingContext.contextCreated_event.context_parameter + - webdriver.bidi.browsingContext.contextCreated_event.originalOpener_parameter + - webdriver.bidi.browsingContext.contextCreated_event.parent_parameter + - webdriver.bidi.browsingContext.contextCreated_event.url_parameter + - webdriver.bidi.browsingContext.contextCreated_event.userContext_parameter - webdriver.bidi.browsingContext.contextDestroyed_event + - webdriver.bidi.browsingContext.contextDestroyed_event.children_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.clientWindow_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.context_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.originalOpener_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.parent_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.url_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.userContext_parameter # Optional. To simulate user activation, for some web features that need it. - webdriver.bidi.browsingContext.activate + - webdriver.bidi.browsingContext.activate.context_parameter # Optional. - webdriver.bidi.browsingContext.captureScreenshot + - webdriver.bidi.browsingContext.captureScreenshot.clip_parameter + - webdriver.bidi.browsingContext.captureScreenshot.context_parameter + - webdriver.bidi.browsingContext.captureScreenshot.format_parameter + - webdriver.bidi.browsingContext.captureScreenshot.origin_parameter # Optional. Nice event to listen to, but can also use the load event. - webdriver.bidi.browsingContext.domContentLoaded_event + - webdriver.bidi.browsingContext.domContentLoaded_event.context_parameter + - webdriver.bidi.browsingContext.domContentLoaded_event.navigation_parameter + - webdriver.bidi.browsingContext.domContentLoaded_event.timestamp_parameter + - webdriver.bidi.browsingContext.domContentLoaded_event.url_parameter + # Optional. + - webdriver.bidi.browsingContext.downloadWillBegin_event + - webdriver.bidi.browsingContext.downloadWillBegin_event.context_parameter + - webdriver.bidi.browsingContext.downloadWillBegin_event.navigation_parameter + - webdriver.bidi.browsingContext.downloadWillBegin_event.suggestedFilename_parameter + - webdriver.bidi.browsingContext.downloadWillBegin_event.timestamp_parameter + - webdriver.bidi.browsingContext.downloadWillBegin_event.url_parameter # Optional. Useful for test frameworks mostly. - webdriver.bidi.browsingContext.fragmentNavigated_event + - webdriver.bidi.browsingContext.fragmentNavigated_event.context_parameter + - webdriver.bidi.browsingContext.fragmentNavigated_event.navigation_parameter + - webdriver.bidi.browsingContext.fragmentNavigated_event.timestamp_parameter + - webdriver.bidi.browsingContext.fragmentNavigated_event.url_parameter - webdriver.bidi.browsingContext.navigationCommitted_event + - webdriver.bidi.browsingContext.navigationCommitted_event.context_parameter + - webdriver.bidi.browsingContext.navigationCommitted_event.navigation_parameter + - webdriver.bidi.browsingContext.navigationCommitted_event.timestamp_parameter + - webdriver.bidi.browsingContext.navigationCommitted_event.url_parameter - webdriver.bidi.browsingContext.navigationFailed_event + - webdriver.bidi.browsingContext.navigationFailed_event.context_parameter + - webdriver.bidi.browsingContext.navigationFailed_event.navigation_parameter + - webdriver.bidi.browsingContext.navigationFailed_event.timestamp_parameter + - webdriver.bidi.browsingContext.navigationFailed_event.url_parameter - webdriver.bidi.browsingContext.navigationStarted_event + - webdriver.bidi.browsingContext.navigationStarted_event.context_parameter + - webdriver.bidi.browsingContext.navigationStarted_event.navigation_parameter + - webdriver.bidi.browsingContext.navigationStarted_event.timestamp_parameter + - webdriver.bidi.browsingContext.navigationStarted_event.url_parameter # Optional. To manage dialog windows. - webdriver.bidi.browsingContext.handleUserPrompt + - webdriver.bidi.browsingContext.handleUserPrompt.accept_parameter + - webdriver.bidi.browsingContext.handleUserPrompt.context_parameter + - webdriver.bidi.browsingContext.handleUserPrompt.userText_parameter - webdriver.bidi.browsingContext.userPromptClosed_event + - webdriver.bidi.browsingContext.userPromptClosed_event.accepted_parameter + - webdriver.bidi.browsingContext.userPromptClosed_event.context_parameter + - webdriver.bidi.browsingContext.userPromptClosed_event.type_parameter + - webdriver.bidi.browsingContext.userPromptClosed_event.userText_parameter - webdriver.bidi.browsingContext.userPromptOpened_event + - webdriver.bidi.browsingContext.userPromptOpened_event.context_parameter + - webdriver.bidi.browsingContext.userPromptOpened_event.defaultValue_parameter + - webdriver.bidi.browsingContext.userPromptOpened_event.handler_parameter + - webdriver.bidi.browsingContext.userPromptOpened_event.message_parameter + - webdriver.bidi.browsingContext.userPromptOpened_event.type_parameter + # ?? + - webdriver.bidi.browsingContext.historyUpdated_event + - webdriver.bidi.browsingContext.historyUpdated_event.context_parameter + - webdriver.bidi.browsingContext.historyUpdated_event.timestamp_parameter + - webdriver.bidi.browsingContext.historyUpdated_event.url_parameter # Optional. To get nodes via css selectors, etc. But can also be done via JS. - webdriver.bidi.browsingContext.locateNodes + - webdriver.bidi.browsingContext.locateNodes.context_parameter + - webdriver.bidi.browsingContext.locateNodes.locator_parameter + - webdriver.bidi.browsingContext.locateNodes.maxNodeCount_parameter + - webdriver.bidi.browsingContext.locateNodes.serializationOptions_parameter + - webdriver.bidi.browsingContext.locateNodes.startNodes_parameter # Optional. - webdriver.bidi.browsingContext.print + - webdriver.bidi.browsingContext.print.background_parameter + - webdriver.bidi.browsingContext.print.context_parameter + - webdriver.bidi.browsingContext.print.margin_parameter + - webdriver.bidi.browsingContext.print.orientation_parameter + - webdriver.bidi.browsingContext.print.pageRanges_parameter + - webdriver.bidi.browsingContext.print.page_parameter + - webdriver.bidi.browsingContext.print.scale_parameter + - webdriver.bidi.browsingContext.print.shrinkToFit_parameter # Optional, same as navigate. - webdriver.bidi.browsingContext.reload + - webdriver.bidi.browsingContext.reload.context_parameter + - webdriver.bidi.browsingContext.reload.ignoreCache_parameter + - webdriver.bidi.browsingContext.reload.wait_parameter # Optional. Nice to have for responsive design testing. - webdriver.bidi.browsingContext.setViewport + - webdriver.bidi.browsingContext.setViewport.context_parameter + - webdriver.bidi.browsingContext.setViewport.devicePixelRatio_parameter + - webdriver.bidi.browsingContext.setViewport.userContexts_parameter + - webdriver.bidi.browsingContext.setViewport.viewport_parameter # Optional. - webdriver.bidi.browsingContext.traverseHistory + - webdriver.bidi.browsingContext.traverseHistory.context_parameter + - webdriver.bidi.browsingContext.traverseHistory.delta_parameter + + # --------------------- + # Emulation module. + - webdriver.bidi.emulation + - webdriver.bidi.emulation.setGeolocationOverride + - webdriver.bidi.emulation.setGeolocationOverride.contexts_parameter + - webdriver.bidi.emulation.setGeolocationOverride.coordinates_parameter + - webdriver.bidi.emulation.setGeolocationOverride.error_parameter + - webdriver.bidi.emulation.setGeolocationOverride.userContexts_parameter # --------------------- # Input module. @@ -130,33 +274,122 @@ compat_features: # Critical. To simulate user input. # (although this can also be done by eval'ing JS) - webdriver.bidi.input.performActions + - webdriver.bidi.input.performActions.actions_parameter + - webdriver.bidi.input.performActions.context_parameter - webdriver.bidi.input.releaseActions + - webdriver.bidi.input.releaseActions.context_parameter # Optional. For file input only. - webdriver.bidi.input.setFiles + - webdriver.bidi.input.setFiles.context_parameter + - webdriver.bidi.input.setFiles.element_parameter + - webdriver.bidi.input.setFiles.files_parameter + - webdriver.bidi.input.fileDialogOpened_event + - webdriver.bidi.input.fileDialogOpened_event.context_parameter + - webdriver.bidi.input.fileDialogOpened_event.element_parameter + - webdriver.bidi.input.fileDialogOpened_event.multiple_parameter # --------------------- # Log module. - webdriver.bidi.log # Optional. - webdriver.bidi.log.entryAdded_event + - webdriver.bidi.log.entryAdded_event.args_parameter + - webdriver.bidi.log.entryAdded_event.level_parameter + - webdriver.bidi.log.entryAdded_event.method_parameter + - webdriver.bidi.log.entryAdded_event.source_parameter + - webdriver.bidi.log.entryAdded_event.stackTrace_parameter + - webdriver.bidi.log.entryAdded_event.text_parameter + - webdriver.bidi.log.entryAdded_event.timestamp_parameter + - webdriver.bidi.log.entryAdded_event.type_parameter # --------------------- # Network module. - webdriver.bidi.network # Optional. To mock responses, etc. - webdriver.bidi.network.addIntercept + - webdriver.bidi.network.addIntercept.contexts_parameter + - webdriver.bidi.network.addIntercept.phases_parameter + - webdriver.bidi.network.addIntercept.urlPatterns_parameter - webdriver.bidi.network.authRequired_event + - webdriver.bidi.network.authRequired_event.context_parameter + - webdriver.bidi.network.authRequired_event.intercepts_parameter + - webdriver.bidi.network.authRequired_event.isBlocked_parameter + - webdriver.bidi.network.authRequired_event.navigation_parameter + - webdriver.bidi.network.authRequired_event.redirectCount_parameter + - webdriver.bidi.network.authRequired_event.request_parameter + - webdriver.bidi.network.authRequired_event.response_parameter + - webdriver.bidi.network.authRequired_event.timestamp_parameter - webdriver.bidi.network.beforeRequestSent_event + - webdriver.bidi.network.beforeRequestSent_event.context_parameter + - webdriver.bidi.network.beforeRequestSent_event.initiator_parameter + - webdriver.bidi.network.beforeRequestSent_event.intercepts_parameter + - webdriver.bidi.network.beforeRequestSent_event.isBlocked_parameter + - webdriver.bidi.network.beforeRequestSent_event.navigation_parameter + - webdriver.bidi.network.beforeRequestSent_event.redirectCount_parameter + - webdriver.bidi.network.beforeRequestSent_event.request_parameter + - webdriver.bidi.network.beforeRequestSent_event.timestamp_parameter - webdriver.bidi.network.continueRequest + - webdriver.bidi.network.continueRequest.body_parameter + - webdriver.bidi.network.continueRequest.cookies_parameter + - webdriver.bidi.network.continueRequest.headers_parameter + - webdriver.bidi.network.continueRequest.method_parameter + - webdriver.bidi.network.continueRequest.request_parameter + - webdriver.bidi.network.continueRequest.url_parameter - webdriver.bidi.network.continueResponse + - webdriver.bidi.network.continueResponse.cookies_parameter + - webdriver.bidi.network.continueResponse.credentials_parameter + - webdriver.bidi.network.continueResponse.headers_parameter + - webdriver.bidi.network.continueResponse.reasonPhrase_parameter + - webdriver.bidi.network.continueResponse.request_parameter + - webdriver.bidi.network.continueResponse.statusCode_parameter - webdriver.bidi.network.continueWithAuth + - webdriver.bidi.network.continueWithAuth.request_parameter - webdriver.bidi.network.failRequest + - webdriver.bidi.network.failRequest.request_parameter - webdriver.bidi.network.fetchError_event + - webdriver.bidi.network.fetchError_event.context_parameter + - webdriver.bidi.network.fetchError_event.errorText_parameter + - webdriver.bidi.network.fetchError_event.intercepts_parameter + - webdriver.bidi.network.fetchError_event.isBlocked_parameter + - webdriver.bidi.network.fetchError_event.navigation_parameter + - webdriver.bidi.network.fetchError_event.redirectCount_parameter + - webdriver.bidi.network.fetchError_event.request_parameter + - webdriver.bidi.network.fetchError_event.timestamp_parameter - webdriver.bidi.network.provideResponse + - webdriver.bidi.network.provideResponse.body_parameter + - webdriver.bidi.network.provideResponse.cookies_parameter + - webdriver.bidi.network.provideResponse.headers_parameter + - webdriver.bidi.network.provideResponse.reasonPhrase_parameter + - webdriver.bidi.network.provideResponse.request_parameter + - webdriver.bidi.network.provideResponse.statusCode_parameter - webdriver.bidi.network.removeIntercept + - webdriver.bidi.network.removeIntercept.intercept_parameter - webdriver.bidi.network.responseCompleted_event + - webdriver.bidi.network.responseCompleted_event.context_parameter + - webdriver.bidi.network.responseCompleted_event.intercepts_parameter + - webdriver.bidi.network.responseCompleted_event.isBlocked_parameter + - webdriver.bidi.network.responseCompleted_event.navigation_parameter + - webdriver.bidi.network.responseCompleted_event.redirectCount_parameter + - webdriver.bidi.network.responseCompleted_event.request_parameter + - webdriver.bidi.network.responseCompleted_event.response_parameter + - webdriver.bidi.network.responseCompleted_event.timestamp_parameter - webdriver.bidi.network.responseStarted_event + - webdriver.bidi.network.responseStarted_event.context_parameter + - webdriver.bidi.network.responseStarted_event.intercepts_parameter + - webdriver.bidi.network.responseStarted_event.isBlocked_parameter + - webdriver.bidi.network.responseStarted_event.navigation_parameter + - webdriver.bidi.network.responseStarted_event.redirectCount_parameter + - webdriver.bidi.network.responseStarted_event.request_parameter + - webdriver.bidi.network.responseStarted_event.response_parameter + - webdriver.bidi.network.responseStarted_event.timestamp_parameter + # Optional. Cache behavior. - webdriver.bidi.network.setCacheBehavior + - webdriver.bidi.network.setCacheBehavior.cacheBehavior_parameter + - webdriver.bidi.network.setCacheBehavior.contexts_parameter + # ?? + - webdriver.bidi.network.disownData + # ?? + - webdriver.bidi.network.getData # --------------------- # Permission module. @@ -169,8 +402,14 @@ compat_features: - webdriver.bidi.storage # Optional. - webdriver.bidi.storage.deleteCookies + - webdriver.bidi.storage.deleteCookies.filter_parameter + - webdriver.bidi.storage.deleteCookies.partition_parameter - webdriver.bidi.storage.getCookies + - webdriver.bidi.storage.getCookies.filter_parameter + - webdriver.bidi.storage.getCookies.partition_parameter - webdriver.bidi.storage.setCookie + - webdriver.bidi.storage.setCookie.cookie_parameter + - webdriver.bidi.storage.setCookie.partition_parameter # --------------------- # WebExtension module. @@ -178,4 +417,6 @@ compat_features: # Optional. Useful in some niche cases./ # For example, Cypress uses it to install web extensions during tests. - webdriver.bidi.webExtension.install + - webdriver.bidi.webExtension.install.extensionData_parameter - webdriver.bidi.webExtension.uninstall + - webdriver.bidi.webExtension.uninstall.extension_parameter diff --git a/features/webdriver-bidi.yml.dist b/features/webdriver-bidi.yml.dist index 0c6a3c8198c..ec5d7920d1c 100644 --- a/features/webdriver-bidi.yml.dist +++ b/features/webdriver-bidi.yml.dist @@ -7,8 +7,6 @@ status: chrome: "126" chrome_android: "126" edge: "126" - firefox: "136" - firefox_android: "136" compat_features: # baseline: false # support: @@ -19,6 +17,20 @@ compat_features: # firefox_android: "92" - webdriver.bidi.session + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "93" + # firefox_android: "93" + - webdriver.bidi.session.subscribe + - webdriver.bidi.session.subscribe.contexts_parameter + - webdriver.bidi.session.subscribe.events_parameter + - webdriver.bidi.session.unsubscribe + - webdriver.bidi.session.unsubscribe.contexts_parameter + - webdriver.bidi.session.unsubscribe.events_parameter + # baseline: false # support: # chrome: "126" @@ -27,6 +39,12 @@ compat_features: # firefox: "94" # firefox_android: "94" - webdriver.bidi.log + - webdriver.bidi.log.entryAdded_event + - webdriver.bidi.log.entryAdded_event.level_parameter + - webdriver.bidi.log.entryAdded_event.method_parameter + - webdriver.bidi.log.entryAdded_event.text_parameter + - webdriver.bidi.log.entryAdded_event.timestamp_parameter + - webdriver.bidi.log.entryAdded_event.type_parameter # baseline: false # support: @@ -53,7 +71,25 @@ compat_features: # edge: "126" # firefox: "100" # firefox_android: "100" + - webdriver.bidi.browsingContext.close + - webdriver.bidi.browsingContext.close.context_parameter - webdriver.bidi.browsingContext.getTree + - webdriver.bidi.browsingContext.getTree.maxDepth_parameter + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "101" + # firefox_android: "101" + - webdriver.bidi.browsingContext.create + - webdriver.bidi.browsingContext.create.type_parameter + - webdriver.bidi.browsingContext.getTree.root_parameter + - webdriver.bidi.browsingContext.navigate + - webdriver.bidi.browsingContext.navigate.context_parameter + - webdriver.bidi.browsingContext.navigate.url_parameter + - webdriver.bidi.browsingContext.navigate.wait_parameter # baseline: false # support: @@ -65,8 +101,32 @@ compat_features: - webdriver.bidi.browsingContext.load_event - webdriver.bidi.script - webdriver.bidi.script.callFunction + - webdriver.bidi.script.callFunction.arguments_parameter + - webdriver.bidi.script.callFunction.awaitPromise_parameter + - webdriver.bidi.script.callFunction.functionDeclaration_parameter + - webdriver.bidi.script.callFunction.resultOwnership_parameter + - webdriver.bidi.script.callFunction.target_parameter + - webdriver.bidi.script.callFunction.this_parameter - webdriver.bidi.script.disown + - webdriver.bidi.script.disown.handles_parameter + - webdriver.bidi.script.disown.target_parameter - webdriver.bidi.script.evaluate + - webdriver.bidi.script.evaluate.awaitPromise_parameter + - webdriver.bidi.script.evaluate.expression_parameter + - webdriver.bidi.script.evaluate.resultOwnership_parameter + - webdriver.bidi.script.evaluate.target_parameter + - webdriver.bidi.script.getRealms + - webdriver.bidi.script.getRealms.context_parameter + - webdriver.bidi.script.getRealms.type_parameter + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "107" + # firefox_android: "107" + - webdriver.bidi.browsingContext.create.referenceContext_parameter # baseline: false # support: @@ -76,6 +136,8 @@ compat_features: # firefox: "108" # firefox_android: "108" - webdriver.bidi.browsingContext.domContentLoaded_event + - webdriver.bidi.browsingContext.domContentLoaded_event.context_parameter + - webdriver.bidi.browsingContext.domContentLoaded_event.url_parameter # baseline: false # support: @@ -84,6 +146,8 @@ compat_features: # edge: "126" # firefox: "110" # firefox_android: "110" + - webdriver.bidi.browsingContext.domContentLoaded_event.timestamp_parameter + - webdriver.bidi.browsingContext.load_event.timestamp_parameter - webdriver.bidi.network # baseline: false @@ -93,7 +157,12 @@ compat_features: # edge: "126" # firefox: "112" # firefox_android: "112" + - webdriver.bidi.script.addPreloadScript + - webdriver.bidi.script.addPreloadScript.arguments_parameter + - webdriver.bidi.script.addPreloadScript.functionDeclaration_parameter + - webdriver.bidi.script.addPreloadScript.sandbox_parameter - webdriver.bidi.script.removePreloadScript + - webdriver.bidi.script.removePreloadScript.script_parameter # baseline: false # support: @@ -103,6 +172,11 @@ compat_features: # firefox: "113" # firefox_android: "113" - webdriver.bidi.input + - webdriver.bidi.input.performActions + - webdriver.bidi.input.performActions.actions_parameter + - webdriver.bidi.input.performActions.context_parameter + - webdriver.bidi.input.releaseActions + - webdriver.bidi.input.releaseActions.context_parameter # baseline: false # support: @@ -111,9 +185,12 @@ compat_features: # edge: "126" # firefox: "114" # firefox_android: "114" - - webdriver.bidi.input.performActions - - webdriver.bidi.input.releaseActions + - webdriver.bidi.script.callFunction.serializationOptions_parameter + - webdriver.bidi.script.evaluate.serializationOptions_parameter - webdriver.bidi.script.message_event + - webdriver.bidi.script.message_event.channel_parameter + - webdriver.bidi.script.message_event.data_parameter + - webdriver.bidi.script.message_event.source_parameter # baseline: false # support: @@ -123,7 +200,18 @@ compat_features: # firefox: "117" # firefox_android: "117" - webdriver.bidi.browser + - webdriver.bidi.browser.close + - webdriver.bidi.browsingContext.create.background_parameter + - webdriver.bidi.browsingContext.domContentLoaded_event.navigation_parameter - webdriver.bidi.browsingContext.fragmentNavigated_event + - webdriver.bidi.browsingContext.fragmentNavigated_event.context_parameter + - webdriver.bidi.browsingContext.fragmentNavigated_event.navigation_parameter + - webdriver.bidi.browsingContext.fragmentNavigated_event.timestamp_parameter + - webdriver.bidi.browsingContext.fragmentNavigated_event.url_parameter + - webdriver.bidi.browsingContext.load_event.navigation_parameter + - webdriver.bidi.browsingContext.setViewport + - webdriver.bidi.browsingContext.setViewport.context_parameter + - webdriver.bidi.browsingContext.setViewport.viewport_parameter # baseline: false # support: @@ -133,7 +221,16 @@ compat_features: # firefox: "118" # firefox_android: "118" - webdriver.bidi.browsingContext.activate + - webdriver.bidi.browsingContext.activate.context_parameter + - webdriver.bidi.browsingContext.userPromptOpened_event + - webdriver.bidi.browsingContext.userPromptOpened_event.context_parameter + - webdriver.bidi.browsingContext.userPromptOpened_event.message_parameter + - webdriver.bidi.browsingContext.userPromptOpened_event.type_parameter + - webdriver.bidi.network.addIntercept + - webdriver.bidi.network.addIntercept.phases_parameter + - webdriver.bidi.network.addIntercept.urlPatterns_parameter - webdriver.bidi.network.removeIntercept + - webdriver.bidi.network.removeIntercept.intercept_parameter # baseline: false # support: @@ -143,7 +240,49 @@ compat_features: # firefox: "119" # firefox_android: "119" - webdriver.bidi.browsingContext.navigationStarted_event + - webdriver.bidi.browsingContext.navigationStarted_event.context_parameter + - webdriver.bidi.browsingContext.navigationStarted_event.navigation_parameter + - webdriver.bidi.browsingContext.navigationStarted_event.timestamp_parameter + - webdriver.bidi.browsingContext.reload + - webdriver.bidi.browsingContext.reload.context_parameter + - webdriver.bidi.browsingContext.reload.wait_parameter + - webdriver.bidi.browsingContext.userPromptClosed_event + - webdriver.bidi.browsingContext.userPromptClosed_event.accepted_parameter + - webdriver.bidi.browsingContext.userPromptClosed_event.context_parameter + - webdriver.bidi.browsingContext.userPromptClosed_event.type_parameter + - webdriver.bidi.browsingContext.userPromptClosed_event.userText_parameter + - webdriver.bidi.script.realmCreated_event + - webdriver.bidi.script.realmCreated_event.context_parameter + - webdriver.bidi.script.realmCreated_event.origin_parameter + - webdriver.bidi.script.realmCreated_event.realm_parameter + - webdriver.bidi.script.realmCreated_event.sandbox_parameter + - webdriver.bidi.script.realmCreated_event.type_parameter - webdriver.bidi.script.realmDestroyed_event + - webdriver.bidi.script.realmDestroyed_event.realm_parameter + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "121" + # firefox_android: "121" + - webdriver.bidi.browsingContext.userPromptOpened_event.defaultValue_parameter + - webdriver.bidi.script.callFunction.userActivation_parameter + - webdriver.bidi.script.evaluate.userActivation_parameter + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "122" + # firefox_android: "122" + - webdriver.bidi.browsingContext.traverseHistory + - webdriver.bidi.browsingContext.traverseHistory.context_parameter + - webdriver.bidi.browsingContext.traverseHistory.delta_parameter + - webdriver.bidi.network.continueWithAuth + - webdriver.bidi.network.continueWithAuth.request_parameter # baseline: false # support: @@ -152,7 +291,13 @@ compat_features: # edge: "126" # firefox: "123" # firefox_android: "123" + - webdriver.bidi.browsingContext.locateNodes + - webdriver.bidi.browsingContext.locateNodes.context_parameter + - webdriver.bidi.browsingContext.locateNodes.maxNodeCount_parameter + - webdriver.bidi.browsingContext.locateNodes.serializationOptions_parameter + - webdriver.bidi.browsingContext.locateNodes.startNodes_parameter - webdriver.bidi.network.failRequest + - webdriver.bidi.network.failRequest.request_parameter # baseline: false # support: @@ -163,35 +308,50 @@ compat_features: # firefox_android: "124" - webdriver.bidi.browser.createUserContext - webdriver.bidi.browser.getUserContexts + - webdriver.bidi.browser.removeUserContext + - webdriver.bidi.browsingContext.create.userContext_parameter + - webdriver.bidi.script.addPreloadScript.contexts_parameter - webdriver.bidi.storage + - webdriver.bidi.storage.getCookies + - webdriver.bidi.storage.getCookies.filter_parameter + - webdriver.bidi.storage.setCookie + - webdriver.bidi.storage.setCookie.cookie_parameter # baseline: false # support: # chrome: "126" # chrome_android: "126" # edge: "126" - # firefox: "126" - # firefox_android: "126" + # firefox: "125" + # firefox_android: "125" + - webdriver.bidi.input.setFiles + - webdriver.bidi.input.setFiles.context_parameter + - webdriver.bidi.input.setFiles.element_parameter + - webdriver.bidi.input.setFiles.files_parameter - webdriver.bidi.storage.deleteCookies - - webdriver.bidi.storage.getCookies - - webdriver.bidi.storage.setCookie + - webdriver.bidi.storage.deleteCookies.filter_parameter + - webdriver.bidi.storage.deleteCookies.partition_parameter + - webdriver.bidi.storage.getCookies.partition_parameter + - webdriver.bidi.storage.setCookie.partition_parameter # baseline: false # support: # chrome: "126" # chrome_android: "126" # edge: "126" - # firefox: "127" - # firefox_android: "127" - - webdriver.bidi.permission + # firefox: "126" + # firefox_android: "126" + - webdriver.bidi.network.addIntercept.contexts_parameter # baseline: false # support: # chrome: "126" # chrome_android: "126" # edge: "126" - # firefox: "128" - # firefox_android: "128" + # firefox: "127" + # firefox_android: "127" + - webdriver.bidi.browsingContext.setViewport.devicePixelRatio_parameter + - webdriver.bidi.permission - webdriver.bidi.permission.setPermission # baseline: false @@ -201,12 +361,13 @@ compat_features: # edge: "126" # firefox: "129" # firefox_android: "129" - - webdriver.bidi.browser.close - - webdriver.bidi.browser.removeUserContext - - webdriver.bidi.browsingContext.close + - webdriver.bidi.browsingContext.close.promptUnload_parameter - webdriver.bidi.browsingContext.handleUserPrompt + - webdriver.bidi.browsingContext.handleUserPrompt.accept_parameter + - webdriver.bidi.browsingContext.handleUserPrompt.context_parameter + - webdriver.bidi.browsingContext.handleUserPrompt.userText_parameter + - webdriver.bidi.browsingContext.userPromptOpened_event.handler_parameter - # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "126" @@ -214,9 +375,66 @@ compat_features: # edge: "126" # firefox: "136" # firefox_android: "136" - - webdriver.bidi.script.addPreloadScript - - webdriver.bidi.session.subscribe - - webdriver.bidi.session.unsubscribe + - webdriver.bidi.script.addPreloadScript.userContexts_parameter + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "137" + # firefox_android: "137" + - webdriver.bidi.session.subscribe.userContexts_parameter + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "138" + # firefox_android: "138" + - webdriver.bidi.browsingContext.setViewport.userContexts_parameter + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "140" + # firefox_android: "140" + - webdriver.bidi.browsingContext.navigationCommitted_event + - webdriver.bidi.browsingContext.navigationCommitted_event.context_parameter + - webdriver.bidi.browsingContext.navigationCommitted_event.navigation_parameter + - webdriver.bidi.browsingContext.navigationCommitted_event.timestamp_parameter + - webdriver.bidi.browsingContext.navigationCommitted_event.url_parameter + + # baseline: false + # support: + # chrome: "131" + # chrome_android: "131" + # edge: "131" + # firefox: "110" + # firefox_android: "110" + - webdriver.bidi.browsingContext.captureScreenshot + - webdriver.bidi.browsingContext.captureScreenshot.context_parameter + + # baseline: false + # support: + # chrome: "131" + # chrome_android: "131" + # edge: "131" + # firefox: "117" + # firefox_android: "117" + - webdriver.bidi.browsingContext.captureScreenshot.clip_parameter + + # baseline: false + # support: + # chrome: "131" + # chrome_android: "131" + # edge: "131" + # firefox: "121" + # firefox_android: "121" + - webdriver.bidi.browsingContext.captureScreenshot.origin_parameter # baseline: false # support: @@ -225,53 +443,220 @@ compat_features: # edge: "131" # firefox: "135" # firefox_android: "135" - - webdriver.bidi.browsingContext.captureScreenshot + - webdriver.bidi.browsingContext.captureScreenshot.format_parameter # baseline: false # support: # chrome: "132" # chrome_android: "132" # edge: "132" - # firefox: "130" - # firefox_android: "130" + # firefox: "129" + # firefox_android: "129" - webdriver.bidi.network.setCacheBehavior + - webdriver.bidi.network.setCacheBehavior.cacheBehavior_parameter + - webdriver.bidi.network.setCacheBehavior.contexts_parameter + # baseline: false + # support: + # chrome: "135" + # chrome_android: "135" + # edge: "135" + # firefox: "137" + # firefox_android: "137" + - webdriver.bidi.webExtension + + # baseline: false + # support: + # chrome: "137" + # chrome_android: "137" + # edge: "137" + # firefox: "139" + # firefox_android: "139" + - webdriver.bidi.emulation + - webdriver.bidi.emulation.setGeolocationOverride + - webdriver.bidi.emulation.setGeolocationOverride.contexts_parameter + - webdriver.bidi.emulation.setGeolocationOverride.coordinates_parameter + - webdriver.bidi.emulation.setGeolocationOverride.userContexts_parameter + + # baseline: false + # support: + # chrome: "138" + # chrome_android: "138" + # edge: "138" + # firefox: "140" + # firefox_android: "140" + - webdriver.bidi.browser.createUserContext.acceptInsecureCerts_parameter + + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "126" # chrome_android: "126" # edge: "126" - webdriver.bidi.browsingContext.contextCreated_event + - webdriver.bidi.browsingContext.contextCreated_event.children_parameter + - webdriver.bidi.browsingContext.contextCreated_event.clientWindow_parameter + - webdriver.bidi.browsingContext.contextCreated_event.context_parameter + - webdriver.bidi.browsingContext.contextCreated_event.originalOpener_parameter + - webdriver.bidi.browsingContext.contextCreated_event.parent_parameter + - webdriver.bidi.browsingContext.contextCreated_event.url_parameter + - webdriver.bidi.browsingContext.contextCreated_event.userContext_parameter - webdriver.bidi.browsingContext.contextDestroyed_event - - webdriver.bidi.browsingContext.create - - webdriver.bidi.browsingContext.locateNodes - - webdriver.bidi.browsingContext.navigate - - webdriver.bidi.browsingContext.navigationCommitted_event + - webdriver.bidi.browsingContext.contextDestroyed_event.children_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.clientWindow_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.context_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.originalOpener_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.parent_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.url_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.userContext_parameter + - webdriver.bidi.browsingContext.load_event.context_parameter + - webdriver.bidi.browsingContext.load_event.url_parameter + - webdriver.bidi.browsingContext.locateNodes.locator_parameter - webdriver.bidi.browsingContext.navigationFailed_event - - webdriver.bidi.browsingContext.reload - - webdriver.bidi.browsingContext.setViewport - - webdriver.bidi.browsingContext.traverseHistory - - webdriver.bidi.browsingContext.userPromptClosed_event - - webdriver.bidi.browsingContext.userPromptOpened_event - - webdriver.bidi.input.setFiles - - webdriver.bidi.log.entryAdded_event - - webdriver.bidi.network.continueWithAuth - - webdriver.bidi.script.getRealms - - webdriver.bidi.script.realmCreated_event + - webdriver.bidi.browsingContext.navigationFailed_event.context_parameter + - webdriver.bidi.browsingContext.navigationFailed_event.navigation_parameter + - webdriver.bidi.browsingContext.navigationFailed_event.timestamp_parameter + - webdriver.bidi.browsingContext.navigationFailed_event.url_parameter + - webdriver.bidi.browsingContext.navigationStarted_event.url_parameter + - webdriver.bidi.browsingContext.reload.ignoreCache_parameter + - webdriver.bidi.log.entryAdded_event.args_parameter + - webdriver.bidi.log.entryAdded_event.source_parameter + - webdriver.bidi.log.entryAdded_event.stackTrace_parameter + - webdriver.bidi.network.disownData + - webdriver.bidi.network.getData + - webdriver.bidi.script.realmCreated_event.owners_parameter - webdriver.bidi.session.new + - webdriver.bidi.session.new.capabilities_parameter # baseline: false # support: # chrome: "133" # chrome_android: "133" # edge: "133" + - webdriver.bidi.network.beforeRequestSent_event + - webdriver.bidi.network.beforeRequestSent_event.context_parameter + - webdriver.bidi.network.beforeRequestSent_event.initiator_parameter + - webdriver.bidi.network.beforeRequestSent_event.intercepts_parameter + - webdriver.bidi.network.beforeRequestSent_event.isBlocked_parameter + - webdriver.bidi.network.beforeRequestSent_event.navigation_parameter + - webdriver.bidi.network.beforeRequestSent_event.redirectCount_parameter + - webdriver.bidi.network.beforeRequestSent_event.request_parameter + - webdriver.bidi.network.beforeRequestSent_event.timestamp_parameter - webdriver.bidi.network.fetchError_event + - webdriver.bidi.network.fetchError_event.context_parameter + - webdriver.bidi.network.fetchError_event.errorText_parameter + - webdriver.bidi.network.fetchError_event.intercepts_parameter + - webdriver.bidi.network.fetchError_event.isBlocked_parameter + - webdriver.bidi.network.fetchError_event.navigation_parameter + - webdriver.bidi.network.fetchError_event.redirectCount_parameter + - webdriver.bidi.network.fetchError_event.request_parameter + - webdriver.bidi.network.fetchError_event.timestamp_parameter + + # baseline: false + # support: + # chrome: "135" + # chrome_android: "135" + # edge: "135" + - webdriver.bidi.input.fileDialogOpened_event + - webdriver.bidi.input.fileDialogOpened_event.context_parameter + - webdriver.bidi.input.fileDialogOpened_event.element_parameter + - webdriver.bidi.input.fileDialogOpened_event.multiple_parameter + + # baseline: false + # support: + # chrome: "136" + # chrome_android: "136" + # edge: "136" + - webdriver.bidi.browsingContext.downloadWillBegin_event + - webdriver.bidi.browsingContext.downloadWillBegin_event.context_parameter + - webdriver.bidi.browsingContext.downloadWillBegin_event.navigation_parameter + - webdriver.bidi.browsingContext.downloadWillBegin_event.suggestedFilename_parameter + - webdriver.bidi.browsingContext.downloadWillBegin_event.timestamp_parameter + - webdriver.bidi.browsingContext.downloadWillBegin_event.url_parameter + + # baseline: false + # support: + # chrome: "137" + # chrome_android: "137" + # edge: "137" + - webdriver.bidi.emulation.setGeolocationOverride.error_parameter + + # baseline: false + # support: + # chrome: "138" + # chrome_android: "138" + # edge: "138" + - webdriver.bidi.browser.createUserContext.proxy_parameter + + # baseline: false + # support: + # firefox: "112" + # firefox_android: "112" + - webdriver.bidi.browsingContext.print + - webdriver.bidi.browsingContext.print.background_parameter + - webdriver.bidi.browsingContext.print.context_parameter + - webdriver.bidi.browsingContext.print.margin_parameter + - webdriver.bidi.browsingContext.print.orientation_parameter + - webdriver.bidi.browsingContext.print.pageRanges_parameter + - webdriver.bidi.browsingContext.print.page_parameter + - webdriver.bidi.browsingContext.print.scale_parameter + - webdriver.bidi.browsingContext.print.shrinkToFit_parameter + + # baseline: false + # support: + # firefox: "116" + # firefox_android: "116" + - webdriver.bidi.session.end # baseline: false # support: # firefox: "122" # firefox_android: "122" - webdriver.bidi.network.authRequired_event + - webdriver.bidi.network.authRequired_event.context_parameter + - webdriver.bidi.network.authRequired_event.navigation_parameter + - webdriver.bidi.network.authRequired_event.redirectCount_parameter + - webdriver.bidi.network.authRequired_event.request_parameter + - webdriver.bidi.network.authRequired_event.timestamp_parameter + + # baseline: false + # support: + # firefox: "124" + # firefox_android: "124" + - webdriver.bidi.browser.removeUserContext.userContext_parameter + - webdriver.bidi.network.authRequired_event.intercepts_parameter + - webdriver.bidi.network.authRequired_event.isBlocked_parameter + - webdriver.bidi.network.continueRequest + - webdriver.bidi.network.continueRequest.request_parameter + - webdriver.bidi.network.continueResponse + - webdriver.bidi.network.continueResponse.credentials_parameter + - webdriver.bidi.network.continueResponse.request_parameter + - webdriver.bidi.network.provideResponse + - webdriver.bidi.network.provideResponse.request_parameter + + # baseline: false + # support: + # firefox: "128" + # firefox_android: "128" + - webdriver.bidi.network.continueRequest.body_parameter + - webdriver.bidi.network.continueRequest.cookies_parameter + - webdriver.bidi.network.continueRequest.headers_parameter + - webdriver.bidi.network.continueRequest.method_parameter + + # baseline: false + # support: + # firefox: "131" + # firefox_android: "131" + - webdriver.bidi.network.continueResponse.cookies_parameter + - webdriver.bidi.network.continueResponse.headers_parameter + - webdriver.bidi.network.continueResponse.reasonPhrase_parameter + - webdriver.bidi.network.continueResponse.statusCode_parameter + + # baseline: false + # support: + # firefox: "133" + # firefox_android: "133" + - webdriver.bidi.network.continueRequest.url_parameter # baseline: false # support: @@ -283,18 +668,38 @@ compat_features: # support: # firefox: "137" # firefox_android: "137" - - webdriver.bidi.webExtension + - webdriver.bidi.webExtension.install + - webdriver.bidi.webExtension.install.extensionData_parameter - webdriver.bidi.webExtension.uninstall + - webdriver.bidi.webExtension.uninstall.extension_parameter # baseline: false # support: {} - - webdriver.bidi.browsingContext.print - - webdriver.bidi.network.addIntercept - - webdriver.bidi.network.beforeRequestSent_event - - webdriver.bidi.network.continueRequest - - webdriver.bidi.network.continueResponse - - webdriver.bidi.network.provideResponse + - webdriver.bidi.browsingContext.historyUpdated_event + - webdriver.bidi.browsingContext.historyUpdated_event.context_parameter + - webdriver.bidi.browsingContext.historyUpdated_event.timestamp_parameter + - webdriver.bidi.browsingContext.historyUpdated_event.url_parameter + - webdriver.bidi.network.authRequired_event.response_parameter + - webdriver.bidi.network.provideResponse.body_parameter + - webdriver.bidi.network.provideResponse.cookies_parameter + - webdriver.bidi.network.provideResponse.headers_parameter + - webdriver.bidi.network.provideResponse.reasonPhrase_parameter + - webdriver.bidi.network.provideResponse.statusCode_parameter - webdriver.bidi.network.responseCompleted_event + - webdriver.bidi.network.responseCompleted_event.context_parameter + - webdriver.bidi.network.responseCompleted_event.intercepts_parameter + - webdriver.bidi.network.responseCompleted_event.isBlocked_parameter + - webdriver.bidi.network.responseCompleted_event.navigation_parameter + - webdriver.bidi.network.responseCompleted_event.redirectCount_parameter + - webdriver.bidi.network.responseCompleted_event.request_parameter + - webdriver.bidi.network.responseCompleted_event.response_parameter + - webdriver.bidi.network.responseCompleted_event.timestamp_parameter - webdriver.bidi.network.responseStarted_event - - webdriver.bidi.session.end - - webdriver.bidi.webExtension.install + - webdriver.bidi.network.responseStarted_event.context_parameter + - webdriver.bidi.network.responseStarted_event.intercepts_parameter + - webdriver.bidi.network.responseStarted_event.isBlocked_parameter + - webdriver.bidi.network.responseStarted_event.navigation_parameter + - webdriver.bidi.network.responseStarted_event.redirectCount_parameter + - webdriver.bidi.network.responseStarted_event.request_parameter + - webdriver.bidi.network.responseStarted_event.response_parameter + - webdriver.bidi.network.responseStarted_event.timestamp_parameter From 0852cadc8f1f3ca80cb24ffa2a443268f74447d0 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Tue, 15 Jul 2025 16:54:18 +0200 Subject: [PATCH 5/8] Mark session.end as optional --- features/webdriver-bidi.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/webdriver-bidi.yml b/features/webdriver-bidi.yml index 330c4f582f6..6e104847d61 100644 --- a/features/webdriver-bidi.yml +++ b/features/webdriver-bidi.yml @@ -13,7 +13,6 @@ status: # The following keys are a subset of the compat_features below. # They are the most critical keys for using the WebDriver BiDi protocol # - webdriver.bidi.session.new - # - webdriver.bidi.session.end - webdriver.bidi.session.status - webdriver.bidi.session.subscribe - webdriver.bidi.session.unsubscribe @@ -42,7 +41,6 @@ compat_features: # Critical. Every test needs a session. - webdriver.bidi.session.new - webdriver.bidi.session.new.capabilities_parameter - - webdriver.bidi.session.end - webdriver.bidi.session.status # Critical. All BiDi events go through these. - webdriver.bidi.session.subscribe @@ -52,6 +50,8 @@ compat_features: - webdriver.bidi.session.unsubscribe - webdriver.bidi.session.unsubscribe.contexts_parameter - webdriver.bidi.session.unsubscribe.events_parameter + # Optional. You can always end the session by closing the browser (browser.close command). + - webdriver.bidi.session.end # --------------------- # Script module. From edfb0bd79ee366cd58e91e30f2cf1b237e198ca0 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Tue, 15 Jul 2025 16:57:01 +0200 Subject: [PATCH 6/8] Comments and re-gen dist --- features/webdriver-bidi.yml | 6 +++--- features/webdriver-bidi.yml.dist | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/features/webdriver-bidi.yml b/features/webdriver-bidi.yml index 6e104847d61..8ccf0f257e5 100644 --- a/features/webdriver-bidi.yml +++ b/features/webdriver-bidi.yml @@ -12,7 +12,7 @@ status: compute_from: # The following keys are a subset of the compat_features below. # They are the most critical keys for using the WebDriver BiDi protocol - # - webdriver.bidi.session.new + # - webdriver.bidi.session.new # Partial in Firefox. Plan is to mark as supported in BCD and create sub-features for the partial things. - webdriver.bidi.session.status - webdriver.bidi.session.subscribe - webdriver.bidi.session.unsubscribe @@ -24,8 +24,8 @@ status: - webdriver.bidi.browsingContext.load_event - webdriver.bidi.browsingContext.getTree - webdriver.bidi.browsingContext.close - # - webdriver.bidi.browsingContext.contextCreated_event - # - webdriver.bidi.browsingContext.contextDestroyed_event + # - webdriver.bidi.browsingContext.contextCreated_event # Partial in Firefox. Plan is to mark as supported in BCD and create sub-features for the partial things. + # - webdriver.bidi.browsingContext.contextDestroyed_event # Partial in Firefox. Plan is to mark as supported in BCD and create sub-features for the partial things. - webdriver.bidi.input.performActions - webdriver.bidi.input.releaseActions diff --git a/features/webdriver-bidi.yml.dist b/features/webdriver-bidi.yml.dist index ec5d7920d1c..8f8319e3cbb 100644 --- a/features/webdriver-bidi.yml.dist +++ b/features/webdriver-bidi.yml.dist @@ -7,6 +7,8 @@ status: chrome: "126" chrome_android: "126" edge: "126" + firefox: "117" + firefox_android: "117" compat_features: # baseline: false # support: @@ -192,6 +194,7 @@ compat_features: - webdriver.bidi.script.message_event.data_parameter - webdriver.bidi.script.message_event.source_parameter + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "126" @@ -487,7 +490,6 @@ compat_features: # firefox_android: "140" - webdriver.bidi.browser.createUserContext.acceptInsecureCerts_parameter - # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "126" From daa81ae3fb5742c33150e350d1d9ca3368f52380 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Thu, 2 Jul 2026 15:15:32 +0200 Subject: [PATCH 7/8] webdriver bidi core feature --- features/webdriver-bidi.yml | 520 +++++++------------------------ features/webdriver-bidi.yml.dist | 462 ++------------------------- 2 files changed, 134 insertions(+), 848 deletions(-) diff --git a/features/webdriver-bidi.yml b/features/webdriver-bidi.yml index 8ccf0f257e5..f567e51dee5 100644 --- a/features/webdriver-bidi.yml +++ b/features/webdriver-bidi.yml @@ -2,421 +2,131 @@ name: WebDriver BiDi description: WebDriver BiDi is a bidirectional protocol that allows a WebDriver client and a browser to communicate with each other. spec: https://w3c.github.io/webdriver-bidi/ group: webdriver -# WebDriver BiDi has many BCD keys but, for now, we're not trying to track -# them all as individual features, even if some parts could be standalone -# (e.g. webdriver.bidi.webExtension or webdriver.bidi.network). -# Instead, we're pinning this feature to a few keys in compute_from below, -# to track initial support for the feature. Later, we can move some of the -# individual keys to other features as needed. -status: - compute_from: - # The following keys are a subset of the compat_features below. - # They are the most critical keys for using the WebDriver BiDi protocol - # - webdriver.bidi.session.new # Partial in Firefox. Plan is to mark as supported in BCD and create sub-features for the partial things. +compat_features: + core: + # WebDriver BiDi has many keys in BCD. + # This feature only contains the keys that correspond to the most critical + # WebDriver modules, without which you can't really use WebDriver BiDi. + + # Every test needs a session. + - webdriver.bidi.session + # Uncomment the next line and remove this line when https://github.com/mdn/browser-compat-data/pull/29965 is merged. + # This key should really be required in this feature. + # - webdriver.bidi.session.new - webdriver.bidi.session.status + # Uncomment the next line and remove this line when https://github.com/mdn/browser-compat-data/pull/29968 is merged. + # This key is required, and it is supported in Chrome. BCD is out of date. + # - webdriver.bidi.session.end + + # All BiDi events go through these commands. - webdriver.bidi.session.subscribe + - webdriver.bidi.session.subscribe.contexts_parameter + - webdriver.bidi.session.subscribe.events_parameter + - webdriver.bidi.session.subscribe.userContexts_parameter - webdriver.bidi.session.unsubscribe - - webdriver.bidi.script.evaluate - - webdriver.bidi.script.callFunction + - webdriver.bidi.session.unsubscribe.events_parameter + + # Deal with browser windows. + - webdriver.bidi.browser - webdriver.bidi.browser.close + + # Open and close tabs, navigate and reload. + - webdriver.bidi.browsingContext - webdriver.bidi.browsingContext.navigate + - webdriver.bidi.browsingContext.navigate.context_parameter + - webdriver.bidi.browsingContext.navigate.url_parameter + - webdriver.bidi.browsingContext.navigate.wait_parameter + - webdriver.bidi.browsingContext.reload + - webdriver.bidi.browsingContext.reload.context_parameter + - webdriver.bidi.browsingContext.reload.wait_parameter - webdriver.bidi.browsingContext.create + - webdriver.bidi.browsingContext.create.background_parameter + - webdriver.bidi.browsingContext.create.referenceContext_parameter + - webdriver.bidi.browsingContext.create.type_parameter + - webdriver.bidi.browsingContext.create.userContext_parameter - webdriver.bidi.browsingContext.load_event + - webdriver.bidi.browsingContext.load_event.navigation_parameter + - webdriver.bidi.browsingContext.load_event.timestamp_parameter - webdriver.bidi.browsingContext.getTree + - webdriver.bidi.browsingContext.getTree.maxDepth_parameter + - webdriver.bidi.browsingContext.getTree.root_parameter - webdriver.bidi.browsingContext.close - # - webdriver.bidi.browsingContext.contextCreated_event # Partial in Firefox. Plan is to mark as supported in BCD and create sub-features for the partial things. - # - webdriver.bidi.browsingContext.contextDestroyed_event # Partial in Firefox. Plan is to mark as supported in BCD and create sub-features for the partial things. + - webdriver.bidi.browsingContext.close.context_parameter + - webdriver.bidi.browsingContext.close.promptUnload_parameter + - webdriver.bidi.browsingContext.domContentLoaded_event + - webdriver.bidi.browsingContext.domContentLoaded_event.context_parameter + - webdriver.bidi.browsingContext.domContentLoaded_event.navigation_parameter + - webdriver.bidi.browsingContext.domContentLoaded_event.timestamp_parameter + - webdriver.bidi.browsingContext.domContentLoaded_event.url_parameter + - webdriver.bidi.browsingContext.contextCreated_event + - webdriver.bidi.browsingContext.contextCreated_event.children_parameter + - webdriver.bidi.browsingContext.contextCreated_event.clientWindow_parameter + - webdriver.bidi.browsingContext.contextCreated_event.context_parameter + - webdriver.bidi.browsingContext.contextCreated_event.parent_parameter + - webdriver.bidi.browsingContext.contextCreated_event.url_parameter + - webdriver.bidi.browsingContext.contextCreated_event.userContext_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event + - webdriver.bidi.browsingContext.contextDestroyed_event.clientWindow_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.context_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.parent_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.url_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.userContext_parameter + - webdriver.bidi.browsingContext.fragmentNavigated_event + - webdriver.bidi.browsingContext.fragmentNavigated_event.context_parameter + - webdriver.bidi.browsingContext.fragmentNavigated_event.navigation_parameter + - webdriver.bidi.browsingContext.fragmentNavigated_event.timestamp_parameter + - webdriver.bidi.browsingContext.fragmentNavigated_event.url_parameter + - webdriver.bidi.browsingContext.navigationCommitted_event + - webdriver.bidi.browsingContext.navigationCommitted_event.context_parameter + - webdriver.bidi.browsingContext.navigationCommitted_event.navigation_parameter + - webdriver.bidi.browsingContext.navigationCommitted_event.timestamp_parameter + - webdriver.bidi.browsingContext.navigationCommitted_event.url_parameter + - webdriver.bidi.browsingContext.navigationStarted_event + - webdriver.bidi.browsingContext.navigationStarted_event.context_parameter + - webdriver.bidi.browsingContext.navigationStarted_event.navigation_parameter + - webdriver.bidi.browsingContext.navigationStarted_event.timestamp_parameter + + # Simulate user input. + - webdriver.bidi.input - webdriver.bidi.input.performActions + - webdriver.bidi.input.performActions.actions_parameter + - webdriver.bidi.input.performActions.context_parameter - webdriver.bidi.input.releaseActions + - webdriver.bidi.input.releaseActions.context_parameter -compat_features: - # Below is the entire list of BCD keys for WebDriver BiDi. - # The keys are grouped by modules, and commentary is provided - # on which keys are critical, important, or optional for using - # the WebDriver BiDi protocol in tests. - - # --------------------- - # Session module. - - webdriver.bidi.session - # Critical. Every test needs a session. - - webdriver.bidi.session.new - - webdriver.bidi.session.new.capabilities_parameter - - webdriver.bidi.session.status - # Critical. All BiDi events go through these. - - webdriver.bidi.session.subscribe - - webdriver.bidi.session.subscribe.contexts_parameter - - webdriver.bidi.session.subscribe.events_parameter - - webdriver.bidi.session.subscribe.userContexts_parameter - - webdriver.bidi.session.unsubscribe - - webdriver.bidi.session.unsubscribe.contexts_parameter - - webdriver.bidi.session.unsubscribe.events_parameter - # Optional. You can always end the session by closing the browser (browser.close command). - - webdriver.bidi.session.end - - # --------------------- - # Script module. - - webdriver.bidi.script - # Critical. Run JS on the tested page. - - webdriver.bidi.script.evaluate - - webdriver.bidi.script.evaluate.awaitPromise_parameter - - webdriver.bidi.script.evaluate.expression_parameter - - webdriver.bidi.script.evaluate.resultOwnership_parameter - - webdriver.bidi.script.evaluate.serializationOptions_parameter - - webdriver.bidi.script.evaluate.target_parameter - - webdriver.bidi.script.evaluate.userActivation_parameter - - webdriver.bidi.script.callFunction - - webdriver.bidi.script.callFunction.arguments_parameter - - webdriver.bidi.script.callFunction.awaitPromise_parameter - - webdriver.bidi.script.callFunction.functionDeclaration_parameter - - webdriver.bidi.script.callFunction.resultOwnership_parameter - - webdriver.bidi.script.callFunction.serializationOptions_parameter - - webdriver.bidi.script.callFunction.target_parameter - - webdriver.bidi.script.callFunction.this_parameter - - webdriver.bidi.script.callFunction.userActivation_parameter - # Optional. - - webdriver.bidi.script.addPreloadScript - - webdriver.bidi.script.addPreloadScript.arguments_parameter - - webdriver.bidi.script.addPreloadScript.contexts_parameter - - webdriver.bidi.script.addPreloadScript.functionDeclaration_parameter - - webdriver.bidi.script.addPreloadScript.sandbox_parameter - - webdriver.bidi.script.addPreloadScript.userContexts_parameter - - webdriver.bidi.script.disown - - webdriver.bidi.script.disown.handles_parameter - - webdriver.bidi.script.disown.target_parameter - - webdriver.bidi.script.getRealms - - webdriver.bidi.script.getRealms.context_parameter - - webdriver.bidi.script.getRealms.type_parameter - - webdriver.bidi.script.message_event - - webdriver.bidi.script.message_event.channel_parameter - - webdriver.bidi.script.message_event.data_parameter - - webdriver.bidi.script.message_event.source_parameter - - webdriver.bidi.script.realmCreated_event - - webdriver.bidi.script.realmCreated_event.context_parameter - - webdriver.bidi.script.realmCreated_event.origin_parameter - - webdriver.bidi.script.realmCreated_event.owners_parameter - - webdriver.bidi.script.realmCreated_event.realm_parameter - - webdriver.bidi.script.realmCreated_event.sandbox_parameter - - webdriver.bidi.script.realmCreated_event.type_parameter - - webdriver.bidi.script.realmDestroyed_event - - webdriver.bidi.script.realmDestroyed_event.realm_parameter - - webdriver.bidi.script.removePreloadScript - - webdriver.bidi.script.removePreloadScript.script_parameter - - # --------------------- - # Browser module. - - webdriver.bidi.browser - # Important. To close the browser window after a test. - - webdriver.bidi.browser.close - # Optional. To manage user contexts, such as containers in firefox. - - webdriver.bidi.browser.createUserContext - - webdriver.bidi.browser.createUserContext.acceptInsecureCerts_parameter - - webdriver.bidi.browser.createUserContext.proxy_parameter - - webdriver.bidi.browser.getUserContexts - - webdriver.bidi.browser.removeUserContext - - webdriver.bidi.browser.removeUserContext.userContext_parameter - # Optional. To get top level windows. - - webdriver.bidi.browser.getClientWindows - - # --------------------- - # Browsing context module. - - webdriver.bidi.browsingContext - # Critical. To navigate to a page. - - webdriver.bidi.browsingContext.navigate - - webdriver.bidi.browsingContext.navigate.context_parameter - - webdriver.bidi.browsingContext.navigate.url_parameter - - webdriver.bidi.browsingContext.navigate.wait_parameter - # Critical. To create a new tab. - - webdriver.bidi.browsingContext.create - - webdriver.bidi.browsingContext.create.background_parameter - - webdriver.bidi.browsingContext.create.referenceContext_parameter - - webdriver.bidi.browsingContext.create.type_parameter - - webdriver.bidi.browsingContext.create.userContext_parameter - # Critical. To know when the page has loaded. - - webdriver.bidi.browsingContext.load_event - - webdriver.bidi.browsingContext.load_event.context_parameter - - webdriver.bidi.browsingContext.load_event.navigation_parameter - - webdriver.bidi.browsingContext.load_event.timestamp_parameter - - webdriver.bidi.browsingContext.load_event.url_parameter - # Critical. To list tabs, iframes, etc. - - webdriver.bidi.browsingContext.getTree - - webdriver.bidi.browsingContext.getTree.maxDepth_parameter - - webdriver.bidi.browsingContext.getTree.root_parameter - # Important. To close a tab. - - webdriver.bidi.browsingContext.close - - webdriver.bidi.browsingContext.close.context_parameter - - webdriver.bidi.browsingContext.close.promptUnload_parameter - # Important. To open other tabs, which can't be done without events. - - webdriver.bidi.browsingContext.contextCreated_event - - webdriver.bidi.browsingContext.contextCreated_event.children_parameter - - webdriver.bidi.browsingContext.contextCreated_event.clientWindow_parameter - - webdriver.bidi.browsingContext.contextCreated_event.context_parameter - - webdriver.bidi.browsingContext.contextCreated_event.originalOpener_parameter - - webdriver.bidi.browsingContext.contextCreated_event.parent_parameter - - webdriver.bidi.browsingContext.contextCreated_event.url_parameter - - webdriver.bidi.browsingContext.contextCreated_event.userContext_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event - - webdriver.bidi.browsingContext.contextDestroyed_event.children_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event.clientWindow_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event.context_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event.originalOpener_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event.parent_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event.url_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event.userContext_parameter - # Optional. To simulate user activation, for some web features that need it. - - webdriver.bidi.browsingContext.activate - - webdriver.bidi.browsingContext.activate.context_parameter - # Optional. - - webdriver.bidi.browsingContext.captureScreenshot - - webdriver.bidi.browsingContext.captureScreenshot.clip_parameter - - webdriver.bidi.browsingContext.captureScreenshot.context_parameter - - webdriver.bidi.browsingContext.captureScreenshot.format_parameter - - webdriver.bidi.browsingContext.captureScreenshot.origin_parameter - # Optional. Nice event to listen to, but can also use the load event. - - webdriver.bidi.browsingContext.domContentLoaded_event - - webdriver.bidi.browsingContext.domContentLoaded_event.context_parameter - - webdriver.bidi.browsingContext.domContentLoaded_event.navigation_parameter - - webdriver.bidi.browsingContext.domContentLoaded_event.timestamp_parameter - - webdriver.bidi.browsingContext.domContentLoaded_event.url_parameter - # Optional. - - webdriver.bidi.browsingContext.downloadWillBegin_event - - webdriver.bidi.browsingContext.downloadWillBegin_event.context_parameter - - webdriver.bidi.browsingContext.downloadWillBegin_event.navigation_parameter - - webdriver.bidi.browsingContext.downloadWillBegin_event.suggestedFilename_parameter - - webdriver.bidi.browsingContext.downloadWillBegin_event.timestamp_parameter - - webdriver.bidi.browsingContext.downloadWillBegin_event.url_parameter - # Optional. Useful for test frameworks mostly. - - webdriver.bidi.browsingContext.fragmentNavigated_event - - webdriver.bidi.browsingContext.fragmentNavigated_event.context_parameter - - webdriver.bidi.browsingContext.fragmentNavigated_event.navigation_parameter - - webdriver.bidi.browsingContext.fragmentNavigated_event.timestamp_parameter - - webdriver.bidi.browsingContext.fragmentNavigated_event.url_parameter - - webdriver.bidi.browsingContext.navigationCommitted_event - - webdriver.bidi.browsingContext.navigationCommitted_event.context_parameter - - webdriver.bidi.browsingContext.navigationCommitted_event.navigation_parameter - - webdriver.bidi.browsingContext.navigationCommitted_event.timestamp_parameter - - webdriver.bidi.browsingContext.navigationCommitted_event.url_parameter - - webdriver.bidi.browsingContext.navigationFailed_event - - webdriver.bidi.browsingContext.navigationFailed_event.context_parameter - - webdriver.bidi.browsingContext.navigationFailed_event.navigation_parameter - - webdriver.bidi.browsingContext.navigationFailed_event.timestamp_parameter - - webdriver.bidi.browsingContext.navigationFailed_event.url_parameter - - webdriver.bidi.browsingContext.navigationStarted_event - - webdriver.bidi.browsingContext.navigationStarted_event.context_parameter - - webdriver.bidi.browsingContext.navigationStarted_event.navigation_parameter - - webdriver.bidi.browsingContext.navigationStarted_event.timestamp_parameter - - webdriver.bidi.browsingContext.navigationStarted_event.url_parameter - # Optional. To manage dialog windows. - - webdriver.bidi.browsingContext.handleUserPrompt - - webdriver.bidi.browsingContext.handleUserPrompt.accept_parameter - - webdriver.bidi.browsingContext.handleUserPrompt.context_parameter - - webdriver.bidi.browsingContext.handleUserPrompt.userText_parameter - - webdriver.bidi.browsingContext.userPromptClosed_event - - webdriver.bidi.browsingContext.userPromptClosed_event.accepted_parameter - - webdriver.bidi.browsingContext.userPromptClosed_event.context_parameter - - webdriver.bidi.browsingContext.userPromptClosed_event.type_parameter - - webdriver.bidi.browsingContext.userPromptClosed_event.userText_parameter - - webdriver.bidi.browsingContext.userPromptOpened_event - - webdriver.bidi.browsingContext.userPromptOpened_event.context_parameter - - webdriver.bidi.browsingContext.userPromptOpened_event.defaultValue_parameter - - webdriver.bidi.browsingContext.userPromptOpened_event.handler_parameter - - webdriver.bidi.browsingContext.userPromptOpened_event.message_parameter - - webdriver.bidi.browsingContext.userPromptOpened_event.type_parameter - # ?? - - webdriver.bidi.browsingContext.historyUpdated_event - - webdriver.bidi.browsingContext.historyUpdated_event.context_parameter - - webdriver.bidi.browsingContext.historyUpdated_event.timestamp_parameter - - webdriver.bidi.browsingContext.historyUpdated_event.url_parameter - # Optional. To get nodes via css selectors, etc. But can also be done via JS. - - webdriver.bidi.browsingContext.locateNodes - - webdriver.bidi.browsingContext.locateNodes.context_parameter - - webdriver.bidi.browsingContext.locateNodes.locator_parameter - - webdriver.bidi.browsingContext.locateNodes.maxNodeCount_parameter - - webdriver.bidi.browsingContext.locateNodes.serializationOptions_parameter - - webdriver.bidi.browsingContext.locateNodes.startNodes_parameter - # Optional. - - webdriver.bidi.browsingContext.print - - webdriver.bidi.browsingContext.print.background_parameter - - webdriver.bidi.browsingContext.print.context_parameter - - webdriver.bidi.browsingContext.print.margin_parameter - - webdriver.bidi.browsingContext.print.orientation_parameter - - webdriver.bidi.browsingContext.print.pageRanges_parameter - - webdriver.bidi.browsingContext.print.page_parameter - - webdriver.bidi.browsingContext.print.scale_parameter - - webdriver.bidi.browsingContext.print.shrinkToFit_parameter - # Optional, same as navigate. - - webdriver.bidi.browsingContext.reload - - webdriver.bidi.browsingContext.reload.context_parameter - - webdriver.bidi.browsingContext.reload.ignoreCache_parameter - - webdriver.bidi.browsingContext.reload.wait_parameter - # Optional. Nice to have for responsive design testing. - - webdriver.bidi.browsingContext.setViewport - - webdriver.bidi.browsingContext.setViewport.context_parameter - - webdriver.bidi.browsingContext.setViewport.devicePixelRatio_parameter - - webdriver.bidi.browsingContext.setViewport.userContexts_parameter - - webdriver.bidi.browsingContext.setViewport.viewport_parameter - # Optional. - - webdriver.bidi.browsingContext.traverseHistory - - webdriver.bidi.browsingContext.traverseHistory.context_parameter - - webdriver.bidi.browsingContext.traverseHistory.delta_parameter - - # --------------------- - # Emulation module. - - webdriver.bidi.emulation - - webdriver.bidi.emulation.setGeolocationOverride - - webdriver.bidi.emulation.setGeolocationOverride.contexts_parameter - - webdriver.bidi.emulation.setGeolocationOverride.coordinates_parameter - - webdriver.bidi.emulation.setGeolocationOverride.error_parameter - - webdriver.bidi.emulation.setGeolocationOverride.userContexts_parameter - - # --------------------- - # Input module. - - webdriver.bidi.input - # Critical. To simulate user input. - # (although this can also be done by eval'ing JS) - - webdriver.bidi.input.performActions - - webdriver.bidi.input.performActions.actions_parameter - - webdriver.bidi.input.performActions.context_parameter - - webdriver.bidi.input.releaseActions - - webdriver.bidi.input.releaseActions.context_parameter - # Optional. For file input only. - - webdriver.bidi.input.setFiles - - webdriver.bidi.input.setFiles.context_parameter - - webdriver.bidi.input.setFiles.element_parameter - - webdriver.bidi.input.setFiles.files_parameter - - webdriver.bidi.input.fileDialogOpened_event - - webdriver.bidi.input.fileDialogOpened_event.context_parameter - - webdriver.bidi.input.fileDialogOpened_event.element_parameter - - webdriver.bidi.input.fileDialogOpened_event.multiple_parameter - - # --------------------- - # Log module. - - webdriver.bidi.log - # Optional. - - webdriver.bidi.log.entryAdded_event - - webdriver.bidi.log.entryAdded_event.args_parameter - - webdriver.bidi.log.entryAdded_event.level_parameter - - webdriver.bidi.log.entryAdded_event.method_parameter - - webdriver.bidi.log.entryAdded_event.source_parameter - - webdriver.bidi.log.entryAdded_event.stackTrace_parameter - - webdriver.bidi.log.entryAdded_event.text_parameter - - webdriver.bidi.log.entryAdded_event.timestamp_parameter - - webdriver.bidi.log.entryAdded_event.type_parameter - - # --------------------- - # Network module. - - webdriver.bidi.network - # Optional. To mock responses, etc. - - webdriver.bidi.network.addIntercept - - webdriver.bidi.network.addIntercept.contexts_parameter - - webdriver.bidi.network.addIntercept.phases_parameter - - webdriver.bidi.network.addIntercept.urlPatterns_parameter - - webdriver.bidi.network.authRequired_event - - webdriver.bidi.network.authRequired_event.context_parameter - - webdriver.bidi.network.authRequired_event.intercepts_parameter - - webdriver.bidi.network.authRequired_event.isBlocked_parameter - - webdriver.bidi.network.authRequired_event.navigation_parameter - - webdriver.bidi.network.authRequired_event.redirectCount_parameter - - webdriver.bidi.network.authRequired_event.request_parameter - - webdriver.bidi.network.authRequired_event.response_parameter - - webdriver.bidi.network.authRequired_event.timestamp_parameter - - webdriver.bidi.network.beforeRequestSent_event - - webdriver.bidi.network.beforeRequestSent_event.context_parameter - - webdriver.bidi.network.beforeRequestSent_event.initiator_parameter - - webdriver.bidi.network.beforeRequestSent_event.intercepts_parameter - - webdriver.bidi.network.beforeRequestSent_event.isBlocked_parameter - - webdriver.bidi.network.beforeRequestSent_event.navigation_parameter - - webdriver.bidi.network.beforeRequestSent_event.redirectCount_parameter - - webdriver.bidi.network.beforeRequestSent_event.request_parameter - - webdriver.bidi.network.beforeRequestSent_event.timestamp_parameter - - webdriver.bidi.network.continueRequest - - webdriver.bidi.network.continueRequest.body_parameter - - webdriver.bidi.network.continueRequest.cookies_parameter - - webdriver.bidi.network.continueRequest.headers_parameter - - webdriver.bidi.network.continueRequest.method_parameter - - webdriver.bidi.network.continueRequest.request_parameter - - webdriver.bidi.network.continueRequest.url_parameter - - webdriver.bidi.network.continueResponse - - webdriver.bidi.network.continueResponse.cookies_parameter - - webdriver.bidi.network.continueResponse.credentials_parameter - - webdriver.bidi.network.continueResponse.headers_parameter - - webdriver.bidi.network.continueResponse.reasonPhrase_parameter - - webdriver.bidi.network.continueResponse.request_parameter - - webdriver.bidi.network.continueResponse.statusCode_parameter - - webdriver.bidi.network.continueWithAuth - - webdriver.bidi.network.continueWithAuth.request_parameter - - webdriver.bidi.network.failRequest - - webdriver.bidi.network.failRequest.request_parameter - - webdriver.bidi.network.fetchError_event - - webdriver.bidi.network.fetchError_event.context_parameter - - webdriver.bidi.network.fetchError_event.errorText_parameter - - webdriver.bidi.network.fetchError_event.intercepts_parameter - - webdriver.bidi.network.fetchError_event.isBlocked_parameter - - webdriver.bidi.network.fetchError_event.navigation_parameter - - webdriver.bidi.network.fetchError_event.redirectCount_parameter - - webdriver.bidi.network.fetchError_event.request_parameter - - webdriver.bidi.network.fetchError_event.timestamp_parameter - - webdriver.bidi.network.provideResponse - - webdriver.bidi.network.provideResponse.body_parameter - - webdriver.bidi.network.provideResponse.cookies_parameter - - webdriver.bidi.network.provideResponse.headers_parameter - - webdriver.bidi.network.provideResponse.reasonPhrase_parameter - - webdriver.bidi.network.provideResponse.request_parameter - - webdriver.bidi.network.provideResponse.statusCode_parameter - - webdriver.bidi.network.removeIntercept - - webdriver.bidi.network.removeIntercept.intercept_parameter - - webdriver.bidi.network.responseCompleted_event - - webdriver.bidi.network.responseCompleted_event.context_parameter - - webdriver.bidi.network.responseCompleted_event.intercepts_parameter - - webdriver.bidi.network.responseCompleted_event.isBlocked_parameter - - webdriver.bidi.network.responseCompleted_event.navigation_parameter - - webdriver.bidi.network.responseCompleted_event.redirectCount_parameter - - webdriver.bidi.network.responseCompleted_event.request_parameter - - webdriver.bidi.network.responseCompleted_event.response_parameter - - webdriver.bidi.network.responseCompleted_event.timestamp_parameter - - webdriver.bidi.network.responseStarted_event - - webdriver.bidi.network.responseStarted_event.context_parameter - - webdriver.bidi.network.responseStarted_event.intercepts_parameter - - webdriver.bidi.network.responseStarted_event.isBlocked_parameter - - webdriver.bidi.network.responseStarted_event.navigation_parameter - - webdriver.bidi.network.responseStarted_event.redirectCount_parameter - - webdriver.bidi.network.responseStarted_event.request_parameter - - webdriver.bidi.network.responseStarted_event.response_parameter - - webdriver.bidi.network.responseStarted_event.timestamp_parameter - # Optional. Cache behavior. - - webdriver.bidi.network.setCacheBehavior - - webdriver.bidi.network.setCacheBehavior.cacheBehavior_parameter - - webdriver.bidi.network.setCacheBehavior.contexts_parameter - # ?? - - webdriver.bidi.network.disownData - # ?? - - webdriver.bidi.network.getData - - # --------------------- - # Permission module. - - webdriver.bidi.permission - # Optional - - webdriver.bidi.permission.setPermission - - # --------------------- - # Storage module. - - webdriver.bidi.storage - # Optional. - - webdriver.bidi.storage.deleteCookies - - webdriver.bidi.storage.deleteCookies.filter_parameter - - webdriver.bidi.storage.deleteCookies.partition_parameter - - webdriver.bidi.storage.getCookies - - webdriver.bidi.storage.getCookies.filter_parameter - - webdriver.bidi.storage.getCookies.partition_parameter - - webdriver.bidi.storage.setCookie - - webdriver.bidi.storage.setCookie.cookie_parameter - - webdriver.bidi.storage.setCookie.partition_parameter + # Run JS on the tested page. + - webdriver.bidi.script + - webdriver.bidi.script.evaluate + - webdriver.bidi.script.evaluate.awaitPromise_parameter + - webdriver.bidi.script.evaluate.expression_parameter + - webdriver.bidi.script.evaluate.resultOwnership_parameter + - webdriver.bidi.script.evaluate.serializationOptions_parameter + - webdriver.bidi.script.evaluate.target_parameter + - webdriver.bidi.script.evaluate.userActivation_parameter + - webdriver.bidi.script.callFunction + - webdriver.bidi.script.callFunction.arguments_parameter + - webdriver.bidi.script.callFunction.awaitPromise_parameter + - webdriver.bidi.script.callFunction.functionDeclaration_parameter + - webdriver.bidi.script.callFunction.resultOwnership_parameter + - webdriver.bidi.script.callFunction.serializationOptions_parameter + - webdriver.bidi.script.callFunction.target_parameter + - webdriver.bidi.script.callFunction.this_parameter + - webdriver.bidi.script.callFunction.userActivation_parameter + - webdriver.bidi.script.message_event + - webdriver.bidi.script.message_event.channel_parameter + - webdriver.bidi.script.message_event.data_parameter - # --------------------- - # WebExtension module. - - webdriver.bidi.webExtension - # Optional. Useful in some niche cases./ - # For example, Cypress uses it to install web extensions during tests. - - webdriver.bidi.webExtension.install - - webdriver.bidi.webExtension.install.extensionData_parameter - - webdriver.bidi.webExtension.uninstall - - webdriver.bidi.webExtension.uninstall.extension_parameter + spare: + # These keys are related to the above critical modules, but have + # different browser support while also not being separate features + # in their own rights. + - webdriver.bidi.browsingContext.load_event.context_parameter + - webdriver.bidi.browsingContext.load_event.url_parameter + - webdriver.bidi.session.new.capabilities_parameter + - webdriver.bidi.browser.getClientWindows + - webdriver.bidi.browsingContext.reload.ignoreCache_parameter + - webdriver.bidi.browsingContext.contextCreated_event.originalOpener_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.children_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.originalOpener_parameter + - webdriver.bidi.browsingContext.navigationStarted_event.url_parameter + - webdriver.bidi.script.message_event.source_parameter diff --git a/features/webdriver-bidi.yml.dist b/features/webdriver-bidi.yml.dist index 8f8319e3cbb..ffb51fb3b50 100644 --- a/features/webdriver-bidi.yml.dist +++ b/features/webdriver-bidi.yml.dist @@ -7,8 +7,8 @@ status: chrome: "126" chrome_android: "126" edge: "126" - firefox: "117" - firefox_android: "117" + firefox: "143" + firefox_android: "143" compat_features: # baseline: false # support: @@ -30,24 +30,8 @@ compat_features: - webdriver.bidi.session.subscribe.contexts_parameter - webdriver.bidi.session.subscribe.events_parameter - webdriver.bidi.session.unsubscribe - - webdriver.bidi.session.unsubscribe.contexts_parameter - webdriver.bidi.session.unsubscribe.events_parameter - # baseline: false - # support: - # chrome: "126" - # chrome_android: "126" - # edge: "126" - # firefox: "94" - # firefox_android: "94" - - webdriver.bidi.log - - webdriver.bidi.log.entryAdded_event - - webdriver.bidi.log.entryAdded_event.level_parameter - - webdriver.bidi.log.entryAdded_event.method_parameter - - webdriver.bidi.log.entryAdded_event.text_parameter - - webdriver.bidi.log.entryAdded_event.timestamp_parameter - - webdriver.bidi.log.entryAdded_event.type_parameter - # baseline: false # support: # chrome: "126" @@ -109,17 +93,11 @@ compat_features: - webdriver.bidi.script.callFunction.resultOwnership_parameter - webdriver.bidi.script.callFunction.target_parameter - webdriver.bidi.script.callFunction.this_parameter - - webdriver.bidi.script.disown - - webdriver.bidi.script.disown.handles_parameter - - webdriver.bidi.script.disown.target_parameter - webdriver.bidi.script.evaluate - webdriver.bidi.script.evaluate.awaitPromise_parameter - webdriver.bidi.script.evaluate.expression_parameter - webdriver.bidi.script.evaluate.resultOwnership_parameter - webdriver.bidi.script.evaluate.target_parameter - - webdriver.bidi.script.getRealms - - webdriver.bidi.script.getRealms.context_parameter - - webdriver.bidi.script.getRealms.type_parameter # baseline: false # support: @@ -150,21 +128,6 @@ compat_features: # firefox_android: "110" - webdriver.bidi.browsingContext.domContentLoaded_event.timestamp_parameter - webdriver.bidi.browsingContext.load_event.timestamp_parameter - - webdriver.bidi.network - - # baseline: false - # support: - # chrome: "126" - # chrome_android: "126" - # edge: "126" - # firefox: "112" - # firefox_android: "112" - - webdriver.bidi.script.addPreloadScript - - webdriver.bidi.script.addPreloadScript.arguments_parameter - - webdriver.bidi.script.addPreloadScript.functionDeclaration_parameter - - webdriver.bidi.script.addPreloadScript.sandbox_parameter - - webdriver.bidi.script.removePreloadScript - - webdriver.bidi.script.removePreloadScript.script_parameter # baseline: false # support: @@ -192,9 +155,7 @@ compat_features: - webdriver.bidi.script.message_event - webdriver.bidi.script.message_event.channel_parameter - webdriver.bidi.script.message_event.data_parameter - - webdriver.bidi.script.message_event.source_parameter - # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "126" @@ -212,28 +173,6 @@ compat_features: - webdriver.bidi.browsingContext.fragmentNavigated_event.timestamp_parameter - webdriver.bidi.browsingContext.fragmentNavigated_event.url_parameter - webdriver.bidi.browsingContext.load_event.navigation_parameter - - webdriver.bidi.browsingContext.setViewport - - webdriver.bidi.browsingContext.setViewport.context_parameter - - webdriver.bidi.browsingContext.setViewport.viewport_parameter - - # baseline: false - # support: - # chrome: "126" - # chrome_android: "126" - # edge: "126" - # firefox: "118" - # firefox_android: "118" - - webdriver.bidi.browsingContext.activate - - webdriver.bidi.browsingContext.activate.context_parameter - - webdriver.bidi.browsingContext.userPromptOpened_event - - webdriver.bidi.browsingContext.userPromptOpened_event.context_parameter - - webdriver.bidi.browsingContext.userPromptOpened_event.message_parameter - - webdriver.bidi.browsingContext.userPromptOpened_event.type_parameter - - webdriver.bidi.network.addIntercept - - webdriver.bidi.network.addIntercept.phases_parameter - - webdriver.bidi.network.addIntercept.urlPatterns_parameter - - webdriver.bidi.network.removeIntercept - - webdriver.bidi.network.removeIntercept.intercept_parameter # baseline: false # support: @@ -249,19 +188,6 @@ compat_features: - webdriver.bidi.browsingContext.reload - webdriver.bidi.browsingContext.reload.context_parameter - webdriver.bidi.browsingContext.reload.wait_parameter - - webdriver.bidi.browsingContext.userPromptClosed_event - - webdriver.bidi.browsingContext.userPromptClosed_event.accepted_parameter - - webdriver.bidi.browsingContext.userPromptClosed_event.context_parameter - - webdriver.bidi.browsingContext.userPromptClosed_event.type_parameter - - webdriver.bidi.browsingContext.userPromptClosed_event.userText_parameter - - webdriver.bidi.script.realmCreated_event - - webdriver.bidi.script.realmCreated_event.context_parameter - - webdriver.bidi.script.realmCreated_event.origin_parameter - - webdriver.bidi.script.realmCreated_event.realm_parameter - - webdriver.bidi.script.realmCreated_event.sandbox_parameter - - webdriver.bidi.script.realmCreated_event.type_parameter - - webdriver.bidi.script.realmDestroyed_event - - webdriver.bidi.script.realmDestroyed_event.realm_parameter # baseline: false # support: @@ -270,38 +196,13 @@ compat_features: # edge: "126" # firefox: "121" # firefox_android: "121" - - webdriver.bidi.browsingContext.userPromptOpened_event.defaultValue_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event + - webdriver.bidi.browsingContext.contextDestroyed_event.context_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.parent_parameter + - webdriver.bidi.browsingContext.contextDestroyed_event.url_parameter - webdriver.bidi.script.callFunction.userActivation_parameter - webdriver.bidi.script.evaluate.userActivation_parameter - # baseline: false - # support: - # chrome: "126" - # chrome_android: "126" - # edge: "126" - # firefox: "122" - # firefox_android: "122" - - webdriver.bidi.browsingContext.traverseHistory - - webdriver.bidi.browsingContext.traverseHistory.context_parameter - - webdriver.bidi.browsingContext.traverseHistory.delta_parameter - - webdriver.bidi.network.continueWithAuth - - webdriver.bidi.network.continueWithAuth.request_parameter - - # baseline: false - # support: - # chrome: "126" - # chrome_android: "126" - # edge: "126" - # firefox: "123" - # firefox_android: "123" - - webdriver.bidi.browsingContext.locateNodes - - webdriver.bidi.browsingContext.locateNodes.context_parameter - - webdriver.bidi.browsingContext.locateNodes.maxNodeCount_parameter - - webdriver.bidi.browsingContext.locateNodes.serializationOptions_parameter - - webdriver.bidi.browsingContext.locateNodes.startNodes_parameter - - webdriver.bidi.network.failRequest - - webdriver.bidi.network.failRequest.request_parameter - # baseline: false # support: # chrome: "126" @@ -309,53 +210,8 @@ compat_features: # edge: "126" # firefox: "124" # firefox_android: "124" - - webdriver.bidi.browser.createUserContext - - webdriver.bidi.browser.getUserContexts - - webdriver.bidi.browser.removeUserContext + - webdriver.bidi.browsingContext.contextDestroyed_event.userContext_parameter - webdriver.bidi.browsingContext.create.userContext_parameter - - webdriver.bidi.script.addPreloadScript.contexts_parameter - - webdriver.bidi.storage - - webdriver.bidi.storage.getCookies - - webdriver.bidi.storage.getCookies.filter_parameter - - webdriver.bidi.storage.setCookie - - webdriver.bidi.storage.setCookie.cookie_parameter - - # baseline: false - # support: - # chrome: "126" - # chrome_android: "126" - # edge: "126" - # firefox: "125" - # firefox_android: "125" - - webdriver.bidi.input.setFiles - - webdriver.bidi.input.setFiles.context_parameter - - webdriver.bidi.input.setFiles.element_parameter - - webdriver.bidi.input.setFiles.files_parameter - - webdriver.bidi.storage.deleteCookies - - webdriver.bidi.storage.deleteCookies.filter_parameter - - webdriver.bidi.storage.deleteCookies.partition_parameter - - webdriver.bidi.storage.getCookies.partition_parameter - - webdriver.bidi.storage.setCookie.partition_parameter - - # baseline: false - # support: - # chrome: "126" - # chrome_android: "126" - # edge: "126" - # firefox: "126" - # firefox_android: "126" - - webdriver.bidi.network.addIntercept.contexts_parameter - - # baseline: false - # support: - # chrome: "126" - # chrome_android: "126" - # edge: "126" - # firefox: "127" - # firefox_android: "127" - - webdriver.bidi.browsingContext.setViewport.devicePixelRatio_parameter - - webdriver.bidi.permission - - webdriver.bidi.permission.setPermission # baseline: false # support: @@ -365,20 +221,6 @@ compat_features: # firefox: "129" # firefox_android: "129" - webdriver.bidi.browsingContext.close.promptUnload_parameter - - webdriver.bidi.browsingContext.handleUserPrompt - - webdriver.bidi.browsingContext.handleUserPrompt.accept_parameter - - webdriver.bidi.browsingContext.handleUserPrompt.context_parameter - - webdriver.bidi.browsingContext.handleUserPrompt.userText_parameter - - webdriver.bidi.browsingContext.userPromptOpened_event.handler_parameter - - # baseline: false - # support: - # chrome: "126" - # chrome_android: "126" - # edge: "126" - # firefox: "136" - # firefox_android: "136" - - webdriver.bidi.script.addPreloadScript.userContexts_parameter # baseline: false # support: @@ -389,15 +231,6 @@ compat_features: # firefox_android: "137" - webdriver.bidi.session.subscribe.userContexts_parameter - # baseline: false - # support: - # chrome: "126" - # chrome_android: "126" - # edge: "126" - # firefox: "138" - # firefox_android: "138" - - webdriver.bidi.browsingContext.setViewport.userContexts_parameter - # baseline: false # support: # chrome: "126" @@ -405,303 +238,46 @@ compat_features: # edge: "126" # firefox: "140" # firefox_android: "140" + - webdriver.bidi.browsingContext.contextDestroyed_event.clientWindow_parameter - webdriver.bidi.browsingContext.navigationCommitted_event - webdriver.bidi.browsingContext.navigationCommitted_event.context_parameter - webdriver.bidi.browsingContext.navigationCommitted_event.navigation_parameter - webdriver.bidi.browsingContext.navigationCommitted_event.timestamp_parameter - webdriver.bidi.browsingContext.navigationCommitted_event.url_parameter - # baseline: false - # support: - # chrome: "131" - # chrome_android: "131" - # edge: "131" - # firefox: "110" - # firefox_android: "110" - - webdriver.bidi.browsingContext.captureScreenshot - - webdriver.bidi.browsingContext.captureScreenshot.context_parameter - - # baseline: false - # support: - # chrome: "131" - # chrome_android: "131" - # edge: "131" - # firefox: "117" - # firefox_android: "117" - - webdriver.bidi.browsingContext.captureScreenshot.clip_parameter - - # baseline: false - # support: - # chrome: "131" - # chrome_android: "131" - # edge: "131" - # firefox: "121" - # firefox_android: "121" - - webdriver.bidi.browsingContext.captureScreenshot.origin_parameter - - # baseline: false - # support: - # chrome: "131" - # chrome_android: "131" - # edge: "131" - # firefox: "135" - # firefox_android: "135" - - webdriver.bidi.browsingContext.captureScreenshot.format_parameter - - # baseline: false - # support: - # chrome: "132" - # chrome_android: "132" - # edge: "132" - # firefox: "129" - # firefox_android: "129" - - webdriver.bidi.network.setCacheBehavior - - webdriver.bidi.network.setCacheBehavior.cacheBehavior_parameter - - webdriver.bidi.network.setCacheBehavior.contexts_parameter - - # baseline: false - # support: - # chrome: "135" - # chrome_android: "135" - # edge: "135" - # firefox: "137" - # firefox_android: "137" - - webdriver.bidi.webExtension - - # baseline: false - # support: - # chrome: "137" - # chrome_android: "137" - # edge: "137" - # firefox: "139" - # firefox_android: "139" - - webdriver.bidi.emulation - - webdriver.bidi.emulation.setGeolocationOverride - - webdriver.bidi.emulation.setGeolocationOverride.contexts_parameter - - webdriver.bidi.emulation.setGeolocationOverride.coordinates_parameter - - webdriver.bidi.emulation.setGeolocationOverride.userContexts_parameter - - # baseline: false - # support: - # chrome: "138" - # chrome_android: "138" - # edge: "138" - # firefox: "140" - # firefox_android: "140" - - webdriver.bidi.browser.createUserContext.acceptInsecureCerts_parameter - + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "126" # chrome_android: "126" # edge: "126" + # firefox: "143" + # firefox_android: "143" - webdriver.bidi.browsingContext.contextCreated_event - webdriver.bidi.browsingContext.contextCreated_event.children_parameter - webdriver.bidi.browsingContext.contextCreated_event.clientWindow_parameter - webdriver.bidi.browsingContext.contextCreated_event.context_parameter - - webdriver.bidi.browsingContext.contextCreated_event.originalOpener_parameter - webdriver.bidi.browsingContext.contextCreated_event.parent_parameter - webdriver.bidi.browsingContext.contextCreated_event.url_parameter - webdriver.bidi.browsingContext.contextCreated_event.userContext_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + - webdriver.bidi.browsingContext.contextCreated_event.originalOpener_parameter - webdriver.bidi.browsingContext.contextDestroyed_event.children_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event.clientWindow_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event.context_parameter - webdriver.bidi.browsingContext.contextDestroyed_event.originalOpener_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event.parent_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event.url_parameter - - webdriver.bidi.browsingContext.contextDestroyed_event.userContext_parameter - webdriver.bidi.browsingContext.load_event.context_parameter - webdriver.bidi.browsingContext.load_event.url_parameter - - webdriver.bidi.browsingContext.locateNodes.locator_parameter - - webdriver.bidi.browsingContext.navigationFailed_event - - webdriver.bidi.browsingContext.navigationFailed_event.context_parameter - - webdriver.bidi.browsingContext.navigationFailed_event.navigation_parameter - - webdriver.bidi.browsingContext.navigationFailed_event.timestamp_parameter - - webdriver.bidi.browsingContext.navigationFailed_event.url_parameter - webdriver.bidi.browsingContext.navigationStarted_event.url_parameter - webdriver.bidi.browsingContext.reload.ignoreCache_parameter - - webdriver.bidi.log.entryAdded_event.args_parameter - - webdriver.bidi.log.entryAdded_event.source_parameter - - webdriver.bidi.log.entryAdded_event.stackTrace_parameter - - webdriver.bidi.network.disownData - - webdriver.bidi.network.getData - - webdriver.bidi.script.realmCreated_event.owners_parameter - - webdriver.bidi.session.new + - webdriver.bidi.script.message_event.source_parameter - webdriver.bidi.session.new.capabilities_parameter - # baseline: false - # support: - # chrome: "133" - # chrome_android: "133" - # edge: "133" - - webdriver.bidi.network.beforeRequestSent_event - - webdriver.bidi.network.beforeRequestSent_event.context_parameter - - webdriver.bidi.network.beforeRequestSent_event.initiator_parameter - - webdriver.bidi.network.beforeRequestSent_event.intercepts_parameter - - webdriver.bidi.network.beforeRequestSent_event.isBlocked_parameter - - webdriver.bidi.network.beforeRequestSent_event.navigation_parameter - - webdriver.bidi.network.beforeRequestSent_event.redirectCount_parameter - - webdriver.bidi.network.beforeRequestSent_event.request_parameter - - webdriver.bidi.network.beforeRequestSent_event.timestamp_parameter - - webdriver.bidi.network.fetchError_event - - webdriver.bidi.network.fetchError_event.context_parameter - - webdriver.bidi.network.fetchError_event.errorText_parameter - - webdriver.bidi.network.fetchError_event.intercepts_parameter - - webdriver.bidi.network.fetchError_event.isBlocked_parameter - - webdriver.bidi.network.fetchError_event.navigation_parameter - - webdriver.bidi.network.fetchError_event.redirectCount_parameter - - webdriver.bidi.network.fetchError_event.request_parameter - - webdriver.bidi.network.fetchError_event.timestamp_parameter - - # baseline: false - # support: - # chrome: "135" - # chrome_android: "135" - # edge: "135" - - webdriver.bidi.input.fileDialogOpened_event - - webdriver.bidi.input.fileDialogOpened_event.context_parameter - - webdriver.bidi.input.fileDialogOpened_event.element_parameter - - webdriver.bidi.input.fileDialogOpened_event.multiple_parameter - - # baseline: false - # support: - # chrome: "136" - # chrome_android: "136" - # edge: "136" - - webdriver.bidi.browsingContext.downloadWillBegin_event - - webdriver.bidi.browsingContext.downloadWillBegin_event.context_parameter - - webdriver.bidi.browsingContext.downloadWillBegin_event.navigation_parameter - - webdriver.bidi.browsingContext.downloadWillBegin_event.suggestedFilename_parameter - - webdriver.bidi.browsingContext.downloadWillBegin_event.timestamp_parameter - - webdriver.bidi.browsingContext.downloadWillBegin_event.url_parameter - - # baseline: false - # support: - # chrome: "137" - # chrome_android: "137" - # edge: "137" - - webdriver.bidi.emulation.setGeolocationOverride.error_parameter - - # baseline: false - # support: - # chrome: "138" - # chrome_android: "138" - # edge: "138" - - webdriver.bidi.browser.createUserContext.proxy_parameter - - # baseline: false - # support: - # firefox: "112" - # firefox_android: "112" - - webdriver.bidi.browsingContext.print - - webdriver.bidi.browsingContext.print.background_parameter - - webdriver.bidi.browsingContext.print.context_parameter - - webdriver.bidi.browsingContext.print.margin_parameter - - webdriver.bidi.browsingContext.print.orientation_parameter - - webdriver.bidi.browsingContext.print.pageRanges_parameter - - webdriver.bidi.browsingContext.print.page_parameter - - webdriver.bidi.browsingContext.print.scale_parameter - - webdriver.bidi.browsingContext.print.shrinkToFit_parameter - - # baseline: false - # support: - # firefox: "116" - # firefox_android: "116" - - webdriver.bidi.session.end - - # baseline: false - # support: - # firefox: "122" - # firefox_android: "122" - - webdriver.bidi.network.authRequired_event - - webdriver.bidi.network.authRequired_event.context_parameter - - webdriver.bidi.network.authRequired_event.navigation_parameter - - webdriver.bidi.network.authRequired_event.redirectCount_parameter - - webdriver.bidi.network.authRequired_event.request_parameter - - webdriver.bidi.network.authRequired_event.timestamp_parameter - - # baseline: false - # support: - # firefox: "124" - # firefox_android: "124" - - webdriver.bidi.browser.removeUserContext.userContext_parameter - - webdriver.bidi.network.authRequired_event.intercepts_parameter - - webdriver.bidi.network.authRequired_event.isBlocked_parameter - - webdriver.bidi.network.continueRequest - - webdriver.bidi.network.continueRequest.request_parameter - - webdriver.bidi.network.continueResponse - - webdriver.bidi.network.continueResponse.credentials_parameter - - webdriver.bidi.network.continueResponse.request_parameter - - webdriver.bidi.network.provideResponse - - webdriver.bidi.network.provideResponse.request_parameter - - # baseline: false - # support: - # firefox: "128" - # firefox_android: "128" - - webdriver.bidi.network.continueRequest.body_parameter - - webdriver.bidi.network.continueRequest.cookies_parameter - - webdriver.bidi.network.continueRequest.headers_parameter - - webdriver.bidi.network.continueRequest.method_parameter - - # baseline: false - # support: - # firefox: "131" - # firefox_android: "131" - - webdriver.bidi.network.continueResponse.cookies_parameter - - webdriver.bidi.network.continueResponse.headers_parameter - - webdriver.bidi.network.continueResponse.reasonPhrase_parameter - - webdriver.bidi.network.continueResponse.statusCode_parameter - - # baseline: false - # support: - # firefox: "133" - # firefox_android: "133" - - webdriver.bidi.network.continueRequest.url_parameter - # baseline: false # support: # firefox: "134" # firefox_android: "134" - webdriver.bidi.browser.getClientWindows - - # baseline: false - # support: - # firefox: "137" - # firefox_android: "137" - - webdriver.bidi.webExtension.install - - webdriver.bidi.webExtension.install.extensionData_parameter - - webdriver.bidi.webExtension.uninstall - - webdriver.bidi.webExtension.uninstall.extension_parameter - - # baseline: false - # support: {} - - webdriver.bidi.browsingContext.historyUpdated_event - - webdriver.bidi.browsingContext.historyUpdated_event.context_parameter - - webdriver.bidi.browsingContext.historyUpdated_event.timestamp_parameter - - webdriver.bidi.browsingContext.historyUpdated_event.url_parameter - - webdriver.bidi.network.authRequired_event.response_parameter - - webdriver.bidi.network.provideResponse.body_parameter - - webdriver.bidi.network.provideResponse.cookies_parameter - - webdriver.bidi.network.provideResponse.headers_parameter - - webdriver.bidi.network.provideResponse.reasonPhrase_parameter - - webdriver.bidi.network.provideResponse.statusCode_parameter - - webdriver.bidi.network.responseCompleted_event - - webdriver.bidi.network.responseCompleted_event.context_parameter - - webdriver.bidi.network.responseCompleted_event.intercepts_parameter - - webdriver.bidi.network.responseCompleted_event.isBlocked_parameter - - webdriver.bidi.network.responseCompleted_event.navigation_parameter - - webdriver.bidi.network.responseCompleted_event.redirectCount_parameter - - webdriver.bidi.network.responseCompleted_event.request_parameter - - webdriver.bidi.network.responseCompleted_event.response_parameter - - webdriver.bidi.network.responseCompleted_event.timestamp_parameter - - webdriver.bidi.network.responseStarted_event - - webdriver.bidi.network.responseStarted_event.context_parameter - - webdriver.bidi.network.responseStarted_event.intercepts_parameter - - webdriver.bidi.network.responseStarted_event.isBlocked_parameter - - webdriver.bidi.network.responseStarted_event.navigation_parameter - - webdriver.bidi.network.responseStarted_event.redirectCount_parameter - - webdriver.bidi.network.responseStarted_event.request_parameter - - webdriver.bidi.network.responseStarted_event.response_parameter - - webdriver.bidi.network.responseStarted_event.timestamp_parameter From a88de38c04b90991ad07876e26ce807aa538aa96 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Thu, 2 Jul 2026 15:29:17 +0200 Subject: [PATCH 8/8] Remove useless comments --- features/webdriver-bidi.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/features/webdriver-bidi.yml b/features/webdriver-bidi.yml index f567e51dee5..b63dd957753 100644 --- a/features/webdriver-bidi.yml +++ b/features/webdriver-bidi.yml @@ -11,11 +11,9 @@ compat_features: # Every test needs a session. - webdriver.bidi.session # Uncomment the next line and remove this line when https://github.com/mdn/browser-compat-data/pull/29965 is merged. - # This key should really be required in this feature. # - webdriver.bidi.session.new - webdriver.bidi.session.status # Uncomment the next line and remove this line when https://github.com/mdn/browser-compat-data/pull/29968 is merged. - # This key is required, and it is supported in Chrome. BCD is out of date. # - webdriver.bidi.session.end # All BiDi events go through these commands.