Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update webdriver-bidi with the new BCD keys #2777

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
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
88 changes: 75 additions & 13 deletions features/webdriver-bidi.yml
Original file line number Diff line number Diff line change
@@ -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
288 changes: 287 additions & 1 deletion features/webdriver-bidi.yml.dist
Original file line number Diff line number Diff line change
@@ -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
Comment on lines +233 to +274
Copy link
Contributor Author

@captainbrosset captainbrosset Mar 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These keys are supported either in chromium or in firefox, but not in both, unlike the keys that come before them.
Are they later additions? Should we ignore them from the initial bidi feature and put them into other features?


# ⬇️ 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
Comment on lines +276 to +290
Copy link
Contributor Author

@captainbrosset captainbrosset Mar 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These keys are not supported anywhere. Good candidates to move elsewhere if they belong to a separate feature / later addition. Are they later additions to bidi? Are they needed to use bidi, or separate capabilities?