Skip to content

Should a navigation clean-up the browsing context input state map? #1859

Open
@whimboo

Description

@whimboo

The WebDriver specification expresses the following:

A session has an associated browsing context input state map, which is a weak map with top-level browsing contexts as keys, and input state objects as values. This is initially set to an empty map.

Hereby we we bind the map to a given browsing context. Now consider a situation when an action has already been run and the input cancel list has been updated for actions to be done in release actions to reset the states. But before the call to release actions a navigation takes place.

If it's a same-origin navigation the browsing context is kept and as such the reference to the input state map as well, which means that a call to release actions will run the so far collected undo actions.

If it's a cross-origin navigation the browsing context will be replaced and as such the WeakRef is removed which means that there are no undo actions available anymore.

The above results into an unclear situation and behavior for release actions depending on which type of navigation is run. We probably should define a clear behavior here. Maybe having all browsing context references replaced with navigable might already do it?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions