diff --git a/features/webdriver-bidi.yml b/features/webdriver-bidi.yml index 61f2962f92d..b63dd957753 100644 --- a/features/webdriver-bidi.yml +++ b/features/webdriver-bidi.yml @@ -1,17 +1,130 @@ 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: + 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. + # - 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. + # - 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.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.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 + + # 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 + + 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 d8851e1da01..ffb51fb3b50 100644 --- a/features/webdriver-bidi.yml.dist +++ b/features/webdriver-bidi.yml.dist @@ -1,4 +1,283 @@ # Generated from: webdriver-bidi.yml # Do not edit this file by hand. Edit the source file instead! -{} +status: + baseline: false + support: + chrome: "126" + chrome_android: "126" + edge: "126" + firefox: "143" + firefox_android: "143" +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: "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.events_parameter + + # 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.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: + # 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.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.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 + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "107" + # firefox_android: "107" + - webdriver.bidi.browsingContext.create.referenceContext_parameter + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # 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: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "110" + # firefox_android: "110" + - webdriver.bidi.browsingContext.domContentLoaded_event.timestamp_parameter + - webdriver.bidi.browsingContext.load_event.timestamp_parameter + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # 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: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "114" + # firefox_android: "114" + - 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 + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # 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 + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # 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 + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "121" + # firefox_android: "121" + - 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: "124" + # firefox_android: "124" + - webdriver.bidi.browsingContext.contextDestroyed_event.userContext_parameter + - webdriver.bidi.browsingContext.create.userContext_parameter + + # baseline: false + # support: + # chrome: "126" + # chrome_android: "126" + # edge: "126" + # firefox: "129" + # firefox_android: "129" + - webdriver.bidi.browsingContext.close.promptUnload_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: "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 + + # ⬇️ 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.parent_parameter + - webdriver.bidi.browsingContext.contextCreated_event.url_parameter + - webdriver.bidi.browsingContext.contextCreated_event.userContext_parameter + + # 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.originalOpener_parameter + - webdriver.bidi.browsingContext.load_event.context_parameter + - webdriver.bidi.browsingContext.load_event.url_parameter + - webdriver.bidi.browsingContext.navigationStarted_event.url_parameter + - webdriver.bidi.browsingContext.reload.ignoreCache_parameter + - webdriver.bidi.script.message_event.source_parameter + - webdriver.bidi.session.new.capabilities_parameter + + # baseline: false + # support: + # firefox: "134" + # firefox_android: "134" + - webdriver.bidi.browser.getClientWindows