Implements WebDriver Actions API: a low-level interface for providing virtualised device input to the web browser.
Classes
Members
(static) InputState
Possible kinds of |InputState| for supported input sources.
(static) inputStateMap
Input state associated with current session. This is a map between input ID and the device state for that input source, with one entry for each active input source.
Initialized in listener.js.
(static) inputsToCancel
List of action.Action
associated with current session. Used to
manage dispatching events when resetting the state of the input sources.
Reset operations are assumed to be idempotent.
Initialized in listener.js
(static) PointerOrigin
Represents possible values for a pointer-move origin.
(static) PointerType
Represents possible subtypes for a pointer input source.
Methods
(static) Chain()
Functionality for (single finger) action chains.
- Source:
(static) computePointerDestination(a, inputState, centeropt) → {Map.<string, number>}
Compute viewport coordinates of pointer target based on given origin.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
a |
action.Action | Action that specifies pointer origin and x and y coordinates of target. |
|
inputState |
action.InputState | Input state that specifies current x and y coordinates of pointer. |
|
center |
Map.<string, number> |
<optional> |
Object representing x and y coordinates of an element center-point. This is only used if |a.origin| is a web element reference. |
Returns:
x and y coordinates of pointer destination.
- Type
- Map.<string, number>
(static) computeTickDuration(tickActions) → {number}
Compute tick duration in milliseconds for a collection of actions.
Parameters:
Name | Type | Description |
---|---|---|
tickActions |
Array.<action.Action> | List of actions for one tick. |
Returns:
Longest action duration in |tickActions| if any, or 0.
- Type
- number
(static) dispatch(chain, seenEls, container) → {Promise}
Dispatch a chain of actions over |chain.length| ticks.
This is done by creating a Promise for each tick that resolves once all the Promises for individual tick-actions are resolved. The next tick's actions are not dispatched until the Promise for the current tick is resolved.
Parameters:
Name | Type | Description |
---|---|---|
chain |
action.Chain | Actions grouped by tick; each element in |chain| is a sequence of actions for one tick. |
seenEls |
element.Store | Element store. |
container |
Object.<string, nsIDOMWindow> | Object with |
Returns:
Promise for dispatching all actions in |chain|.
- Type
- Promise
(static) dispatchTickActions(tickActions, tickDuration, seenEls, container) → {Promise}
Dispatch sequence of actions for one tick.
This creates a Promise for one tick that resolves once the Promise for each tick-action is resolved, which takes at least |tickDuration| milliseconds. The resolved set of events for each tick is followed by firing of pending DOM events.
Note that the tick-actions are dispatched in order, but they may have different durations and therefore may not end in the same order.
Parameters:
Name | Type | Description |
---|---|---|
tickActions |
Array.<action.Action> | List of actions for one tick. |
tickDuration |
number | Duration in milliseconds of this tick. |
seenEls |
element.Store | Element store. |
container |
Object.<string, nsIDOMWindow> | Object with |
Returns:
Promise for dispatching all tick-actions and pending DOM events.
- Type
- Promise
(static) processPointerAction(id, pointerParams, act)
Adds |pointerType| attribute to Action |act|. Helper function for |action.Action.fromJson|.
Parameters:
Name | Type | Description |
---|---|---|
id |
string | Input source ID. |
pointerParams |
action.PointerParams | Input source pointer parameters. |
act |
action.Action | Action to be updated. |
Throws:
-
If |id| is already mapped to an |action.InputState| that is not compatible with |act.type| or |pointerParams.pointerType|.
- Type
- InvalidArgumentError