Similar to script execution, this spins the WebDriver process until the
action is complete (rather than spinning the WebContent process, which
we've seen result in deadlocks).
(cherry picked from commit 709deeb482a6433abbcb194551788bc5409166f4)
This implements execution of the pointer up, pointer down, and pointer
move actions.
This isn't 100% complete. Pointer move actions are supposed to break
the move into iterations over the specified duration, which we currently
do not do.
(cherry picked from commit 8000837f7821fe9854156c7ae1349d37c77e89b2)
In particular, we need to convert web element references to the actual
element. The AO isn't fully implemented because we will need to work out
mixing JsonValue types with JS value types, which currently isn't very
straight forward with our JSON clone algorithm.
(cherry picked from commit 94c243acd6873a9fd9115f1467093326392f06c0)
We are currently returning a JSON object of the form:
{
"name": "element-6066-11e4-a52e-4f735466cecf",
"value": "foo"
}
Instead, we are expected to return an object of the form:
{
"element-6066-11e4-a52e-4f735466cecf": "foo"
}
(cherry picked from commit 157d41bb0dae1ab3b04e079a72184b99f2137c5c)
Namely, we must always return NoSuchError invalid element IDs, and we
must handle stale elements.
(cherry picked from commit 92a37b3b1a62cf8ed6bc942229cb77bce01ec815)