w3c / w3c/webdriver

Replace usage of "browsing contexts" in favor of "navigable"

Open
#1,696 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
HTML
Stars
718
Forks
228
PR merge metrics
No merged PRs in 30d

Description

In https://github.com/whatwg/html/pull/6315, HTML created an new concept, "navigable", which is almost certainly the correct thing for this specification to target, instead of browsing contexts.

In particular, a navigable stays the same even across browsing context swaps such as those induced by cross-origin opener policy. So for example, all the navigation-related stuff in WebDriver was previously broken in COOP cases, as the browsing context would be left untouched by the navigation and a new second browsing context, which WebDriver wasn't tracking, would be created. Now, by having WebDriver interface with the navigable, this problem can be avoided.

This will probably need some pretty extensive surgery. I am happy to help advise as needed.

/cc @marcoscaceres

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the WebDriver specification's uses of “browsing context” and the referenced HTML PR 6315 defining “navigable.” Trace the navigation-related behavior described in the issue, especially across cross-origin opener policy swaps. Done means the relevant specification concepts target navigables consistently and WebDriver retains the correct object across those swaps.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
api
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.