Граф коммитов

29 Коммитов

Автор SHA1 Сообщение Дата
Andreas Tolfsen 1fe3c441c1 Bug 1153822: Adjust Marionette responses to match WebDriver protocol
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
2015-05-21 11:26:58 +01:00
Andreas Tolfsen a1fe10492b Bug 1155703: Correct Marionette to use NoSuchWindowError
FrameSendFailureError and FrameSendNotInitializedError are not compatible
with the W3C WebDriver specification and we should use NoSuchWindowError
instead.

Bug 1159674 has prepared Gaia for this change.

r=davehunt

--HG--
extra : rebase_source : 6fb5a2c0921d3fdbeb1749aee8296e7c40de4ead
extra : source : 02dfd2e12038460bb3c895c31951a85214e135e1
2015-04-29 12:00:43 +01:00
Andreas Tolfsen 34c27181b2 Bug 1157257: Include error's name if it's not a WebDriver error
When native JavaScript errors are thrown because of internal errors,
this will include the Error prototype's name in the message.

This is useful since the WebDriver protocol doesn't allow for arbitrary
JS error marshaling.

r=chmanchester

--HG--
extra : rebase_source : d1bd290b1df1acf6c3f67a7fcd7d1f71b7006477
2015-04-23 14:34:40 +01:00
Andreas Tolfsen 9c89709503 Bug 1158113: Removing two straggling error codes from Marionette
r=davehunt

--HG--
extra : rebase_source : 0ba61719dcfa99e06f34626672cbbac91c69906f
2015-04-24 12:06:43 +01:00
Andreas Tolfsen 5ade32492f Bug 1155658: Rename "illegal argument" error to "invalid argument"
r=chmanchester

--HG--
extra : rebase_source : b49c8bcaa30b470ae372182a83b6085ae94ddb7f
2015-04-17 18:43:05 +01:00
Andreas Tolfsen 0a912ae1c7 Bug 945729: Replace error number codes with strings
Brings Marionette closer to compliance with the W3C WebDriver standard
which prescribes that errors should be identified by a string rather
than a magic number.

r=dburns

--HG--
extra : rebase_source : 2bdb28f3c05e56b17cc13ceacbf3167dabe89fd0
extra : source : 2b691bf191db1a83ae489116649602a74e64007a
2015-04-08 19:02:34 +01:00
Andreas Tolfsen f421bdc30c Bug 1154757: Correct unable to set cookie error
r=dburns

--HG--
extra : rebase_source : 2251ee9e992d8ec8fca4ce8a2bf62d28853e9660
2015-04-20 13:53:51 +01:00
Carsten "Tomcat" Book a2fffe9d30 Backed out changeset 9947bd361636 (bug 945729) for wpt test failures 2015-04-21 16:01:40 +02:00
Andreas Tolfsen 4916729cb0 Bug 945729: Replace error number codes with strings
Brings Marionette closer to compliance with the W3C WebDriver standard
which prescribes that errors should be identified by a string rather
than a magic number.

r=dburns

--HG--
extra : rebase_source : cde9ecded568fb17c46cd5940ec2241cd4446aaf
extra : source : 2b691bf191db1a83ae489116649602a74e64007a
2015-04-08 19:02:34 +01:00
Andreas Tolfsen 86e4115d5b Bug 1154691: Align Marionette with WebDriver errors
Adds `invalid selector' and `invalid session id' errors to the server,
and aligns the exceptions in the Python client with those in the server.

Some of the exceptions are not in use yet and consequently do not carry
a `code` property.  This is fine because it makes us future-proof when
the server starts using them.

r=dburns

--HG--
extra : source : cc8eb386f147893aaf867797eb9f3c6d8fd0925a
2015-04-15 13:38:01 +01:00
Andreas Tolfsen ddcb607014 Bug 1153832: New dispatch style framework in Marionette listener
Takes advantage of the new dispatching technique introduced in bug
1107706 on the content side.

The patch introduces the framework to write simpler command handlers
in content space, but does not convert all commands in listener.js to
use this.  This can be done gradually, as both techniques are still
compatible.

r=dburns

--HG--
extra : source : 043a824dd7b749192a8c7ec3f1a8d3ba4d2619d0
2015-04-15 12:18:00 +01:00
Carsten "Tomcat" Book 7b850aae63 Backed out changeset 0b28f5ff48a6 (bug 1153832) for suspicion of making dt Asan test fail frequent/permanently
--HG--
extra : rebase_source : ccb49ee30e924bd7e30d997cd4204a1c8da8bdc4
2015-04-20 14:37:12 +02:00
Carsten "Tomcat" Book e132e2f5f8 Backed out changeset 330f6df11b2f (bug 1154691)
--HG--
extra : rebase_source : 159f38e7ad75e958349fcb7a0260e30d3ccb920f
2015-04-20 14:36:17 +02:00
Andreas Tolfsen 17c3962134 Bug 1154691: Align Marionette with WebDriver errors
Adds `invalid selector' and `invalid session id' errors to the server,
and aligns the exceptions in the Python client with those in the server.

Some of the exceptions are not in use yet and consequently do not carry
a `code` property.  This is fine because it makes us future-proof when
the server starts using them.

r=dburns

--HG--
extra : source : cc8eb386f147893aaf867797eb9f3c6d8fd0925a
2015-04-15 13:38:01 +01:00
Ryan VanderMeulen ddc7b9bff4 Backed out changeset c7eea3e8f98a (bug 1154691) for Windows w-p-t failures.
CLOSED TREE
2015-04-17 17:55:08 -04:00
Andreas Tolfsen 4c0af02e77 Bug 1154691: Align Marionette with WebDriver errors
Adds `invalid selector' and `invalid session id' errors to the server,
and aligns the exceptions in the Python client with those in the server.

Some of the exceptions are not in use yet and consequently do not carry
a `code` property.  This is fine because it makes us future-proof when
the server starts using them.

r=dburns

--HG--
extra : source : cc8eb386f147893aaf867797eb9f3c6d8fd0925a
2015-04-15 13:38:01 +01:00
Andreas Tolfsen 9338edd7c0 Bug 1153832: New dispatch style framework in Marionette listener
Takes advantage of the new dispatching technique introduced in bug
1107706 on the content side.

The patch introduces the framework to write simpler command handlers
in content space, but does not convert all commands in listener.js to
use this.  This can be done gradually, as both techniques are still
compatible.

r=dburns

--HG--
extra : rebase_source : 9ad8846754b86a1acc225c1a9b77a60530e8703b
extra : source : 043a824dd7b749192a8c7ec3f1a8d3ba4d2619d0
2015-04-15 12:18:00 +01:00
Ryan VanderMeulen a08d886394 Backed out changeset 5c83a36d9eba (bug 1153832) for Gip(a) failures.
CLOSED TREE
2015-04-16 12:20:48 -04:00
Andreas Tolfsen 9ad39929e4 Bug 1153832: New dispatch style framework in Marionette listener
Takes advantage of the new dispatching technique introduced in bug
1107706 on the content side.

The patch introduces the framework to write simpler command handlers
in content space, but does not convert all commands in listener.js to
use this.  This can be done gradually, as both techniques are still
compatible.

r=dburns

--HG--
extra : rebase_source : 2fac74a40d529f4a9112d4cd1e8d3f0681fd3499
extra : source : 043a824dd7b749192a8c7ec3f1a8d3ba4d2619d0
2015-04-15 12:18:00 +01:00
Carsten "Tomcat" Book ef43ff7fe0 Backed out changeset cc8eb386f147 (bug 1154691) for b2g test bustage on a CLOSED TREE 2015-04-16 13:47:51 +02:00
Andreas Tolfsen e3193bd590 Bug 1154691: Align Marionette with WebDriver errors
Adds `invalid selector' and `invalid session id' errors to the server,
and aligns the exceptions in the Python client with those in the server.

Some of the exceptions are not in use yet and consequently do not carry
a `code` property.  This is fine because it makes us future-proof when
the server starts using them.

r=dburns

--HG--
extra : rebase_source : 5a39fe5749190acb2170025586e6bfdd82e5697c
2015-04-15 13:38:01 +01:00
Ryan VanderMeulen 6824492e5c Backed out changeset 043a824dd7b7 (bug 1153832) for mass Mn failure.
CLOSED TREE
2015-04-15 12:58:51 -04:00
Andreas Tolfsen 001f9b3793 Bug 1153832: New dispatch style framework in Marionette listener
Takes advantage of the new dispatching technique introduced in bug
1107706 on the content side.

The patch introduces the framework to write simpler command handlers
in content space, but does not convert all commands in listener.js to
use this.  This can be done gradually, as both techniques are still
compatible.

r=dburns

--HG--
extra : rebase_source : 43ef240735099221cbbddb753eaf9e2802a4de1d
2015-04-15 12:18:00 +01:00
Andreas Tolfsen 487ab6096d Bug 941085: File uploads support in Marionette
Adds support for W3C WebDriver compatible file uploads, where additional
calls to sendKeys on <input type=file multiple> will append files,
rather than reset the field.

r=dburns

--HG--
extra : source : 93166201fca032157ecb88923a62e8b2e8f9529d
extra : amend_source : a27f709de201063cc510af2f234d45344e90193b
2015-04-02 15:16:00 +01:00
Ryan VanderMeulen 6bd1c0ce64 Backed out changeset f3a27b508519 (bug 941085) for frequent Mn-e10s failures.
CLOSED TREE
2015-04-09 17:52:51 -04:00
Andreas Tolfsen 306af8a37f Bug 941085: File uploads support in Marionette
Adds support for W3C WebDriver compatible file uploads, where additional
calls to sendKeys on <input type=file multiple> will append files,
rather than reset the field.

r=dburns

--HG--
extra : rebase_source : a3b3ace100e68be1d2df7a9c98dfa75f5b1afa40
extra : source : 93166201fca032157ecb88923a62e8b2e8f9529d
2015-04-02 15:16:00 +01:00
Andreas Tolfsen 99a1fa9768 Bug 1150522: Add WebDriver string statuses to Marionette client
Adds string based statuses as defined by the W3C WebDriver protocol
to the Marionette Python client.  Importantly, it does not remove the
ability to look up errors by their Selenium protocol number for backwards
compatibility reasons.

r=dburns

--HG--
extra : rebase_source : 792e85d01ed6513370f448762c1c5bf8f13842a4
2015-04-02 20:07:20 +01:00
Andreas Tolfsen 6a54f2978a Bug 1149625: Order errors by name rather that status code
This patch has no functional changes, apart from correctly naming
InvalidElementStateError and exporting it.  It's not currently in use.

r=dburns

--HG--
extra : rebase_source : 92b1ddca4cf73a48f7ddeb26e51881e23d63adce
2015-03-31 18:00:32 +01:00
Andreas Tolfsen 27cddf9d2f Bug 1107706: Part 2: Add error module and WebDriver error objects
Adds the ability to throw error objects for WebDriver statuses, and an
error module with convenience functions for manipulation of these and
for handling other error related operations.

--HG--
extra : rebase_source : 5ee047fd7a8e0ecea918e422cd12273b78a78153
extra : source : 0c074cdc434e3c8ba412db44aece7b1840198fe5
2015-03-17 14:27:20 +00:00