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?