Bug 1350887 - Include Marionette prefs amongst defaults; r=ted,whimboo

The Marionette component ships in Firefox, but is not enabled by default.
We want to facilitate activating Marionette at runtime by flipping
the marionette.enabled preference, and showing the Marionette related
preferences in about:config helps discoverability.

It is also useful to rely on the preferences' default values so that
they do not have to be hardcoded in the component.

When Marionette is enabled by setting marionette.enabled to true, a set of
recommended automation preferences found in testing/marionette/server.js
are set if the user has not overriden/user-defined one of them and
marionette.prefs.recommended is true (default).  When Marionette is
stopped, the altered preferences are reset.

MozReview-Commit-ID: 3HLnEI0TEBB

--HG--
extra : rebase_source : 8be91ed46c443dd120cbc4b42c729cf3ae250b5f
This commit is contained in:
Andreas Tolfsen 2017-03-29 18:25:55 +01:00
Родитель 4725e008d0
Коммит 914224d736
3 изменённых файлов: 13 добавлений и 2 удалений

Просмотреть файл

@ -653,6 +653,10 @@
; gre location for now.
@RESPATH@/defaults/pref/channel-prefs.js
; Remote control protocol prefs
; defined in ../../testing/marionette/prefs/marionette.js
@RESPATH@/defaults/pref/marionette.js
; Services (gre) prefs
@RESPATH@/defaults/pref/services-sync.js

Просмотреть файл

@ -4,9 +4,9 @@
DIRS += ["components"]
JS_PREFERENCE_FILES += ["prefs.js"]
JAR_MANIFESTS += ["jar.mn"]
JS_PREFERENCE_FILES += ["prefs/marionette.js"]
MARIONETTE_UNIT_MANIFESTS += ["harness/marionette_harness/tests/unit/unit-tests.ini"]
MARIONETTE_WEBAPI_MANIFESTS += ["harness/marionette_harness/tests/webapi-tests.ini"]
XPCSHELL_TESTS_MANIFESTS += ["unit.ini"]

Просмотреть файл

@ -2,6 +2,13 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
// Marionette is the remote protocol that lets OOP programs communicate
// with, instrument, and control Gecko.
//
// It is included in Firefox, but not enabled by default unless the
// --marionette flag is passed or the marionette.enabled preference is
// set to true.
// Whether or not Marionette is enabled.
pref("marionette.enabled", false);