diff --git a/index.html b/index.html index 502eb9ef..86a9bc62 100644 --- a/index.html +++ b/index.html @@ -274,9 +274,10 @@
For remote ends the standard defines two broad conformance @@ -306,19 +307,17 @@
-The readiness state of a remote end -indicates whether it is free to accept new connections. -It must be false if the maximum active sessions -is equal to the length of the list of active sessions, -or if the node is an intermediary node -and is known to be in a state in which attempting to create new sessions would fail. -In all other cases it must be true. - -
If the intermediary node - is a multiplexer that manages - multiple endpoint nodes, - this might indicate its ability to purvey more sessions, - for example if it has hit its maximum capacity. +The readiness state of a remote end indicates +whether it is free to accept new connections. It must be false if the +implementation is an endpoint node and the list of active +HTTP sessions is not empty, or otherwise if the remote end is known to +be in a state in which attempting to create new sessions would +fail. In all other cases it must be true. + +
If the intermediary node is a multiplexer that
+ manages multiple endpoint nodes, this
+ might indicate its ability to purvey more sessions, for
+ example if it has hit its maximum capacity.
After such a connection has been established,
- a remote end must run the following steps: After a connection is established, the remote end must run
+the following steps:
Read bytes from the connection until a
- complete HTTP request can be constructed from the data.
- Let request be a request constructed from the
- received data, according to the requirements of [[RFC7230]]. If it
- is not possible to construct a complete HTTP request,
- the remote end must either close the connection,
- return an HTTP response with status code 500, or return
- an error with error code unknown error.
+ [=iteration/While=] the connection is not closed: Let request match be the result of the algorithm
- to match a request with request’s
- method and URL as arguments.
+ Read bytes from the connection until a
+ complete HTTP request can be constructed from the data.
+ Let request be a request constructed from the
+ received data, according to the requirements of [[RFC7230]]. If it
+ is not possible to construct a complete HTTP request,
+ the remote end must either close the connection,
+ return an HTTP response with status code 500, or return
+ an error with error code unknown error.
- If request match is of type error,
- send an error with request match’s error code
- and jump to step 1.
+ Let request match be the result of the algorithm
+ to match a request with request’s
+ method and URL as arguments.
- Otherwise, let command and command parameters
- be request match’s data. Let url variables be a
- url variables dictionary mapping the command parameters
- to their corresponding values.
+ If request match is of type error,
+ send an error with request match’s error code
+ and [=iteration/continue=].
- If session id is among the variables defined by command parameters:
+ Otherwise, let command and URL variables
+ be request match’s data.
- This condition is intended to exclude the New Session and Status
- commands and any extension commands which do not operate on a particular session.
+ Let session be null.
- Let session id be the corresponding variable
- from command parameters.
+ If URL variables [=map/contains=] " Let the current session be the session
- with ID session id
- in the list of active sessions,
- or This condition is intended to exclude the New Session and Status
+ commands and any extension commands which do not operate on a particular session.
- If the current session is Let session id be URL variables[" If the current session is not For each active session in the list of active sessions:
+ If active session's session ID is equal
+ to session id, then let session
+ be active session, and break.
+ Enqueue request
- in the current session’s request queue.
+ If the session is Wait until the first element
- in the current session’s request queue
- is request:
+ Dequeue request from the current session’s request queue.
+ Enqueue a task on remote end's request queue to run the following
+ steps:
- If the list of active sessions no longer contains the current session,
- set the current session to If request’s method is POST:
+ Let parameters be Let parse result be the result of
- parsing as JSON with request’s
- body as the argument. If this process throws an exception,
- return an error with error code invalid
- argument and jump back to step 1 in this overall algorithm.
+ If request’s method is POST:
- If parse result is not an Object,
- send an error with error code invalid argument
- and jump back to step 1 in this overall algorithm.
+ Let parse result be the result of
+ parsing as JSON with request’s
+ body as the argument. If this process throws an exception,
+ return an error with error code invalid
+ argument and jump back to step 1 in this overall algorithm.
- Otherwise, let parameters be parse result.
- If parse result is not an Object,
+ send an error with error code invalid argument
+ and jump back to step 1 in this overall algorithm.
+
+ Otherwise, let parameters be parse result.
+ Otherwise, let parameters be Let navigate result be the result
+ of wait for navigation to complete.
- Wait for navigation to complete. If this returns
- an error return its value and
- jump to step 1 in this overall algorithm, otherwise continue.
+ If navigate result is an error,
+ send an error with error code
+ equal to navigate result’s error code
+ and return.
- Let response result be the return value
- obtained by running the remote end steps for command
- with an argument named url variables whose value is
- url variables and an
- additional argument named parameters whose value is
- parameters.
+ Let response result be the return value
+ obtained by running the remote end steps
+ for command with session, URL
+ variables, and parameters.
- If response result is an error,
- send an error with error code
- equal to response result’s error code
- and jump back to step 1 in this overall algorithm.
+ If response result is an error,
+ send an error with error code
+ equal to response result’s error code
+ and return.
- Otherwise, if response result is a success,
- let response data be response result’s data.
+ Assert: response result is a success.
- Send a response with status 200 and response data.
+ Let response data be response result’s data.
- Jump to step 1.
+ Send a response with status 200 and response data.
+ When required to send an error,
- with error code
- and an optional error data dictionary,
+ When required to send an error, with error
+ code and an optional error data dictionary,
a remote end must run the following steps: Write response bytes
to the connection.
A url variable dictionary is defined
- as the mapping of a command’s URI template variable names
- to their corresponding values.
+
Request routing
- is the process of going from a HTTP request
+ is the process of going from an HTTP request
to the series of steps needed
to implement the command represented by that request.
@@ -631,10 +629,10 @@ Let endpoints be a list
containing each row in the table of endpoints.
- Remove each entry from endpoints
- for which the concatenation of the URL prefix
- and the entry’s URI template
- does not match URL’s path.
+ Remove each entry from endpoints for which the
+ concatenation of the URL prefix and the entry’s URI
+ template does not have a valid expansion equal to
+ URL’s path.
If there are no entries in endpoints,
return error with error code unknown command.
@@ -649,13 +647,19 @@ There is now exactly one entry in endpoints;
let entry be this entry.
- Let parameters be the result of extracting the variables
- from URL using entry’s URI template.
+ Let URI template be the concatenation of URL
+ prefix with entry's URI template.
Let command be entry’s command.
+ Let URL variables be a map with one
+ [=map/entry=] for each variable defined in URI template,
+ with the entry name equal to the template variable name, and the
+ entry value being the variable value required to expand the URI
+ template to match URL's path.
+
Return success with data
- command and parameters.
+ command and URL variables.
Processing model
However the exact details of how this connection works
and how it is established are out of scope.
-
-
-
+
+
-
+ session id"
:
- null
if there is no such matching session.
+ null
- send an error with error code invalid session id,
- then jump to step 1 in this overall algorithm.
+
+
- session id
"].
- null
:
+
+
-
-
- null
+ send an error with error code invalid session id,
+ then [=iteration/continue=].
- null
.
-
+
+ null
.
-
-
-
+
+ null
.
+
@@ -597,16 +597,14 @@
-Processing model
Routing requests
Routing requests
Routing requests
When matching capabilities - with JSON Object argument capabilities, - an endpoint node must take the following steps: +
+ When matching capabilities given + JSON Object capabilities, and a session + configuration flags flags, an endpoint node + must take the following steps:
Let matched capabilities be a JSON Object @@ -1991,7 +1998,18 @@
setWindowRect
"
- If flags contains "http
", add the
+ following entries to matched capabilities:
+
strictFileInteractability
"
+ Optionally add extension capabilities as entries @@ -2085,9 +2103,9 @@
acceptInsecureCerts
"
- If value is true
- and the endpoint node does not support insecure TLS certificates,
- return success with data null
.
+
If accept insecure TLS flag is set and not equal
+ to value, return success with
+ data null
.
If the endpoint node does not support insecure TLS certificates and this is the reason @@ -2095,11 +2113,11 @@
proxy
"
- If the endpoint node does not allow the proxy it
- uses to be configured, or if the proxy configuration defined
- in value is not one that passes the endpoint
- node’s implementation-specific validity checks,
- return success with data null
.
+
If the has proxy configuration flag is set, or if
+ the proxy configuration defined in value is not one
+ that passes the endpoint node’s implementation-specific
+ validity checks, return success with
+ data null
.
A local end would only send this capability if it expected it to be honored and the configured proxy @@ -2116,7 +2134,7 @@
Otherwise, if name is the key of an @@ -2128,8 +2146,9 @@
Set a property on matched capabilities - with name name and value match value. +
If match value is not null, set a property + on matched capabilities with name name and + value match value.
Return success with data matched capabilities. @@ -2141,29 +2160,10 @@
A session is equivalent to a single instantiation of a particular user agent, - including all its child browsers. - WebDriver gives each session a unique session ID - that can be used to differentiate one session from another, - allowing multiple user agents to be controlled from a single HTTP server, - and allowing sessions to be routed via a multiplexer - (known as an intermediary node). - -
A WebDriver session represents - the connection between a local end and a specific remote end. - -
A session is started when - a New Session is invoked. - It is an error to send any commands before starting a session, - or to continue to send commands after - the session has been closed. - Maintaining session continuity between commands to - the remote end requires passing a session ID. - -
A session is torn down at some later point; - either explicitly by invoking Delete Session, - or implicitly when Close Window is called - at the last remaining top-level browsing context. +
A WebDriver session represents the + logical connection between a local end and a + specific remote end. The session object holds state + specific to that connection.
An intermediary node will maintain an associated session for each active session. This is @@ -2173,28 +2173,27 @@
All commands, except New Session and Status, - have an associated current session, - which is the session in which that command will run. +
A session has a session ID, which is the string + representation of a UUID used to uniquely identify the + session. This is set when creating the session. + +
A session has a boolean HTTP flag which is set +when the session is created. A session with this flag set is +an HTTP session.
A remote end has an associated list of - active sessions, - which is a list of all sessions that are currently started. - A remote end that is not an intermediary node - has at most one active session at a given time. - -
A remote end has an associated - maximum active sessions (an integer) - that defines the number of active sessions - that are supported. - This may be “unlimited” for intermediary nodes, - but must be exactly one for a remote end that is an endpoint node. - -
A session has an associated session ID (a string
- representation of a UUID) used to uniquely identify this
- session. Unless stated otherwise it is null
.
-
-
A session has an associated current browsing
+ active sessions, which is a list of all sessions
+ that are currently started.
+
+ A remote end has an associated list of
+ active HTTP sessions, which is a list of all HTTP
+ sessions that are currently started.
+
+ The limitation of a single HTTP session for endpoint
+nodes means that the first entry in the list of active HTTP
+sessions will be the only entry.
+
+ A HTTP session has an associated current browsing
context, which is the browsing context against
which commands will run, an associated current parent
browsing context, which is set to the parent of the current
@@ -2203,31 +2202,23 @@
-A session has an associated session timeouts
-that records the timeout duration values used to control the behavior
+ An HTTP session has an associated session timeouts that records the timeout duration
+values used to control the behavior
of script evaluation,
navigation,
and element retrieval.
- A session has an associated page loading strategy,
- which is one of the keywords from the table of page load strategies.
- Unless stated otherwise, it is normal.
-
- A session has an associated secure TLS state
- that indicates whether untrusted or self-signed TLS certificates
- should be trusted for the duration of the WebDriver session.
- If it is unset, this indicates that certificate- or TLS errors
- that occur upon navigation should be suppressed.
- The state can be unset by providing
- an " An HTTP session has an associated page loading
+ strategy, which is one of the keywords from the table of
+ page load strategies. Unless stated otherwise, it
+ is normal.
- A session has an associated strict file interactability
- state which is a boolean.
+ An HTTP session has an associated strict file
+ interactability state which is a boolean.
-
-A session has an associated user prompt handler.
+ A HTTP session has an associated user prompt handler.
Unless stated otherwise it is in the dismiss and notify state.
A session has an associated browsing context input
@@ -2235,25 +2226,144 @@ A session has an associated request queue which is a
- [=queue=] of [=requests=] that are currently awaiting
- processing.
+ An HTTP session has an associated request queue which is a
+queue of requests that are currently awaiting
+processing.
+
+ When a session is created, a [=set=] of session configuration
+flags are provided that define the features of the session. This
+specification always creates sessions with " In addition to per-session state, a remote end that is
+an endpoint node also has additional state that is global
+across all sessions. An endpoint node has an associated accept insecure
+ TLS flag that indicates whether untrusted or self-signed TLS
+ certificates are treated as trusted. The default value of the flag is
+ false if the endpoint doesn't support accepting insecure TLS
+ connections, or unset otherwise. An endpoint node has an associated has proxy
+ configuration flag that indicates whether the proxy is already
+ configured. The default value of the flag is true if the endpoint
+ doesn't support proxy configuration, or false otherwise. To create a session, given a JSON
+Object capabilites, and session configuration
+flags flags:
+ Let session id be the result of generating a UUID.
+
+ Let session be a new session with session
+ ID session id, and HTTP flag flags contains
+ " Let proxy be the result of getting property
+ " Take implementation-defined steps to set the user agent proxy
+ using the extracted proxy configuration. If the
+ defined proxy cannot be configured return error with
+ error code session not created. Otherwise
+ set the has proxy configuration flag to true. If capabilites has a property named
+ " If flags contains " Let strategy be the result of getting
+ property " If strategy is
+ a string, set the session’s
+ page loading strategy to strategy. Otherwise,
+ set the page loading strategy to normal and set a
+ property of capabilities with name
+ " Let strictFileInteractability be the result of
+ getting property " If capabilities has a property with the key " Let timeouts be the result of trying
+ to JSON deserialize as a timeouts configuration
+ the value of the " Make the session timeouts the new timeouts.
+ Set a property on capabilities with name
+ " Process any extension capabilities
+ in capabilities in an implementation-defined manner. Run any WebDriver new session algorithm defined in
+ external specifications, with arguments session,
+ capabilities, and flags.
+
+ Append session to active sessions.
+
+ If flags contains " When asked to close the session,
+ Set the webdriver-active flag to true. To close the session, given session
a remote end must take the following steps:
If session's HTTP flag is set,
+ remove session from active HTTP sessions.
+
+ Remove session from active sessions.
+
Perform the following substeps based on the remote end’s
type:
Set the webdriver-active flag to false.
-
- An endpoint node must close any top-level
- browsing contexts associated with the session,
- without prompting to unload.
+ If the list of active sessions is empty:
+ Set the webdriver-active flag to false
+ Unset the accept insecure TLS flag.
+ Reset the has proxy configuration flag to its
+ default value.
+ Optionally, close all top-level browsing contexts,
+ without prompting to unload.
+ Remove the current session from active sessions.
-
Perform any implementation-specific cleanup steps.
If an error has occurred in any of the steps above,
@@ -2351,12 +2459,15 @@ The remote end steps are:
+ The remote end steps, given session, URL
+variables and parameters are:
If the maximum active sessions is equal to
- the length of the list of active sessions,
- return error with error code session not created.
+ If the implementation is an endpoint node, and the
+ list of active HTTP sessions is not empty, or otherwise if
+ the implementation is unable to start an additional session,
+ return error with error code session not
+ created.
If the remote end is an intermediary node, take
implementation-defined steps that either result in returning
@@ -2374,100 +2485,38 @@ If the maximum active sessions is equal to
- the length of the list of active sessions,
- return error with error code session not created.
+ Let flags be a set containing " Let capabilities be the result
- of trying to process capabilities
- with parameters as an argument.
+ Let capabilities be the result of trying
+ to process capabilities with parameters
+ and flags.
If capabilities’s is Let session id be the result of generating a UUID.
-
- Let session be a new session
- with the session ID of session id.
-
- Set the current session to session.
-
- Run any WebDriver new session algorithm defined in
- external specifications, with arguments session
- and capabilities.
-
- Append session to active sessions.
+ Let session be the result of create a
+ session, with capabilities, and flags.
Let body be a JSON Object initialized with:
Initialize the following from capabilities:
-
- Let strategy be the result of getting property
- " If strategy is a string, set the current session’s
- page loading strategy to strategy. Otherwise,
- set the page loading strategy to normal and set a
- property of capabilities with name
- " Let strictFileInteractability be the result of getting property
- " If strictFileInteractability is a boolean,
- set the current session’s strict file interactability to
- strictFileInteractability. Otherwise set the
- current session’s strict file interactability to false.
-
- Let proxy be the result of getting property
- " Take implementation-defined steps to set the user agent proxy
- using the extracted proxy configuration. If the
- defined proxy cannot be configured return error with
- error code session not created. If capabilities has a property with the key " Let timeouts be the result of trying
- to JSON deserialize as a timeouts configuration
- the value of the " Make the session timeouts the new timeouts.
- Set a property on capabilities with name
- " Apply changes to the user agent for any implementation-defined capabilities
- selected during the capabilities processing step.
- Set the webdriver-active flag to true. Set the current top-level browsing context
- for session with the top-level browsing context
- of the UA’s current browsing context.
+ Set session' current top-level browsing
+ context to one of the endpoint node's top-level
+ browsing contexts, preferring the top-level browsing
+ context that
+ has system
+ focus, or otherwise preferring any top-level browsing
+ context whose
+ visibility
+ state
+ is visible.
WebDriver implementations typically start a
completely new browser instance, but there is no requirement in
@@ -2496,11 +2545,12 @@ The remote end steps are:
+ The remote end steps, given session, URL
+variables and parameters are:
If the current session is an active session,
- try to close the session.
+ If session is an active HTTP session,
+ try to close the session with session.
The remote end steps are: The remote end steps, given session, URL
+variables and parameters are:
Sessions
set to the top-browsing context ancestor of the current browsing
context, when changing browsing contexts.acceptInsecureCerts
" capability with the value true.
- Unless stated otherwise, it is set.
+Sessions
contexts as keys, and input state objects as values. This
is initially set to an empty map.
-http
"
+in session configuration flags, which corresponds to
+the HTTP flag. External specficiations may define additional
+flags, or create sessions without the HTTP flag.
+
+Global State
+
+
+
+
+http
".
+
+ proxy
" from capabilities and run the
+ substeps of the first matching statement:
+
+
+
+ proxy
" and a value that is a new JSON Object.acceptInsecureCerts
", set the endpoint
+ node's accept insecure TLS flag to the result
+ of getting a property named
+ "acceptInsecureCerts
" from capabilities.
+
+ http
":
+
+
+ pageLoadStrategy
"
+ from capabilities. pageLoadStrategy
" and value "normal
".strictFileInteractability
"
+ from capabilities. If strictFileInteractability
+ is a boolean, set session’s strict file interactability to
+ strictFileInteractability. Otherwise set
+ session’s strict file interactability to false.timeouts
":
+
+
+
+
+ timeouts
" property.
+
+ timeouts
" and value that of the
+ JSON deserialization of the session timeouts.
+
+ http
",
+ append session to active HTTP sessions.
-
+
+
-
-
+
Sessions
New Sessio
]
-
-
New Sessio
URL prefix of the upstream remote end will need
to be tracked.
-
http
".
- null
,
return error with error code session not created.
-
- sessionId
"
- capabilities
"
-
-
- pageLoadStrategy
" from capabilities.
-
- pageLoadStrategy
" and value "normal
".
-
- strictFileInteractability
" from capabilities.
-
- proxy
" from capabilities and run the
- substeps of the first matching statement:
-
-
-
- proxy
" and a value that is a new JSON Object.timeouts
":
-
-
-
-
- timeouts
" property.
-
- timeouts
" and value that of the
- JSON deserialization of the session timeouts.
-
- Delete Session
-
-
@@ -2541,7 +2591,8 @@ Status
ready
and message
are reserved and must not be overwritten.
-
-The remote end step are: +
The remote end steps, given session, URL +variables and parameters are:
Let timeouts be the timeouts object for @@ -2747,14 +2799,14 @@
-The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let timeouts be the result of trying to JSON deserialize as a timeouts configuration -the request’s parameters. +with parameters.
Make the session timeouts the new timeouts. @@ -2771,8 +2823,9 @@
The commands in this section allow navigation of - the current top-level browsing context to new URLs - and introspection of the document currently loaded in this browsing context. + the session's current top-level browsing context to new + URLs and introspection of the document currently loaded in + this browsing context.
For commands that cause a new document to load, the point at which the command returns @@ -2834,16 +2887,18 @@
Return success with data value.
When asked to wait for navigation to complete, +
When asked to wait for navigation to complete, given session, run the following steps:
If the current session
- has a page loading strategy of none,
- return success with data null
.
+
If session's page loading strategy
+ is none, return success with
+ data null
.
-
If the current browsing context is no longer open,
- return success with data null
.
+
If session's current browsing context
+ is no longer open, return success with
+ data null
.
Start a timer. If this algorithm has not completed before timer reaches @@ -2852,15 +2907,15 @@
If there is an ongoing attempt to navigate - the current browsing context that has not + session's current browsing context that has not yet matured, wait for navigation to mature.
Let readiness target be the document - readiness state associated with the current - session’s page loading strategy, which can be found in - the table of page load strategies. + readiness state associated with the session’s page + loading strategy, which can be found in the table of page + load strategies. -
Wait for the current browsing context’s +
Wait for session's current browsing context’s document readiness state to reach readiness target, or for the session page load timeout to pass, whichever @@ -2886,12 +2941,12 @@
If the current session’s secure TLS state is disabled, - take implementation specific steps to ensure - the navigation is not aborted - and that the untrusted- or invalid TLS certificate error - that would normally occur under these circumstances, - are suppressed. + +
If the remote end’s accept insecure TLS state is + true, take implementation specific steps to ensure the navigation + is not aborted and that the untrusted or invalid TLS certificate + error that would normally occur under these circumstances, are + suppressed.
Otherwise return error with error code insecure certificate. @@ -2915,43 +2970,47 @@
The command causes the user agent - to navigate the current top-level browsing context to a new location. +
The command causes the user agent to navigate + the session's current top-level browsing context to a + new location. -
If the session is not in a secure TLS state, - no certificate errors that would normally - cause the user agent to abort and show a security warning - are to hinder navigation to the requested address. +
If the remote end's accept insecure TLS flag is true, no
+ certificate errors that would normally cause the user agent to abort
+ and show a security warning are to hinder navigation to the requested
+ address.
To navigate the current top-level browsing context
- of the session with ID 1 to To navigate the current top-level browsing context of
+ the session with ID 1
+ to https://example.com
,
- the local end would POST to /session/1/url with the body:
+ https://example.com
, the local end would POST
+ to /session/1/url with the body:
{"url": "https://example.com"}
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Let url be the result of
- getting the property url
- from the parameters argument.
+
Let URL be the result of getting a property
+ named "url
" from parameters.
-
If url is not an absolute URL +
If URL is not an absolute URL or is not an absolute URL with fragment or not a - local scheme, - return error with error code invalid argument. + local scheme, return error with error + code invalid argument. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session. -
Let current URL be the current top-level browsing context’s - active document’s [=Document/URL=]. +
Let current URL be session's current + top-level browsing context’s active document’s [=Document/URL=]. -
If current URL and url do not have the same +
If current URL and URL do not have the same absolute URL:
Navigate the current top-level browsing context to url. +
Navigate session's current top-level + browsing context to URL. -
If url is special except for file
and
+
If URL is special except for file
and
current URL and URL do not have the same absolute URL :
Try to wait for navigation to complete. @@ -2972,10 +3032,11 @@
Try to run the post-navigation checks.
Set the current browsing context with the current - top-level browsing context. +
Set the current browsing context + with session and current top-level browsing + context. -
If the current top-level browsing context contains +
If session's current top-level browsing context contains a refresh state pragma directive of time 1 second or less, wait until the refresh timeout has elapsed, a new navigate has begun, and return to the first step of this @@ -2999,19 +3060,22 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session. -
Let url be the serialization - of the current top-level browsing context’s +
Let URL be the serialization + of session's current top-level browsing context’s active document’s [=Document/URL=]. -
Return success with data url. +
Return success with data URL.
This command causes the browser to traverse
one step backward in the joint session history
- of the current top-level browsing context.
+ of session's current top-level browsing context.
This is equivalent to pressing the back button in the browser chrome
or invoking window.history.back
.
-
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Traverse the history by a delta –1 - for the current browsing context. + for session's current browsing context.
If the previous step completed results in a pageHide
[=fire an event|event firing=], wait until pageShow
[=fire an event|event fires=]
@@ -3076,20 +3143,23 @@
This command causes the browser
to traverse one step forwards in the joint session history
- of the current top-level browsing context.
+ of session's current top-level browsing context.
This is equivalent to pressing the forward button in the browser chrome
or invoking window.history.forward
.
-
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Traverse the history by a delta 1 - for the current browsing context. + for session's current browsing context.
If the previous step completed results in a pageHide
event firing, wait until pageShow
[=fire an event|event fires=]
@@ -3119,29 +3189,34 @@
This command causes the browser - to reload the page in the current top-level browsing context. +
This command causes the browser to reload the page + in session's current top-level browsing context. -
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session. -
Initiate an overridden reload of the current top-level browsing
+ Initiate an overridden reload
+ of session's current top-level browsing
context’s active document.
If url is special except for If URL is special except for Try to run the post-navigation checks.
Set the current browsing context with current
+ Set the current browsing context
+ with session and session'scurrent
top-level browsing context.
Return success with data This command returns the document title
- of the current top-level browsing context,
+ of session's current top-level browsing context,
equivalent to calling The remote end steps are:
+ The remote end steps, given session, URL
+variables and parameters are:
If the current top-level browsing context is no longer open,
- return error with error code no such window.
+ If session's current top-level browsing
+ context is no longer open, return error
+ with error code no such window.
- Handle any user prompts and return its value if it is an error.
+ Try to handle any user prompts
+ with session.
- Let title be the current top-level browsing context’s
- active document’s {{Document/title}}.
+ Let title be
+ the session's current top-level browsing
+ context’s active document’s {{Document/title}}.
Return success with data title.
Many WebDriver commands happen in the context of either
- the current browsing context or current top-level browsing context.
- The current top-level browsing context is represented in the protocol
- by its associated window handle.
- When a top-level browsing context is selected
- using the Switch To Window command,
- a specific browsing context can be selected
- using the Switch to Frame command.
+ session's current browsing context or current
+ top-level browsing context.
+ session's current top-level browsing context is
+ represented in the protocol by its associated window handle.
+ When a top-level browsing context is selected using
+ the Switch To Window command, a specific browsing
+ context can be selected using the Switch to Frame command.
The use of the term “window” to
refer to a top-level browsing context
@@ -3300,25 +3379,31 @@ file
:
+ file
:
- null
.
@@ -3163,19 +3238,23 @@ Get Title
document.title
.
-
-
@@ -3186,13 +3265,13 @@ Get Title
Contexts
Contexts
When required to set the current browsing context given - a context, an implementation must follow the following - steps: + session and context, an implementation must + follow the following steps: +
Set session’s current browsing + context to context. + +
Set the session’s current parent browsing context to the parent browsing context of context, if that context exists, or null otherwise.
When required to set the current top-level browsing - context given a context, an implementation must - follow the following steps: + context given session and context, an + implementation must: +
Assert: context is a top-level browsing context. + +
Set session’s current top-level browsing context to context. -
Set the current browsing context with session + and context.
@@ -3341,14 +3426,16 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window.
Return success with data being the window handle - associated with the current top-level browsing context. + associated with session's current top-level browsing context.
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session. -
Close session's current top-level + browsing context.
If there are no more open top-level browsing contexts, then try to close the session. -
-Switching window will select the current top-level browsing context -used as the target for all subsequent commands. -In a tabbed browser, this will typically +Switching window will select session's current top-level +browsing context used as the target for all +subsequent commands. In a tabbed browser, this will typically make the tab containing the browsing context the selected tab. -
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let handle be the result of
getting the property "handle
"
- from the parameters argument.
+ from parameters.
If handle is undefined, return error with error code invalid argument. @@ -3419,15 +3513,15 @@
If handle is equal to the associated window - handle for some top-level browsing context in - the current session, let context be the that - browsing context, and - set the current top-level browsing context with context. + handle for some top-level browsing context, + let context be the that browsing context, and + set the current top-level browsing context + with session and context.
Otherwise, return error with error code no such window.
Update any implementation-specific state that would result - from the user selecting the current browsing context for + from the user selecting session's current browsing context for interaction, without altering OS-level focus.
Return success with data null
.
@@ -3450,7 +3544,8 @@
The order in which the window handles are returned is arbitrary. -
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let handles be a List. @@ -3485,23 +3580,26 @@
Create a new top-level browsing context. -
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the implementation does not support creating new top-level browsing contexts, return error with error code unsupported operation. -
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let type hint be the result of getting the property
- "type
" from the parameters argument.
+ "type
" from parameters.
Create a new top-level browsing context by running
- the window open steps with url set to
+ the window open steps with URL set to
"about:blank
", target set to the empty
string, and features set to "noopener
" and
the user agent configured to create a new browsing context. This must
@@ -3509,7 +3607,7 @@
tab
",
and the implementation supports multiple browsing context in the
same OS window, the new browsing context should share an OS window
- with the current browsing context. If type hint is
+ with session's current browsing context. If type hint is
"window
", and the implementation supports multiple
browsing contexts in separate OS windows, the created browsing
context should be in a new OS window. In all other cases the details
@@ -3520,7 +3618,7 @@ Let type be "tab
" if the newly created
- window shares an OS-level window with the current browsing
+ window shares an OS-level window with session's current browsing
context, or "window
" otherwise.
Let result be a new JSON Object initialized with: @@ -3554,16 +3652,18 @@
The Switch To Frame command is used to select - the current top-level browsing context or a child browsing context - of the current browsing context to use as the current browsing context - for subsequent commands. + session's current top-level browsing context or + a child browsing context of session's current + browsing context to use as session's current + browsing context for subsequent commands. -
The remote end steps are: +The remote end steps, given session, URL +variables and parameters are:
Let id be the result of
getting the property "id
"
- from the parameters argument.
+ from parameters.
If id is not null
,
a Number
object,
@@ -3576,15 +3676,16 @@
null
If the current top-level browsing context is no - longer open, return error with error code no - such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts - and return its value if it is an error. +
Try to handle any user prompts + with session.
Set the current browsing context with - the current top-level browsing context. + session and session's current + top-level browsing context.
Number
object
@@ -3593,15 +3694,15 @@ If id is less than 0 or greater than 216 – 1, return error with error code invalid argument. -
If the current browsing context is no
+ If session's current browsing context is no
longer open, return error with error code no
such window.
- Handle any user prompts
- and return its value if it is an error.
+ Try to handle any user prompts
+ with session.
Let window be the associated window
- of the current browsing context’s active document.
+ of session's current browsing context’s active document.
If id is not
a supported property index of window,
@@ -3614,35 +3715,36 @@ Set the current browsing context with
- child window’s browsing context.
+ session and child window’s browsing context.
Switch To Frame
(id).
If the current browsing context is no
+ If session's current browsing context is no
longer open, return error with error code no
such window.
- Handle any user prompts
- and return its value if it is an error.
+ Try to handle any user prompts
+ with session.
Let element be the result
of trying to get a known element
- with id.
+ with session and id.
If element is not a [^frame^]
or [^iframe^] element,
return error with error code no such frame.
Set the current browsing context
- with element’s [=navigable container/content navigable=]'s
- [=navigable/active browsing context=].
+ with session and element’s [=navigable
+ container/content navigable=]'s [=navigable/active browsing
+ context=].
Update any implementation-specific state that would result - from the user selecting the current browsing context for + from the user selecting session's current browsing context for interaction, without altering OS-level focus.
Return success with data null
.
@@ -3668,37 +3770,43 @@
The Switch to Parent Frame command - sets the current browsing context for future commands - to the parent of the current browsing context. + sets session's current browsing context for future commands + to the parent of session's current browsing context. -
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Run the substeps if the current browsing context is already the +
If session's current browsing context is already the top-level browsing context: -
If the current browsing context is no longer - open, return error with error code no such - window. -
If session's current browsing context + is no longer open, return error with error + code no such window. -
If the current parent browsing context is no longer - open, return error with error code no such - window. +
Handle any user prompts and return its value if it is an error. +
If the current session's current parent browsing - context is not null, set the current browsing - context with the current parent browsing context. +
If session's current parent browsing context + is no longer open, return error with error + code no such window. -
Update any implementation-specific state that would result - from the user selecting the current browsing context for +
Try to handle any user prompts + with session. + +
If session's current parent browsing context is + not null, set the current browsing context + with session and current parent browsing context. + +
Update any implementation-specific state that would result + from the user selecting session's current browsing context for interaction, without altering OS-level focus.
WebDriver provides commands
for interacting with the operating system window
- containing the current top-level browsing context.
+ containing session's current top-level browsing context.
Because different operating systems’ window managers provide different abilities,
not all of the commands in this section can be supported by all remote ends.
Support for these commands is determined by the window
@@ -3842,18 +3950,22 @@ The Get Window Rect command
returns the size and position on the screen
of the operating system window corresponding
- to the current top-level browsing context.
+ to session's current top-level browsing context.
- The remote end steps are:
+ The remote end steps, given session, URL
+variables and parameters are:
If the current top-level browsing context is no longer open,
+ If session's current top-level browsing context is no longer open,
return error with error code no such window.
- Handle any user prompts and return its value if it is an error.
+ Try to handle any user prompts
+ with session.
Return success with data set to the WindowRect
- object for the current top-level browsing context.
+ objectGet Window Rect
-
for the session's current top-level browsing
+ context.
+
The Set Window Rect command alters the size and the position of the operating system window -corresponding to the current top-level browsing context. +corresponding to session's current top-level browsing context. -
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let width be the result of
- getting a property named width
- from the parameters argument, else let it be null
.
+ getting a property named "width
"
+ from parameters, else let it be null
.
Let height be the result of
- getting a property named height
- from the parameters argument, else let it be null
.
+ getting a property named "height
"
+ from parameters, else let it be null
.
Let x be the result of getting a property
- named x
from the parameters argument,
+ named "x
" from parameters,
else let it be null
.
Let y be the result of getting a property
- named y
from the parameters argument,
+ named "y
" from parameters,
else let it be null
.
If width or height is neither null
@@ -3905,13 +4018,15 @@
If the remote end does not support the Set Window Rect command for - the current top-level browsing context for any reason, + session's current top-level browsing context for any reason, return error with error code unsupported operation. -
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Fully exit fullscreen. @@ -3922,13 +4037,13 @@
Set the width, in CSS pixels, of the operating system window containing - the current top-level browsing context, + session's current top-level browsing context, including any browser chrome and externally drawn window decorations to a value that is as close as possible to width.
Set the height, in CSS pixels, of the operating system window containing - the current top-level browsing context, + session's current top-level browsing context, including any browser chrome and externally drawn window decorations to a value that is as close as possible to height. @@ -3942,8 +4057,9 @@
Particular implementations may have other limitations such as not being able to resize in single-pixel increments. -
This is intended to mutate the value of the current
- top-level browsing context’s WindowProxy
’s
+
This is intended to mutate the value
+ of session's current top-level browsing
+ context’s WindowProxy
’s
outerWidth and outerHeight
properties. Specifically, the value of outerWidth should
be as close as possible to width and the value
@@ -3955,17 +4071,19 @@
If x and y are not null
:
Run the implementation-specific steps - to set the position of the operating system level window - containing the current top-level browsing context - to the position given by the x and y coordinates. +
Run the implementation-specific steps to set the position of
+ the operating system level window
+ containing session's current top-level browsing
+ context to the position given by the x
+ and y coordinates.
Note that this step is similar
- to calling the moveTo(x, y) method
- on the Note that this step is similar to calling the moveTo(x,
+ y) method on the WindowProxy
object
- associated with the current top-level browsing context,
- but without the security restrictions that you
+ WindowProxy
object
+ associated with session's current top-level browsing
+ context, but without the
+ security
+ restrictions that you
Set Window Rect
Return success with data set to the WindowRect - object for the current top-level browsing context. +
Return success with data set to the WindowRect + object for the session's current top-level browsing + context.
The Maximize Window command - invokes the window manager-specific “maximize” operation, if any, - on the window containing the current top-level browsing context. - This typically increases the window to the maximum available size - without going full-screen. +
The Maximize Window command invokes the window + manager-specific “maximize” operation, if any, on the window + containing session's current top-level browsing + context. This typically increases the window to the maximum + available size without going full-screen. -
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the remote end does not support - the Maximize Window command - for the current top-level browsing context for any reason, - return error with error code unsupported operation. +
If the remote end does not support the Maximize + Window command for session's current top-level + browsing context for any reason, return error + with error code unsupported operation. -
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Maximize the window - of the current top-level browsing context. + of session's current top-level browsing context.
Return success with data set to the WindowRect - object for the current top-level browsing + object for the session's current top-level browsing context.
The Minimize Window command - invokes the window manager-specific “minimize” operation, if any, - on the window containing the current top-level browsing context. - This typically hides the window in the system tray. +
The Minimize Window command invokes the window + manager-specific “minimize” operation, if any, on the window + containing session's current top-level browsing + context. This typically hides the window in the system tray. -
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the remote end does not support - the Minimize Window command - for the current top-level browsing context for any reason, - return error with error code unsupported operation. +
If the remote end does not support the Minimize + Window command for session's current top-level + browsing context for any reason, return error + with error code unsupported operation. -
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Return success with data set to the WindowRect - object for the current top-level browsing + object for the session's current top-level browsing context.
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the remote end does not support fullscreen return error with error code unsupported operation. -
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Call fullscreen an element - with the current top-level browsing context’s + with session's current top-level browsing context’s active document’s document element. -
Return success with data set to the WindowRect
- object for the current top-level browsing
+ Return success with data set to the WindowRect
+ object for the session's current top-level browsing
context.
To get a known element given reference: +
To get a known element given session and reference:
To get or create a web element reference - given element: + given session and element:
The web element reference object for element -is given by: +
The web element reference object for session +and element is:
Let identifier be the web element identifier.
Let reference be the result of get or create a - web element reference with element. + web element reference with session and element.
Return a JSON Object initialized with a property with name identifier and value reference. @@ -4270,13 +4400,12 @@
Let reference be the result of - getting - the web element identifier property - from object. + getting the web element + identifier property from object.
Let element be the result of trying to get a known element - with reference. + with session and reference.
Return success with data element.
Denotes [^input^] elements that are mutable (e.g. that are not read only or actually disabled) - and whose [^input/type^] attribute + and whose [^input/type^] attribute is in one of the following states:
If element is not in the same tree - as the current browsing context’s active document, - return an empty sequence. + as session's current browsing context’s + active document, return an empty sequence.
Let rectangles be the {{DOMRect}} sequence @@ -4507,13 +4636,14 @@
To get or create a shadow root reference - with shadow root: + given session and shadow root:
The shadow root reference object for shadow - root is given by: +
The shadow root reference object for session + and shadow root is given by:
Let identifier be the shadow root identifier.
Let reference be the result of get or create a - shadow root reference given shadow root. + shadow root reference with session and shadow root.
Return a JSON Object initialized with a property with name identifier and value reference. @@ -4566,7 +4697,7 @@
Let shadow be the result of trying to get a known shadow root - with argument reference. + with session and reference.
Return success with data shadow.
When required to find with arguments - start node, using and value, - a remote end must run the following steps: +
When required to find given session, start + node, using and value, a remote + end must run the following steps:
Let end time be the current time plus @@ -4620,8 +4751,8 @@
Let result be an empty List.
For each element in elements returned, - append the web element reference object for element, - to result. + append the web element reference object + for session and element, to result.
Return success with data result.
An element location strategy - is an enumerated attribute - deciding what technique should be used - to search for elements in the current browsing context. - The following table of location strategies lists the keywords and - states defined for this attribute: +
An element location strategy is + an enumerated attribute deciding what technique should be used + to search for elements in session's current + browsing context. The following table of location + strategies lists the keywords and states defined for this + attribute:
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let location strategy be the result
- of getting a property called "using
".
+
Let location strategy be the result of getting a
+ property named "using
" from parameters.
If location strategy is not present as a keyword in the table of location strategies, return error with error code invalid argument. -
Let selector be the result
- of getting a property called "value
".
+
Let selector be the result of getting a
+ property named "value
" from parameters.
If selector is undefined, return error with error code invalid argument. -
If the current browsing context is no longer - open, return error with error code no such - window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let start node be - the current browsing context’s document element. + session's current browsing context’s document + element.
If start node is null
,
return error with error code no such element.
-
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let location strategy be the result
- of getting a property called "using
".
+
Let location strategy be the result of getting a
+ property named "using
" from parameters.
If location strategy is not present as a keyword in the table of location strategies, return error with error code invalid argument. -
Let selector be the result
- of getting a property called "value
".
+
Let selector be the result of getting a
+ property named "value
" from parameters.
If selector is undefined, return error with error code invalid argument. -
If the current browsing context is no longer - open, return error with error code no such - window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let start node be the result
of trying to get a known element
- with url variable element id.
+ with session and URL variables["element id
"].
If result is empty, return error @@ -5000,33 +5138,35 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let location strategy be the result
- of getting a property called "using
".
+
Let location strategy be the result of getting a
+ property named "using
" from parameters.
If location strategy is not present as a keyword in the table of location strategies, return error with error code invalid argument. -
Let selector be the result
- of getting a property called "value
".
+
Let selector be the result of getting a
+ property named "value
" from parameters.
If selector is undefined, return error with error code invalid argument. -
If the current browsing context is no longer - open, return error with error code no such - window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let start node be the result
of trying to get a known element
- with url variable element id.
+ with session and URL variables["element id
"].
-
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let location strategy be the result @@ -5061,18 +5202,18 @@
If selector is undefined, return error with error code invalid argument. -
If the current browsing context is no longer - open, return error with error code no such - window. +
If the ssession's current browsing + context is no longer open, return error + with error code no such window.
Handle any user prompts and return its value if it is an error. -
Let start node be the result - of trying to get a known shadow root - with url variable shadow id. +
Let start node be the result of trying
+ to get a known shadow root with session
+ and URL variables["shadow id
"].
If result is empty, return error @@ -5095,7 +5236,8 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let location strategy be the result @@ -5111,17 +5253,17 @@
If selector is undefined, return error with error code invalid argument. -
If the current browsing context is no longer - open, return error with error code no such - window. +
If session's current browsing context + is no longer open, return error with error + code no such window.
Handle any user prompts and return its value if it is an error.
Let start node be the result
of trying to get a known shadow root
- with url variable shadow id.
+ with session and URL variables["shadow id
"].
-
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer - open, return error with error code no such - window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let active element be the active element - of the current browsing context’s document element. + of session's current browsing + context’s document element.
If active element is a non-null element, return success with data set to web element reference - object for active element. + object for session and active element.
Otherwise, return error with error code no such element.
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer - open, return error with error code no such - window. +
If session's current browsing context + is no longer open, return error with error + code no such window.
Handle any user prompts and return its value if it is an error. -
Let element be the result - of trying to get a known element - with url variable element id. +
Let element be the result of trying + to get a known element with session and URL + variables[element id].
Let shadow root be element's shadow root. @@ -5193,7 +5339,7 @@
Let serialized be the shadow root reference object - for shadow root. + for session and shadow root.
Return success with data serialized. @@ -5204,14 +5350,15 @@
To calculate the absolute position of element: +
To calculate the absolute position +given session and element:
Let rect be the value returned by calling {{Element/getBoundingClientRect()}}.
Let window be the associated window - of current top-level browsing context. + of session's current top-level browsing context.
Let x be (scrollX of window + @@ -5291,17 +5438,20 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session. -
Let element be the result - of trying to get a known element - with url variable element id. +
Let element be the result of trying + to get a known element with session and URL + variables[element id].
Let selected be the value corresponding to the first matching statement: @@ -5338,18 +5488,22 @@
-The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session. -
Let element be the result - of trying to get a known element - with url variable element id. +
Let element be the result of trying + to get a known element with session and URL + variables' element id. + +
Let name be URL variables["name
"].
-The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session. -
Let element be the result - of trying to get a known element - with url variable element id. +
Let element be the result of trying + to get a known element with session and URL + variables' element id. + +
Let name URL variables["name
"].
Let property be the result of calling the Object.[[\GetProperty]](name) on element. @@ -5427,26 +5585,28 @@
-The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let element be the result
of trying to get a known element
- with url variable element id.
+ with URL variables["element id
"].
Let computed value be the result of the first matching condition:
xml
"
- xml
"
+ property name
"]
+ from element’s style declarations.
WSpace=Y
" or "WS
".
[[UAX44]]
-The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is - an error. +
Try to handle any user prompts + with session. -
Let element be the result - of trying to get a known element - with url variable element id. +
Let element be the result of trying + to get a known element with session and URL + variables[element id].
Let rendered text be the result of performing implementation-specific steps whose result is exactly the same as @@ -5531,17 +5693,20 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let element be the result
of trying to get a known element
- with url variable element id.
+ with URL variables["element id
"].
Let qualified name be the result of getting element’s {{Element/tagName}} IDL attribute. @@ -5574,13 +5739,13 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let element be the result
of trying to get a known element
- with url variable element id.
+ with session and URL variables["element id
"].
-
Calculate the absolute position of element - and let it be coordinates. +
Let coordinates be calculate the absolute + position with session and element.
Let rect be element’s bounding rectangle. @@ -5647,23 +5815,25 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts - and return its value if it is an error. +
Try to handle any user prompts + with session. -
Let element be the result - of trying to get a known element - with url variable element id. +
Let element be the result of trying + to get a known element with session and URL + variables[element id].
Let enabled be a boolean initially set to true
- if the current browsing context’s [=active document=]’s
- [=Document/type=]
- is not "xml
".
+ if session's current browsing context’s
+ [=active document=]'s [=Document/type=] is not
+ "xml
".
Otherwise, let enabled to false and jump to the last step of this algorithm. @@ -5688,18 +5858,19 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are: -
If the current browsing context is no longer open, +
If session's current browsing context is no longer open, return error with error code no such window. -
Handle any user prompts - and return its value if it is an error. +
Try to handle any user prompts + with session.
Let element be the result
of trying to get a known element
- with url variable element id.
+ with URL variables["element id
"].
Let role be the result of computing the WAI-ARIA role of element. @@ -5721,21 +5892,24 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, +
If session's current browsing context is no longer open, return error with error code no such window. -
Handle any user prompts - and return its value if it is an error. +
Try to handle any user prompts + with session. -
Let element be the result - of trying to get a known element - with url variable element id. +
Let element be the result of trying
+ to get a known element with session
+ and URL variables["element id
"].
-
Let label be the result of a Accessible Name and Description Computation for the Accessible Name of the element. +
Let label be the result of a Accessible + Name and Description Computation for the Accessible + Name of the element.
Return success with data label.
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are: -
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let element be the result of trying - to get a known element with element id. + to get a known element with session + and element id.
If the element is an [^input^] element in the file upload state @@ -5877,8 +6055,9 @@
Let input state be the result of get the - input state given current session and current - top-level browsing context. + input state given session + and session's current top-level browsing + context.
Let actions options be a new actions options
with the is element origin steps set to represents a web
@@ -5898,7 +6077,7 @@ Element Click
the element’s in-view center point.
Let pointer move action be an action
- object constructed with arguments input id,
+ object constructed with arguments input id,
" Set a property Let pointer down action be an action
- object constructed with arguments input id,
+ object constructed with arguments input id,
" Set a property Dispatch a list of actions with input
- state, actions, current browsing
- context, and actions options.
+ statepointer
", and "pointerMove
".
x
to 0
on
@@ -5911,7 +6090,7 @@ Element Click
to element on pointer move action.
pointer
", and "pointerDown
".
button
to 0
@@ -5929,8 +6108,8 @@ Element Click
action
Remove an input source with input state and input id. @@ -6017,17 +6196,20 @@
Invoke the unfocusing steps for the element.
The remote end steps for Element Clear are: +
The remote end steps, given session, URL +variables and parameters are: -
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let element be the result of trying to get a known element - with element id. + with session and element id.
If element is not editable, return an error with error code invalid element state. @@ -6137,8 +6319,8 @@
Let actions be the list «action»
Dispatch a list of actions with input - state, actions, current browsing - context, and actions options. + state, actions, browsing context, + and actions options.
Let global key state be the result of get the
+ Let global key state be the result of get the
global key state with input state.
If char is a shifted character, and
@@ -6177,8 +6359,7 @@ Let actions be the list «action».
Dispatch a list of actions with input
- state, actions, and current browsing
- context.
+ stateElement Send Keys
If char is not a shifted character @@ -6193,8 +6374,8 @@
Let tick actions be the list «action».
Dispatch a list of actions with input - state, actions, current browsing - context, and actions options. + state, actions, browsing context, + and actions options.
Let keydown action be an action object @@ -6211,8 +6392,8 @@
Dispatch a list of actions with input - state, actions, current browsing - context, and actions options. + state, actions, browsing context, + and actions options.
Dispatch a list of actions with input - state, actions, current browsing - context, and actions options. + state, actions, browsing + context, and actions options.
Add an entry to undo actions with
key cluster and value being a copy of keydown
@@ -6336,35 +6517,38 @@ Try to clear the modifier key state with arguments
+ Try to clear the modifier key state with
input state, input id, source,
undo actions, and browsing context.
Element Send Keys
and source, current typeable text,
and browsing context.
-
The remote end steps for Element Send Keys are: +
The remote end steps, given session, URL +variables and parameters are:
Let text be the result
- of getting a property called "text
"
- from the parameters argument.
+ of getting a property named "text
"
+ from parameters.
If text is not a String, return an error with error code invalid argument. -
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts, and return its value if it is an error. +
Try to handle any user prompts + with session.
Let element be the result of trying - to get a known element with url variable element - id. + to get a known element with session and URL + variables[element id].
Let file be true if element is [^input^] element in the file upload state, or false otherwise. -
If file is false or the current session’s +
If file is false or the session’s strict file interactability, is true run the following substeps:
Scroll into view the element. @@ -6458,9 +6642,10 @@
Let input state be the result of get the - input state with current session and current - top-level browsing context. +
Let input state be the result of get the input + state with session + and session's current top-level browsing + context.
Let input id be a the result of generating a UUID. @@ -6473,7 +6658,8 @@
Dispatch actions for a string with arguments input state, input id, and source, -text, and current browsing context. +text, and session's current browsing +context.
Remove an input source with input state and input id. @@ -6502,17 +6688,20 @@
-The Get Page Source command -returns a string serialization of the DOM -of the current browsing context active document. +The Get Page Source command returns a string +serialization of the DOM of session's current browsing +context active document. -
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let source be the result of invoking the fragment serializing algorithm on a fictional node whose only @@ -6521,7 +6710,7 @@
null
.
Let source be the result of serializing to string
- the current browsing context active document,
+ session's current browsing context's active document,
if source is null
.
Return success with data source. @@ -6549,11 +6738,10 @@
-When required to JSON deserialize -with argument value -and optional argument seen, -a remote end must run the following steps: +
To JSON deserialize +given session, value and optional +argument seen, a remote end must run the following +steps:
If seen is not provided, @@ -6589,20 +6777,20 @@
Return the result of running the clone an object algorithm - with arguments value and seen, +
Return clone an object algorithm + with session, value and seen, and the JSON deserialize algorithm as the clone algorithm.
To perform a JSON clone - return the result of calling the internal JSON clone algorithm - with arguments value and an empty List. +
To JSON clone given session + and value, return the result of internal JSON clone + with session, value and an empty List. -
When required to run the internal JSON clone algorithm - with arguments value and seen, - a remote end must return the value - of the first matching statement, matching on value: +
To internal JSON clone + given session, value and seen, + return the value of the first matching statement, matching + on value:
Return success with data value. -
If the element is stale, return error with error code stale element reference.
Otherwise:
Let reference be the web element reference object - for value. + for session and value.
Return success with data reference.
If the shadow root is detached, return error with error code detached shadow root.
Otherwise:
Let reference be the shadow root reference object - for value. + for session and value.
Return success with data reference.
Let result be the return value of running the - clone an object algorithm with arguments value and - seen, and the internal JSON clone algorithm as the +
Let result be + clone an object with session value + and seen, and internal JSON clone as the clone algorithm.
To clone an object, - taking the arguments value, - seen, - and clone algorithm: +
To clone an object, given session, value, + seen, and clone algorithm:
If value is in seen, @@ -6707,7 +6893,7 @@
Let cloned property result be the result of - calling the clone algorithm with arguments + calling the clone algorithm with session, source property value and seen.
If cloned property result is a success, @@ -6726,22 +6912,20 @@
Let script be the result of
- getting a property named script
- from the parameters.
+
Let script be the result of getting a
+ property named "script
" from parameters.
If script is not a String, return error with error code invalid argument. -
Let args be the result of
- getting a property named args
- from the parameters.
+
Let args be the result of getting a property
+ named "args
" from parameters.
If args is not an Array return error with error code invalid argument. -
Let arguments be the result of calling the - JSON deserialize algorithm with arguments args. +
Let arguments be JSON deserialize + with session and args.
Return success with data script and arguments. @@ -6756,7 +6940,8 @@
Let window be the associated window - of the current browsing context’s active document. + of session's current browsing context’s active + document.
Let environment settings be window’s [=relevant settings object=]. @@ -6830,17 +7015,20 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let body and arguments be the result of trying to extract the script arguments from a request with argument parameters. -
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts, and return its value if it is an error. +
Try to handle any user prompts + with session.
Let promise be a new Promise. @@ -6861,14 +7049,16 @@
Upon fulfillment of promise with value v, - let result be a JSON clone of v, and +
Upon fulfillment of promise with + value v, let result be JSON clone + with session and v, and return success with data result. -
Upon rejection of promise with reason r, - let result be a JSON clone of r, and - return error with error code javascript error - and data result. +
Upon rejection of promise with + reason r, let result be JSON clone + with session and r, and + return error with error code javascript + error and data result.
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let body and arguments by the result of trying to extract the script arguments from a request with argument parameters. -
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts, and return its value if it is an error. +
Try to handle any user prompts + with session.
Let promise be a new Promise. @@ -6951,14 +7144,16 @@
Upon fulfillment of promise with value v, - let result be a JSON clone of v, and +
Upon fulfillment of promise with + value v, let result be JSON clone + with session and v, and return success with data result. -
Upon rejection of promise with reason r, - let result be a JSON clone of r, and - return error with error code javascript error - and data result. +
Upon rejection of promise with + reason r, let result be JSON clone + with session and r, and + return error with error code javascript + error and data result.
Domain
"
For each cookie among all associated cookies of - the current browsing context’s active document, - run the substeps of the first matching condition: + session's current browsing context’s active + document, run the substeps of the first matching condition:
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts, and return its value if it is an error. +
Try to handle any user prompts + with session.
Let cookies be a new List.
For each cookie in all associated cookies of - the current browsing context’s active document: + session's current browsing context’s active + document:
Let serialized cookie be the result @@ -7177,19 +7376,22 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts, and return its value if it is an error. +
Try to handle any user prompts + with session. -
If the url variable name - is equal to a cookie’s cookie name - amongst all associated cookies - of the current browsing context’s active document, - return success with the serialized cookie as data. +
If the URL variables["name
" is equal to
+ a cookie’s cookie name amongst all associated
+ cookies of session's current browsing
+ context’s active document, return success with
+ the serialized cookie as data.
Otherwise, return error with error code no such cookie. @@ -7210,33 +7412,38 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let data be the result of getting a property
- named cookie
from the parameters argument.
+ named "cookie
" from parameters.
If data is not a JSON Object with all the required (non-optional) JSON keys listed in the table for cookie conversion, return error with error code invalid argument. -
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts, and return its value if it is an error. +
Try to handle any user prompts + with session. -
If the current browsing context’s document element
- is a cookie-averse Document
object,
- return error with error code invalid cookie domain.
+
If session's current browsing
+ context’s document element is
+ a cookie-averse Document
object,
+ return error with error code invalid cookie
+ domain.
If cookie name or cookie value is null
,
- cookie domain is not equal to
- the current browsing context’s active document’s domain,
+ cookie domain is not equal to session's current
+ browsing context’s active document’s domain,
cookie secure only or cookie HTTP only are not boolean types,
- or cookie expiry time is not an integer type,
- or it less than 0 or greater than the maximum safe integer,
- return error with error code invalid argument.
+ or cookie expiry time is not an integer type, or it less than 0 or greater than
+ the maximum safe integer, return error with error
+ code invalid argument.
Create a cookie in the cookie store associated with @@ -7253,7 +7460,7 @@
The value if the entry exists, - otherwise the current browsing context’s + otherwise session's current browsing context’s active document’s URL domain.
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts, and return its value if it is an error. +
Try to handle any user prompts + with session. -
Delete cookies using - the url variable name parameter - as the filter argument. +
Delete cookies using the URL
+ variables["name
"] as the filter argument.
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts, and return its value if it is an error. +
Try to handle any user prompts + with session.
Delete cookies, giving no filtering argument. @@ -7433,15 +7645,16 @@
To get a WebElement origin with origin -and browsing context:, +
To get a WebElement origin +given session, origin and browsing +context:,
Assert: browsing context is the current browsing context.
Let element be equal to the result of trying to get a known element with - argument origin. + session and origin.
Return success with data element.
To create a pointer input source object given input
state, and subtype, return a new pointer input
source with subtype set to subtype, pointerId set
- to get a pointer id with input state
+ to get a pointer id with input state
and subtype, and the other items set to their default
values.
@@ -7727,7 +7940,7 @@ Input state
state map[browsing context] to create an input
state.
-
Return input state map[browsing
+ Return input state map[browsing
context].
Let input state map - be session's browsing context input state map. + be session's browsing context input state map.
If input state map[browsing context]
[=map/exists=], then [=remove=] input state map[browsing
@@ -7761,22 +7974,21 @@ Let input state map be input
- state's input state map.
+ stateInput state
's input state map.
To remove an input source given input state, and input id:
Assert: None of the items in input - state's input cancel list has id equal + state's input cancel list has id equal to input id.
Let input state map be input - state's input state map. + state's input state map.
Let input state map be input - state's input state map. + state's input state map.
If input state map[input id] exists, return input state map[input id]. @@ -7804,7 +8016,7 @@
If source is not undefined and source's type is not equal to type, or source is - a pointer input sourcereturn error with error + a pointer input source, return error with error code invalid argument.
If source is undefined, set source to @@ -7861,17 +8073,17 @@
mouse
', or 2 otherwise.
+ "mouse
", or 2 otherwise.
Let sources be the result of [=map/getting the - values=] with input state's input state map. + values=] with input state's input state map.
For each source in sources.:
If source is a pointer input source, - append source's pointerId to pointer ids. + append source's pointerId to pointer ids.
Return the smallest integer that is greater than or equal @@ -7996,7 +8208,7 @@
Let element be the result of trying to - run actions options' get element origin + run actions options' get element origin steps with origin and browsing context.
If element is null, return error with error
@@ -8021,13 +8233,12 @@ Let actions be the result
- of getting a property from parameters
- named Let actions be the result of getting a
+ property named " If actions is undefined
- or is not an Array,
- return error with error code invalid argument.
+ If actions is undefined or is not
+ an Array, return error with error
+ code invalid argument.
Let actions by tick be an empty List. Let action items be the result of getting a
- property named Processing actions
options:
-
named "actions
.
+ actions
" from parameters.
- Processing actions
with error code invalid argument.
actions
from
+ propertyactions
" from
action sequence.
If action items is not an Array, @@ -8165,7 +8376,7 @@
Let pointer type be the result
-of getting a property named pointerType
+of getting a property named "pointerType
"
from parameters data.
@@ -8251,10 +8462,8 @@
-Let key be the result
-of getting a property named value
-from action item.
+
Let key be the result of getting a property
+named "value
" from action item.
If key is not a String containing a single unicode code point @@ -8357,7 +8566,7 @@
Let duration be the result of getting a property
-named duration
from action item.
+named "duration
" from action item.
If duration is not undefined and duration @@ -8378,7 +8587,7 @@
If origin is not equal to "viewport
",
-or actions options' is element origin steps given
+or actions options' is element origin steps given
origin return false, return error with
error code invalid argument.
@@ -8751,16 +8960,16 @@
Let token be a new unique identifier. -
Enqueue token in session's actions
+ Enqueue token in input state's actions
queue.
Wait for token to be the first item
- in input state's actions queue.
+ in input state&aposs actions queue.
This ensures that only one set of actions can be run at a time,
and therefore different actions commands using the same underlying
- state don't race. In a session that is only a HTTP session only one
+ state don't race. In a session that is only a HTTP session only one
command can run at a time, so this will never block. But other
session types can allow running multiple commands in parallel, in
which case this is necessary to ensure sequential access.
@@ -8770,7 +8979,7 @@ Dispatching actions
actions inner
Dequeue input state's actions queue. +
Dequeue input state's actions queue.
Assert: this returns token
Return actions result. @@ -8789,7 +8998,7 @@
Try to dispatch tick actions with - tick actions, tick duration, + input state, tick actions, tick duration, browsing context, and actions options.
Wait until the following conditions are all met: @@ -8858,7 +9067,7 @@
Assert: source is not undefined. -
Let global key state be the result of get the
+ Let global key state be the result of get the
global key state with input state.
Let subtype be action
@@ -8905,7 +9114,7 @@ Dispatching actions
To dispatch a list of actions given input
-state, actions, browsing context,
+state, actions, browsing context,
and actions options:
Dispatching actions
actions
Return the result of dispatch actions with input - state, actions by tick, current browsing - context, and actions options. + state, actions by tick, browsing context, + and actions options.
To dispatch a pause action given action object, -source, global key state, tick duration, +
To dispatch a pause action given action +object, source, global key +state, tick duration, browsing context, and actions options:
\uE05D
3
To dispatch a keyDown action given action object,
-source, global key state, tick
+ To dispatch a keyDown action given action
+object, source, global key state, tick
duration, browsing context, and actions options:
To dispatch a keyUp action given,action
+ To dispatch a keyUp action given, action
object, source, global key state,
tick duration, browsing context,
and actions options:
@@ -9380,8 +9590,8 @@ To dispatch a pointerDown action given
- action object, input state, global key state,
- tick duration, browsing context,
+ action object, input state, global key
+ state, tick duration, browsing context,
and actions options:
Perform implementation-specific action dispatch steps
on browsing context equivalent to pressing the button
numbered button on the pointer with pointerId equal
- to input source's pointerId, having
+ to input source's pointerId, having
type pointerType at viewport x coordinate x,
viewport y coordinate y, width, height,
pressure, tangentialPressure, tiltX,
@@ -9485,7 +9695,7 @@ Perform implementation-specific action dispatch steps
on browsing context equivalent to releasing the button
numbered button on the pointer with pointerId equal
- to input source's pointerId, having
+ to input source's pointerId, having
type pointerType at viewport x coordinate x,
viewport y coordinate y, with buttons buttons
depressed, in accordance with the requirements of [[UI-EVENTS]] and
@@ -9504,8 +9714,8 @@ To dispatch a pointerMove action given
-action object, source, global key state,
+ To dispatch a pointerMove action given action
+object, source, global key state,
tick duration, browsing context,
and actions options:
@@ -9632,7 +9842,7 @@ Perform implementation-specific action dispatch steps
on browsing context equivalent to moving the pointer
- with pointerId equal to input source's pointerId,
+ with pointerId equal to input source's pointerId,
having type pointerType from viewport x
coordinate current x, viewport y
coordinate current y to viewport x
@@ -9695,15 +9905,15 @@ To dispatch a pointerCancel action given
-action object, source, global key state,
+ To dispatch a pointerCancel action given action
+object, source, global key state,
tick duration, browsing context,
and actions options:
Perform implementation-specific action dispatch steps
on browsing context equivalent to cancelling the any
- action of the pointer with pointerId equal to source's
+ action of the pointer with pointerId equal to source's
pointerId item. having type pointerType, in accordance
with the requirements of [[UI-EVENTS]] and [[POINTER-EVENTS]].
@@ -9715,8 +9925,8 @@ To dispatch a scroll action given
-action object, source, global key state,
+ To dispatch a scroll action given action
+object, source, global key state,
tick duration, browsing context,
and actions options:
@@ -9880,12 +10090,14 @@ The remote end steps are:
+ The remote end steps, given session, URL
+variables and parameters are:
Let input state be the result of get the
- input state with current session and current
- top-level browsing context.
+ Let input state be the result of get the input
+ state with session
+ and session's current top-level browsing
+ context.
Let actions options be a new actions options
with the is element origin steps set to represents a web
@@ -9893,17 +10105,17 @@ Let actions by tick be the result of trying
- to extract an action sequence given input state,
+ to extract an action sequence with input state,
parameters, and actions options.
- If the current browsing context is no longer
- open, return error with error code no such
- window.
+ If session's current browsing context
+ is no longer open, return error with error
+ code no such window.
- Handle any user prompts. If this results in
- an error, return that error.
+ Try to handle any user prompts
+ with session.
- Dispatch actions given input state,
+ Dispatch actions with input state,
actions by tick, current browsing context,
and actions options. If this results in an error
return that error.
@@ -9935,14 +10147,16 @@ The remote end steps are:
+ The remote end steps, given session, URL
+variables and parameters are:
If the current browsing context is no longer open,
- return error with error code no such window.
+ If session's current browsing context
+ is no longer open, return error with error
+ code no such window.
Let input state be the result of get the
- input state with current session and current
+ input state with session and current
top-level browsing context.
Let actions options be a new actions options
@@ -9954,11 +10168,13 @@
@@ -9301,7 +9511,7 @@
-Keyboard actions
key repetition.
-Keyboard actions
Pointer actions
@@ -9434,7 +9644,7 @@
-Pointer actions
Pointer actions
Pointer actions
Pointer actions
Pointer actions
’s input cancel list in reverse order.
Pointer actions
Wheel actions
-Perform Actions
-
-
Perform Actions
to get a WebElement origin.
Release Actions
as if the state was released by an explicit series of actions.
It also clears all the internal state of the virtual devices.
-
-
Release Actions
state
Try to dispatch tick actions with arguments
- undo actions, 0
, current browsing
- context, and actions options.
+ undo
+ actions, 0
,session's current
+ browsing context, and actions options.
-
Reset the input state with current session - and current top-level browsing context. +
Reset the input state with session + and session's current top-level browsing + context.
This chapter describes interaction with various types of user prompts. - The common denominator for user prompts is that they are - modal windows requiring users to interact with them - before the event loop is unpaused - and control is returned to the current top-level browsing context. +
This chapter describes interaction with various types of user + prompts. The common denominator for user prompts is that they + are modal windows requiring users to interact with them before + the event loop is unpaused and control is returned + to session's current top-level browsing context.
By default user prompts are not handled automatically unless a user prompt handler has been defined. @@ -10008,8 +10224,8 @@
alert
confirm
prompt
In order to handle any user prompts - a remote end must take the following steps: +
To handle any user prompts + given session, remote end must:
@@ -10126,7 +10342,7 @@
Perform the following substeps -based on the current session’s user prompt handler: +based on the session’s user prompt handler:
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window.
If there is no current user prompt, return error with error code no such alert. @@ -10226,11 +10444,13 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window.
If there is no current user prompt, return error with error code no such alert. @@ -10255,11 +10475,13 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window.
If there is no current user prompt, return error with error code no such alert. @@ -10291,7 +10513,8 @@
prompt
user prompt to the given value.
-The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
Let text be the result of @@ -10301,8 +10524,9 @@
If text is not a String, return error with error code invalid argument. -
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window.
If there is no current user prompt, return error with error code no such alert. @@ -10411,14 +10635,14 @@
image/png
" as an argument.
- Let data url be a data:
URL
+
Let data URL be a data:
URL
representing file. [[RFC2397]]
Let index be the index of ",
"
- in data url.
+ in data URL.
Let encoded string be a substring - of data url using (index + 1) as the start argument. + of data URL using (index + 1) as the start argument.
Return success with data encoded string.
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window.
When the user agent is next to run the animation frame callbacks:
Let root rect be the current top-level browsing context’s +
Let root rect be session's current + top-level browsing context's document element’s rectangle.
Let screenshot result be the result of trying to call @@ -10484,17 +10711,20 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current browsing context is no longer open, - return error with error code no such window. +
If session's current browsing context + is no longer open, return error with error + code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let element be the result of
- trying to get a known element
- with url variable element id.
+ trying to get a known element with session
+ and URL variables["element id
"].
Scroll into view the element. @@ -10634,18 +10864,20 @@
The remote end steps are: +
The remote end steps, given session, URL +variables and parameters are:
If the current top-level browsing context is no longer open, - return error with error code no such window. +
If session's current top-level browsing + context is no longer open, return error + with error code no such window. -
Handle any user prompts and return its value if it is an error. +
Try to handle any user prompts + with session.
Let orientation be the result of getting a
- property with default named orientation
and with
- default "portrait
" from the parameters
- argument.
+ property with default named "orientation
" and with
+ default "portrait
" from parameters.
If orientation is not a String or does not
have one of the values "landscape
" or
@@ -10653,30 +10885,30 @@
Let scale be the result of getting a
- property with default named scale
and with
- default 1
from the parameters argument.
+ property with default named "scale
" and with
+ default 1
from parameters.
If scale is not a Number, or is less
than 0.1
or greater than 2
return error with error code invalid argument.
Let background be the result of getting a
- property with default named background
and with
- default false
from the parameters argument.
+ property with default named "background
" and with
+ default false
from parameters.
If background is not a Boolean return error with error code invalid argument.
Let page be the result of getting a property
- with default named page
and with a default of an
- empty Object from the parameters argument.
+ with default named "page
" and with a default of an
+ empty Object from parameters.
Let pageWidth be the result of getting a
- property with default named width
and with a
+ property with default named "width
" and with a
default of 21.59
from page.
Let pageHeight be the result of getting a
- property with default named height
and with a
+ property with default named "height
" and with a
default of 27.94
from page.
If either of pageWidth or pageHeight is @@ -10684,23 +10916,23 @@
Let margin be the result of getting a property
- with default named margin
and with a default of an
- empty Object from the parameters argument.
+ with default named "margin
" and with a default of an
+ empty Object from parameters.
Let marginTop be the result of getting a
- property with default named top
and with a
+ property with default named "top
" and with a
default of 1
from margin.
Let marginBottom be the result of getting a
- property with default named bottom
and with a
+ property with default named "bottom
" and with a
default of 1
from margin.
Let marginLeft be the result of getting a
- property with default named left
and with a
+ property with default named "left
" and with a
default of 1
from margin.
Let marginRight be the result of getting a
- property with default named right
and with a
+ property with default named "right
" and with a
default of 1
from margin.
If any @@ -10709,15 +10941,15 @@
Let shrinkToFit be the result of getting a
- property with default named shrinkToFit
and with
- default true
from the parameters argument.
+ property with default named "shrinkToFit
" and with
+ default true
from parameters.
If shrinkToFit is not a Boolean return error with error code invalid argument.
Let pageRanges be the result of getting a
- property with default named pageRanges
from
- the parameters argument with default of an
+ property with default named "pageRanges
" from
+ parameters with default of an
empty Array.
If pageRanges is not an Array @@ -10726,8 +10958,9 @@
When the user agent is next to run the animation frame
callbacks, let pdfData be the result of trying
to take UA-specific steps to generate a paginated representation of
- the current browsing context, with the CSS media type set
- to print
, encoded as a PDF, with the following paper settings:
+ session's current browsing context, with the
+ CSS media type set to print
, encoded as a PDF,
+ with the following paper settings:
Property |
---|