Due to bug 1557457 it can happen that loading a web page with eg.
a HTTP auth prompt, no modal dialog will be shown by Firefox. As
such disable this preference for now globally, until all the issues
with privileged content processes have been solved.
Differential Revision: https://phabricator.services.mozilla.com/D34710
--HG--
extra : moz-landing-system : lando
When privacy and tracking protection is enabled there is a call home that
can break tests. This uses the relavant prefs to disable the features.
Differential Revision: https://phabricator.services.mozilla.com/D29644
--HG--
extra : moz-landing-system : lando
This just adds a layer of indirection between existing startup paths and a
new startup path that GeckoView(-consumers) will exploit.
Differential Revision: https://phabricator.services.mozilla.com/D17579
--HG--
extra : moz-landing-system : lando
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8
This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:
ChromeUtils.import("resource://gre/modules/Services.jsm");
is approximately the same as the following, in the new model:
var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs
This was done using the followng script:
https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16750
--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
Until Firefox 64 the preference "app.update.auto" controlled if updates
can be downloaded and applied. This changed in Firefox 65, and now the
preference "app.update.disabledForTesting" controls it.
Depends on D13515
Differential Revision: https://phabricator.services.mozilla.com/D13516
--HG--
extra : moz-landing-system : lando
Until Firefox 64 the preference "app.update.auto" controlled if updates
can be downloaded and applied. This changed in Firefox 65, and now the
preference "app.update.disabledForTesting" controls it.
Depends on D13515
Differential Revision: https://phabricator.services.mozilla.com/D13516
--HG--
extra : moz-landing-system : lando
The debug output is currently kinda polluted with lines of
received events and observer notifications. Those are not usually
needed by anyone beside us, but they also add little value in
having additional trace output, because that mainly would only
add the command and response messages.
To make debug output more helpful for our users the command
and response messages should appear here and not in trace.
But all the additional log output lines as mentioned above
we usually make use of for investigating problems should
be trace only.
Also a lot of existing debug output will remain unchanged.
Differential Revision: https://phabricator.services.mozilla.com/D13379
--HG--
extra : moz-landing-system : lando
Because in Marionette the application updates cannot be turned off
via the preference "app.update.disabledForTesting" (see bug 1508726),
the preference "app.update.auto" has to be used for the time being
to control that by default no updates should be downloaded and
installed.
Even "app.update.disabledForTesting" doesn't work right now,
it might be good to leave it. It would help us in the future
so that we won't have to release new Marionette client and
geckodriver releases, if it gets supported in Firefox.
Note that this band-aid fix will only work for Firefox releases
from 57 to 64. For Firefox 65 and onwards the fix on
bug 1508726 will be needed.
Depends on D13059
Differential Revision: https://phabricator.services.mozilla.com/D13060
--HG--
extra : moz-landing-system : lando
It should be made clear that only those preferences should be added
to marionette.js which have an immediate effect. All others which
eg. require a restart, or have to be set before the application
starts the first time, must be added to the appropriate client's
profile generation code.
Differential Revision: https://phabricator.services.mozilla.com/D13059
--HG--
extra : moz-landing-system : lando
This adds the app.update.checkInstallTime pref with a value of false in all tests that have the app.update.disabledForTesting pref except for geckodriver which is covered by bug 1508283.
`app.update.auto` should actually never have been needed here. `app.update.disabledForTesting`, and before that, `app.update.enabled` will prevent updates altogether. Now that the `app.update.auto` pref is not the correct mechanism for disabling automatic update, this pref should be removed from these files.
`app.update.enabled` can also be removed from prefs.rs at this time as per the comment in the file indicating that it can be removed when Firefox 62 stabilizes.
Depends on D10315
Differential Revision: https://phabricator.services.mozilla.com/D10780
--HG--
extra : moz-landing-system : lando
Support for the _xpcom_categories property was removed in Bug 568691,
but we left a bunch of consumers behind, and it's been cargo-culted a bit more.
We should remove the remaining remnants.
Differential Revision: https://phabricator.services.mozilla.com/D2429
--HG--
extra : moz-landing-system : lando
The patch lets Marionette detect a XML parser error window
during startup, which usually leaves the browser in an
unusable state. Marionette client then times out after
120s with a generic and not helpful error message.
In case such a window opens Marionette logs a fatal message
to the console, which then can be picked-up by Treeherder
for the failure summary.
MozReview-Commit-ID: L3zW3TcaJhE
--HG--
extra : rebase_source : 59a3149a4d09224d03133c9955a522b3c3d6333d
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.
As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.
MozReview-Commit-ID: 8C8NFnOP5GU
--HG--
extra : rebase_source : dd000a05bfc2da40c586644d33ca4508fa5330f6
By using the new log access functions we can avoid ad-hoc log setup
in the Marionette component. This encapsulates the workarounds for
dealing with lack of E10s support in Log.jsm to testing/marionette/log.js.
Because the Marionette component is loaded at any time, we need to
keep the lazy getter for accessing the logger.
MozReview-Commit-ID: EabQ0zXSsGK
--HG--
extra : rebase_source : 1a891efcb10f304e85014c208e9d6955aa17399c
This patch reorganises imports and getter definitions to match
style used elsewhere, and defines TCPListener as a lazy getter.
MozReview-Commit-ID: Dq2ufYzVcvE
--HG--
extra : rebase_source : 5b2510688a8fa0bcefa9bf0e760e92b0c1c982ce
If for whatever reason Marionette fails to initialise we quit
Firefox so that the parent process of Firefox (typically geckodriver)
does not have to elapse its connection timeout.
This patch rectifies an oversight that we also have this behaviour
when the user flips the marionette.enabled preference. If the user
is in control of the process we should not forcefully make Firefox quit.
MozReview-Commit-ID: LVqAeIp56MG
--HG--
extra : rebase_source : aea517efa4e2dfcdd0c82a74d8c3c9c8686fe0e8
The "parent process" terminology is already established in the
parent process message manager. This aligns the Marionette component
with this terminology.
MozReview-Commit-ID: 12z1M5jAWDa
--HG--
extra : rebase_source : e735dd5a15c39703cad9799dd7578fed5fb1f139
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.
As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.
MozReview-Commit-ID: 8C8NFnOP5GU
--HG--
extra : rebase_source : 59e4a6ced7d14d2a01c0b79e944078ea84cae523
If initialisation fails on being unable to start the TCP listener,
we may have already set some recommended preferences. This patch
ensures any altered preferences get reset when uninit() is called
in the try...catch block in init().
MozReview-Commit-ID: B5vNvTUZcO7
--HG--
extra : rebase_source : 1cab7dfdf9c60d0f294df7a0bd0356041319d161
When the Marionette component fails to initialise we fail to bail
out. This causes Marionette to report itself as enabled through
an environment variable, an observer notification, and a log message.
MozReview-Commit-ID: 2nTNNP0o5dv
--HG--
extra : rebase_source : 3b780bf2f24e03ba796d50cf5094c28d951847ec
Lots of preferences aren't used anymore, or are safe to set at
startup in marionette.js. This also makes them specific to a
version of Firefox, and prevents us from keeping fallback
preferences around in geckodriver.
This patch bumps the recommended version of Firefox to 57.
MozReview-Commit-ID: Iic6iWFP3Nx
--HG--
extra : rebase_source : 0700aa502f53178f759ded232fe4a1452b07e1ee
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.
As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.
MozReview-Commit-ID: 8C8NFnOP5GU
--HG--
extra : rebase_source : a8840bd26f4b01b756ffa72345ababb625048550
As a workaround for bug 1411513, about Log.jsm not supporting E10s,
testing/marionette/listener.js makes a synchronous call (sendSyncMessage)
to the main process asking for the Marionette logger repository's level.
We can avoid this blocking operation by using initialProcessData,
which is new since the workaround was implemented.
initialProcessData is a dictionary structured clone serialisable
that gets copied to the content process when it starts. Because the
Marionette log level cannot be changed at runtime it should be fine
to only send this data once per child process.
MozReview-Commit-ID: 3czydqGZpZH
--HG--
extra : rebase_source : 1aaae676d2b56c609844238e8173b64d300e3e00
As requested by the WebDriver specification any beforeunload prompt
has to be automatically dismissed for the close and navigate commands.
MozReview-Commit-ID: 1qp0nzIYTaM
--HG--
extra : rebase_source : 418dca8e9fa61df6d5423c8c5cce6a97a0001821
This also removes any redundant Ci.nsISupports elements in the interface
lists.
This was done using the following script:
acecb401b7/processors/chromeutils-generateQI.jsm
MozReview-Commit-ID: AIx10P8GpZY
--HG--
extra : rebase_source : a29c07530586dc18ba040f19215475ac20fcfb3b