-
Notifications
You must be signed in to change notification settings - Fork 212
Description
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?