The findChildElement and findChildElements commands were originally
added to provide Selenium compatibility because it sends an "id" field
in the body.
They are both unneeded now that we have wires which extracts the element
ID from the URI template and sets the "element" field that the normal
findElement and findElements commands use.
r=dburns
--HG--
extra : commitid : 9UOUJoukHH1
extra : rebase_source : 2f848ebbfa69b82b03d718340b8203d9183083d6
When a TEXTAREA element is focused it returns the cursor to the last
position was at, or places it last. INPUT @type="text" (or any other
textual input element) places the caret at the beginning. Because of
this we move the caret to the end of the input field. The next time
the element is focussed, the cursor should move to the end.
The layout touch caret tests relied on the caret being left in its
previous position. This patch addresses that by using the advanced user
interaction API for these test cases.
r=jgriffin
--HG--
extra : commitid : 7tchyrqIp00
extra : rebase_source : 5f164dc051183056c92a2da7fb6e601fff748b29
We attach the emulator commands outside of the simpletest harness.
Removing this makes testing/marionette/simpletest.js less dependent
on Marionette.
r=dburns
--HG--
extra : commitid : 8jVQBdufXQg
extra : rebase_source : 5ea9660825fd76504d0cc7fdbc1bebba947836f5
getElementSize, getElementLocation, and getElementPosition are all
deprecated. They are not used by the client bindings.
r=dburns
--HG--
extra : commitid : FkXJjFafLDR
extra : rebase_source : 4d9f4a1b3ee461ad593854ec543c9ef26277377b
When a TEXTAREA element is focused it returns the cursor to the last
position was at, or places it last. INPUT @type="text" (or any other
textual input element) places the caret at the beginning. Because of
this we move the caret to the end of the input field. The next time
the element is focussed, the cursor should move to the end.
r=jgriffin
--HG--
extra : commitid : 56D5Oqfl8Nh
extra : rebase_source : e13a68395fdfe59fa93c45b2b5ccca28283f11e2
Introduce protocol version levels in the Marionette server.
On establishing a connection to a local end, the remote will return a
`marionetteProtocol` field indicating which level it speaks.
The protocol level can be used by local ends to either fall into
compatibility mode or warn the user that the local end is incompatible
with the remote.
The protocol is currently also more expressive than it needs to be and
this expressiveness has previously resulted in subtle inconsistencies
in the fields returned.
This patch reduces the amount of superfluous fields, reducing the
amount of data sent. Aligning the protocol closer to the WebDriver
specification's expectations will also reduce the amount of
post-processing required in the httpd.
Previous to this patch, this is a value response:
{"from":"0","value":null,"status":0,"sessionId":"{6b6d68d2-4ac9-4308-9f07-d2e72519c407}"}
And this for ok responses:
{"from":"0","ok":true}
And this for errors:
{"from":"0","status":21,"sessionId":"{6b6d68d2-4ac9-4308-9f07-d2e72519c407}","error":{"message":"Error loading page, timed out (onDOMContentLoaded)","stacktrace":null,"status":21}}
This patch drops the `from` and `sessionId` fields, and the `status`
field from non-error responses. It also drops the `ok` field in non-value
responses and flattens the error response to a simple dictionary with the
`error` (previously `status`), `message`, and `stacktrace` properties,
which are now all required.
r=jgriffin
--HG--
extra : commitid : FbEkv70rxl9
extra : rebase_source : 3116110a0d197289cc95eba8748be0a33566c5a5
Removes FrameSendFailureError and FrameNotInitializedError from the
Marionette Python client.
r=davehunt
--HG--
extra : commitid : GUUlKplFtOH
extra : rebase_source : 8d4d135f8a0adee8491b0af2b8c65861adc712ca
Do note that this test is disabeld in the manifest.
r=dburns
--HG--
extra : commitid : 9P4lCsipXFI
extra : rebase_source : f1b712f5b0f2558893f2c86dd4dae3bdb3d380ee
This allows WebDriver compatibility to create valid URI.
--HG--
extra : commitid : 7JjQgqwKr8P
extra : rebase_source : 30e59c18b69ab404608c6b44f1dc11742b95ac78
Because of the asynchronous behaviour of some internal utilities, such
as ElementManager, we need to employ promises to create a bridge over
them and the synchronous returning functions.
r=dburns
--HG--
extra : commitid : LneaNFIEWhx
extra : source : 12fe4474c9bc791395603242bc2f865e39212aa9