In geckodriver we need a better control about the behavior of the
crash reporter. It should be enabled by default if possible, but
never show its window when a crash actually happens. Both settings
will allow us later to analyze the generated minidump files.
Further the crash reporter will shutdown Firefox now in case of
content crashes. This prevents a possible hang of Marionette
when a command in content gets executed and the framescript
gets disconnected.
MozReview-Commit-ID: DV1E7yQlElM
--HG--
extra : rebase_source : 6273a2f45fbe5f1b21c099ed8efcea44d72ec8e3
In case the NewSession command fails due to errors returned
by Marionette, the browser has to be killed. This is necessary
because DeleteSession always requires an existent session, and
would fail in closing the browser. So the process would continue
to be alive.
MozReview-Commit-ID: 1llX4lPNYjN
--HG--
extra : rebase_source : 0da6529e2c09358c83760fc66c997db09665e304
To allow geckodriver to create file objects in child processes, this
preference has to be set to true. As such it needs to be recommended
in Marionette and set as default preference for geckodriver.
MozReview-Commit-ID: 8bdbi5jH6Vc
--HG--
extra : rebase_source : cc8963d2b15357b6d1607854e978aa764fcbd42f
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
This allows tests that use Geckodriver remotely to more easily install
addons. The base64 blob is written to a temporary file before being
passed on to Marionette.
MozReview-Commit-ID: DnaBqoXCj5
--HG--
extra : rebase_source : 0c3f37b65fcb47c5a1389348e34f19b98c8183d5
geckodriver currently assumes the response from the CloseWindow command
is empty and unmarshals it to Ok(Void).
Starting with Firefox 52, Marionette returns a window handle array to
indicate whether the last window was closed. If this array is empty,
the delete_session field is set to true and the session is ended.
Fixes: https://github.com/mozilla/geckodriver/issues/613
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: b579b41838918460a63b59a4bb7933ecf485b7f5
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : rebase_source : 1adac09285338702ae82c6108d7fc233d45c9cf1
Prevent confusion amongst users as towards whether v0.16.0 is out.
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: dccea97b6cc709b4bd93146ea12c7d9b0b356688
--HG--
extra : rebase_source : 19985f1ae4f75089c1ee26e5d896292d82a82b0c
* replace log with slog
The default log library has the disadvantage that it cannot be
reinitialised. geckodriver needs the ability to set up the logger
again with a log level passed in with the `firefoxOptions.log.level`
capability when a new session request is made.
slog redirects calls to the log crate's `info!()`, `debug!()`, `trace!()`
&c. macros to a drain that we reinitialise when `logging::init(level:
LogLevel)` is called.
As this patch removes the env-logger crate, support for setting the
`RUST_LOG` environment variable is removed with this patch. The correct
ways to request a log level is to use the `-vv` or `--log LEVEL` flags, or
the `firefoxOptions.log.level` capability as described in the README.md.
This patch also fixes a bug where the capability log level would
override the log level requested by flag in `MarionetteSettings`, causing
subsequent WebDriver sessions to inherit the log level. For example,
if session 1 used `firefoxOptions.log.level` and session 2 did not,
it would reuse the level from before because `MarionetteSettings` would
not be reset.
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: bbdda6053ad15864393fe25bc067ad3668f9c047
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : rebase_source : 178fe69b0d0f46d57fd95dfe95af40884b3dfe29
Add --webdriver-port argument back as a hidden alias
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: 72c4a05273dbc898cd07643265b933ff61cee04b
--HG--
extra : rebase_source : 919b903294473889cac09b4ac91e95a2507d2abc
* fix shorthand verbosity flags
* allow firefoxOptions.log.level capability to control logging
The firefoxOptions.log.level capability may optionally be passed to the
New Session command, which will initialise the env_logger and override
the verbosity level requested from command-line flags or the RUST_LOG
environment variable.
When the flags are used these will from now on also enable the env_logger.
* remove default implementation for MarionetteSettings
* raise default log level to info
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: 2277355d9c7c542266d76884c406622d7d6ed24c
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : rebase_source : d0ea581f2e91a65de3a08c0b958c43c0565b37d2