Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 126 additions & 13 deletions features/webdriver-bidi.yml
Original file line number Diff line number Diff line change
@@ -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
Loading