This provides a custom implementaiton of log::Log for geckodriver,
effectively making slog redundant in central.
slog is, for our purposes, an unnecessarily complicated crate
to depend on. With Rust 1.24 transitioning to stable soon,
we need to prepare code and crates in central for this change.
geckodriver only uses slog for the single purpose of changing the
log level at runtime, and it would be less work to roll our own
logger implementation than it would be to grok the slog API changes.
MozReview-Commit-ID: 2wyS8e6s2mr
--HG--
extra : rebase_source : 04f6202faf9dd266d4914f3f6eefd0669163a25e
The third_party/rust/mozprofile has not been deleted because mozrunner
also depends on it. We will have to run "./mach vendor rust" again
once both these changes have landed in order to remove the third-party
dependency from crates.io. This work is tracked in bug 1430158.
MozReview-Commit-ID: 5Q3PdTS03wm
--HG--
extra : rebase_source : a3b52bcb4c2047ddd81b830e4e2f349d8396ee79
This deletes the third-party mozrunner crate off crates.io in favour
of using the in-tree version from testing/mozbase/rust/mozrunner.
MozReview-Commit-ID: 6xQZ99FYrdP
--HG--
extra : rebase_source : 90ef2df2924d4194652255728d73ee03ed729ac3
This prevents the geckodriver crate from being published to a
package registry like crates.io by mistake.
MozReview-Commit-ID: 7Qc9vaPhdJh
--HG--
extra : rebase_source : ec1f470a69c14c240b2cb522eb4475b22ed4a9da
By logging the used browser arguments from geckodriver only the
-marionette argument ends up in the log. Instead mozrunner should
be used which knows about any of them.
MozReview-Commit-ID: J9px0pWSwQm
--HG--
extra : rebase_source : 36730f7c2ecffa7a28dda3d16404f523bd075d35
Upgrades the webdriver crate dependency to 0.29.0, which contains some
backwards incompatible changes for RectResponse. This type has been
split in two, WindowRectResponse and ElementRectResponse.
The former type contains a new "state" field which is already implemented
by Marionette. Because geckodriver is used with a range of earlier
Firefoxen, it defaults to "normal" window state if the field is not
returned from Marionette. This is acceptable.
MozReview-Commit-ID: FRxppRVmiZl
--HG--
extra : rebase_source : 4a86659f337598bb4f5623c51f5df288c8a5dd69
The canonical geckodriver source code no longer lives on GitHub, but
in mozilla-central's testing/geckodriver directory. Linking through
searchfox.org because it provides a better UI than hg.mozilla.org.
MozReview-Commit-ID: LmnviuC7Z9Y
--HG--
extra : rebase_source : 23f0e669bd719c595300d4e7ac38bc12f4937f57
Upgrades the mozrunner crate dependency by pinning it to 0.4.1. With `./mach vendor rust' I could not find any other way to force a new version to be downloaded because cargo, as far as I understand, does not yet support using crates.io as a fallback.
This patch also pins the mozprofile and mozversion dependencies exactly, although this is strictly not needed yet because they we have the latest versions vendored in-tree.
MozReview-Commit-ID: 8emDKbiYd0S
--HG--
extra : rebase_source : c153506f481255b2f9362e94da3254013ad522ab
This updates the vendored WebDriver crate to 0.27.0
MozReview-Commit-ID: HM6MIU9IDAq
--HG--
extra : rebase_source : 137941518076a8d99e5b8c40ac67ad60d9f205b9
This updates the vendored WebDriver crate to 0.27.0
MozReview-Commit-ID: HM6MIU9IDAq
--HG--
extra : rebase_source : c3b6cb7d0e2b7f7423d7880a936df52d081cd867
This updates the vendored WebDriver crate to 0.27.0
MozReview-Commit-ID: HM6MIU9IDAq
--HG--
extra : rebase_source : 080e3a35972079b86b03b731e83e5171c5918da4
This implements the geckodriver support for the Fullscreen Window command.
The API was introduced in the webdriver crate in
https://github.com/mozilla/webdriver-rust/pull/100
MozReview-Commit-ID: 3eIuLmGWl2x
--HG--
extra : rebase_source : 55b38b1ff2850d44b79270194874e7418d34a907
Update dependencies for mozrunner (0.4) and mozprofile (0.3) to
stop setting default preferences by mozrunner. This will also allow
to overwrite all preferences now via the moz:firefoxOptions capability.
MozReview-Commit-ID: IU0oKzRnnfG
--HG--
extra : rebase_source : 7f8946f7e22af9beebaddc52c78d549ddc898c87
geckodriver is the Mozilla implementation of the WebDriver remote
control interface for Gecko, and provides an HTTPD proxy that
translates the WebDriver protocol to Marionette.
Building this as part of the Firefox build will allow us to run
WPT WebDriver tests to verify our implementation of Marionette and
geckodriver. It also makes it less painful to make changes across
projects.
This change will cause the geckodriver program to be built as part
of regular Firefox builds, except on macOS and Android, and when artifact
builds are enabled.
RUST_PROGRAMS in cross-compile environments cause the wrong linker to
be used. When this bug is fixed, we should be able to enable building
of geckodriver on macOS. This work is tracked in:
https://bugzilla.mozilla.org/show_bug.cgi?id=1329737
On Android, we may one to build a binary for the host system to use
(x86_64), instead of an ARM binary for the emulator.
MozReview-Commit-ID: FG5tmPv4iut
--HG--
extra : rebase_source : 091728fd2582458325689fc6e3d8b317428802d8
Support the alwaysMatch/firstMatch new session command. Move the
capabilities handling into geckodriver as far as possible so that
marionette itself should not be rejecting sessions (as this is
expensive and can only happen after gecko starts). Use mozversion to
provide (currently somewhat hacky) version number matching for the
browserVersion capability.
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: 6f1e3c192463342a0a49f5f3f0af914ad0e1ae7a
committer: Andreas Tolfsen <ato@mozilla.com>
--HG--
extra : rebase_source : eec91abc5dcab0f35cd758ad1900a5d15988bd0d
Asynchronous logging through slog has the downside that its buffer does
not flush on flushing the system's stderr.
Using synchronous logging should not have any notable performance
downsides for geckodriver.
Fixes#401.
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: fdc2804ef05e450cd93d0939809c9e2b46645547
committer: David Burns <david.burns@theautomatedtester.co.uk>
--HG--
extra : rebase_source : d810813995fb0b8bf9842b4bfc7e0ed74cc023df
clap 2.14 introduced aliased arguments, which means we can remove the
workaround using a hidden argument.
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: 5e93a93224ee00a6624f8c3cb32bb17546da9b56
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : rebase_source : 028e314aba6e67db1343467b0b348c356412718f