diff --git a/webdriver-spec.html b/webdriver-spec.html index 73d1c94aa..c0de17539 100644 --- a/webdriver-spec.html +++ b/webdriver-spec.html @@ -2423,6 +2423,14 @@
An intermediary node will maintain an associated + session for each active session. This is + the session on the upstream neighbor that is created + when the intermediary node executes the New + Session command. Closing a session on + an intermediary node will also close the session of + the associated session. +
All commands, except New Session and Status, have an associated current session, which is the session in which that command will run. @@ -2496,15 +2504,34 @@
Set the webdriver-active flag to false. +
Perform the folowing substeps based on the remote end's + type: +
Set the webdriver-active flag to false. -
Close any top-level browsing contexts - associated with the session, - without prompting to unload. +
An endpoint node must close any top-level + browsing contexts associated with the session, + without prompting to unload. +
Close the associated session. If this causes + an error to occur, complete the remainder of this + algorithm before returning the error. +
Remove the current session from active sessions.
Perform any implementation-specific cleanup steps. + +
If an error has occurred in any of the steps above,
+ return the error, otherwise return success with
+ data null
.
Closing a session might cause the associated browser process to be killed. @@ -2565,12 +2592,21 @@
The remote end steps are:
If the remote end is an intermediary node, - take implementation-defined steps that either result in - returning an error with error code session not created, - or in returning a success with data - that is isomorphic to that returned by remote ends - according to the rest of this algorithm. +
If the remote end is an intermediary node, take + implementation-defined steps that either result in returning + an error with error code session not created, + or in returning a success with data that is isomorphic to + that returned by remote ends according to the rest of this + algorithm. If an error is not returned, the intermediary + node must retain a reference to the session created on + the upstream node as the associated session such that + commands may be forwarded to this associated session on + subsequent commands. + +
How this is done is entirely up to the implementation,
+ but typically the sessionId
, and URL and
+ URL prefix of the upstream remote end will need
+ to be tracked.
If the maximum active sessions is equal to the length of the list of active sessions, @@ -2685,7 +2721,7 @@
The remote end steps are:
Try to close the session.
If there are no more open top-level browsing contexts, - then close the session. + then try to close the session.