The HTTP status for the "stale element reference" error in WebDriver
should be 404 (Not Found).
MozReview-Commit-ID: CBb7Ds8AEY3
--HG--
extra : rebase_source : 9b4309d43118730e20cb4ba17312a49cc203c58b
Made this a separate commit from that which actually removes the
in-tree vendored dependencies to make it easier to review.
MozReview-Commit-ID: 9xbkM0EfOOL
--HG--
extra : rebase_source : 6686dc07a25df1a820914eb715fb733778f092cb
The Rust backtrace from geckodriver is not useful since any error
we actually return is by-definition handled by the code, and we
can probably get more information just by looking at the error type
and string.
At the same time, it runs the risk of confusing users into thinking
there was a bug in the driver when actually it's perfectly normal
handling of invalid input.
MozReview-Commit-ID: 9S5IaioA5AA
--HG--
extra : rebase_source : 0d98188c263d51402c2330a6b730752487dcc7fc
A release of the webdriver crate is necessary for the release build
to pass on Travis, since testing/geckodriver/Cargo.toml cannot
depend on testing/webdriver as it is exported to the GitHub repository.
MozReview-Commit-ID: 1S2aAtg50t4
--HG--
extra : rebase_source : 53ef155537a44ef2bc141ea30a635e4144625118
This allows us to construct an ErrorStatus variant from a String.
This is useful if the remote end implementation uses the string
codes for transport.
The new From<String> trait for ErrorStatus is a reverse lookup of
ErrorStatus::error_code.
It currently handles two cases of Selenium errors, which are "element
not visible" and "invalid element coordinates". Both these have
been deprecated in the WebDriver standard and we need to figure
out a deprecation strategy for them.
MozReview-Commit-ID: 48MAVNQoiKy
--HG--
extra : rebase_source : 80c0932e3d42cfe19faa673d558790c83762dba1
References to mutable variables do not need mutable themselves.
This fixes a series of mutable variable warnings emitted by the
Rust compiler.
MozReview-Commit-ID: EosL5XNRRX4
--HG--
extra : rebase_source : 62aa86b2c6c87a5f39ee228dcad6b5e4162779d8
No functional changes here, but the indentation was wrong in many
places, making it very hard to read the code.
MozReview-Commit-ID: Iku7yPD30QV
--HG--
extra : rebase_source : 31aa77135ca7f89eab60335b5bb968c4d6f1294a
s/was/is/ in various error messages for harmony.
MozReview-Commit-ID: IrRw4Vl8bIK
--HG--
extra : rebase_source : 2e4a26077733fc4a182dca0feedd14291675d6ad
The WindowProxy screenX/screenY/outerWidth/outerHeight fields are
platform-independent longs, meaning the bitness of the system is not
taken into account. This is defined in WebIDL as "a signed integer type
that has values in the range [−2147483648, 2147483647]". This can be
represented with an i32 internally.
Additionally, the WebDriver specification says that we should accept
JSON Numbers as input. This means the input value can be either a float
or an integer. rustc_serialize handles this very badly and we first
need to extract the input as f64 because this is the most liberal type
(i.e. an integer can be coerced to a float without problem).
We then we cast the number to an i64 which trims off any decimals without
worrying that the number wraps. We then run bounds checks of an i32
and error if the number will not fit within the set range.
This patch expects the output from Marionette to be conforming.
MozReview-Commit-ID: CVdUZWh2t8X
--HG--
extra : rebase_source : 6780985703d5d5291eae508f9eb2fdec16c261cc
The window state concept was removed from WebDriver level 1.
MozReview-Commit-ID: 6cogstpDc0a
--HG--
extra : rebase_source : 539df9fed0761b8e9609f60c3f9b77b946829147
Some of the HTTP status codes have changed in the WebDriver specification,
as shown in:
d678562e3d
MozReview-Commit-ID: 4DLkYDXckew
--HG--
extra : rebase_source : 37c595265ead9591a6618ca44000bfb0f401da75
Since both these Rust programs are hosted in mozilla-central,
they are governed by the top-level LICENSE file. See also
toolkit/content/license.html.
MozReview-Commit-ID: 4C0fEAeJZ6h
--HG--
extra : rebase_source : f8beebd578cd816d974cc9416c6bdb1bdfa37b12
Documentation is the hallmark of a good software library and this isn't
great, but it is a step in the right direction.
MozReview-Commit-ID: IHDwp2pjXom
--HG--
extra : rebase_source : 9f5d488705cb97510ce051f1530002fffd302aaf
* Add Tag Name as a valid location strategy.
While creating WDSpec for Find Element and similar commands it showed
that we do not support Tag Name as a valid selector. Tests can be found
at https://reviewboard.mozilla.org/r/172110/
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: 5cd49eb129f4ae1ae7e047f274cfa31092353d65
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : a2245a52d6ad17184dc8b105cd2082899707bdda
To add a socks proxy the socks version is a required capability.
This patch adds the handling of the capability.
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: 94cdfcbb8e92bc070f144ad13bc1f074f0761eb5
committer: David Burns <david.burns@theautomatedtester.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : d555f9bcb03b61434b83973ee5736ca771926183
As given by the spec the proxy port is no longer a separate capability,
but an optional part of ftpProxy, httpProxy, sslProxy, and socksProxy.
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: f42568128d5a4218cc9f71d727ca3550c99c012e
committer: David Burns <david.burns@theautomatedtester.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : 11bda39133f9e0d2e67987b693fd44e0c249c23e
For debugging purposes it is helpful when enum and struct
definitions are using derive Debug.
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: 989cfcb7ab23ab356b2bf77ff37a37ab1c7be89d
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : 5d1bcd860f19a0275cc110d8e86d62788ce5319a
The WebDriver specification recently introduced an additional "state"
field for the window rect.
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: 2b54d3d8ad30f25b0df9b186661be15de4e280fb
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : bc62b14208282b2725e3c3ef476f840b16315418
The WebDriver spec has been changed a while ago to support "direct"
as proxyType. So "noproxy" is no longer a valid proxy type.
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: d4c7c73af12a38c3723750f32370197ab6130c67
committer: Andreas Tolfsen <ato@sny.no>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : fd64dcba6fd8742cdac87d4d00aa42baa6b31b75
* Implement the minimize window for webdriver-rust
Symptom: Now webdriver-rust cannot minimize window
Root Cause: No minimize command
Solution: Add the minimize command
Project: webdriver-rust
Note: After add this patch
Then add one in geckodriver
Then add support in firefox(marionette)
At last add patch in selenium(firefox webdriver)
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: 37b661f0d103ecde3f4bb87962142d054812f767
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : 282e0b54fb349de5df15c05a2fb530af18931ed8
* response: add single cookie response type
The WebDriver specification mandates that the GetNamedCookie command
should return a cookie serialisation object, and not an array of
cookies.
This patch introduces WebDriverResponse::Cookie and CookieResponse types
to allow WebDriver implementations to return single cookie objects.
Fixes: https://github.com/mozilla/geckodriver/issues/463
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: 9b49e5a6ec370e0da09521bfedcc596427c93cd5
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : 097a285a79103c45e6274b6d48a5e8892d1272ca
* Implement Fullscreen command support
This adds the HTTP endpoint and command structures for supporting the
Fullscreen command as in
https://w3c.github.io/webdriver/webdriver-spec.html#fullscreen-window
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: 7ce4ae6266c73547a50b974355e1ef5fa426924c
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : ce4f326dd0c9b52fda1bb8c553e6912d11034a1b
The W3C spec requires the American spelling.
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: bdd5efda8cf6acb5be1207a77be86e16e1fb5128
committer: Andreas Tolfsen <ato@mozilla.com>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : 974924ce0fe8300e959b4482d62363a5f48dce94
* server: make log output safe for windows prompt
The characters "←" and "→" are obfuscated in the Windows command
prompt. Use ASCII versions.
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: 6de6e225e14b545381719e2e97398bc1a8f87b13
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : 549018e98173ca5c72e4ecb32c7cf9c0cf363527
This patch splits the decoding of the HTTP request body out to a
separate function, decode_body, on WebDriverMessage. This is in
line with get_session_id, and reduces somewhat the complexity of
WebDriverMessage::from_http.
It also handles rustc_serialize::json::ParserErrors individually, by
making SyntaxError discernable from IoError.
The SyntaxError error handler re-uses the stacktrace produced by the
JSON parser when failing to decode the HTTP request body as JSON.
This improves the readability of the returned error.
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: d7fe400fa903b752b3c90c2c7e80ae9d5719e16b
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : 90bf8178d66e2871bb00d2e4f9f230941c49e82c
With the new constructor WebDriverError::new_with_stack it is possible
for consumers to set their own stacktraces.
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: 46761f45b0e0fe70ec78acf360c492b800c8a60a
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : 05cf0f383c26314b4954e13bdfe5ae53a7985649
HTTP requests and responses will now be logged in a
similar style as Marionette chatter in geckodriver (following
https://github.com/mozilla/geckodriver/pull/636) and in the Marionette
server in Gecko, by employing arrows.
The logging of responses is reduced from two log entries, to one.
It also makes use of the fmt::Display trait of the status.
For requests, the HTTP method, URI, and full body is included.
Source-Repo: https://github.com/mozilla/webdriver-rust
Source-Revision: 7e2a2042fa80018c8bce8bddee81ab6985db65f8
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : subtree_source : http%3A//tristan.corp.lon2.mozilla.com%3A8000
extra : subtree_revision : 5a35483899ddc0125fef02b221627fa0fc005085