Skip to content

Commit

Permalink
Backed out 7 changesets (bug 1350887) for build bustage on a CLOSED TREE
Browse files Browse the repository at this point in the history
Backed out changeset d2b395e6c5c0 (bug 1350887)
Backed out changeset 5a6d5c43135f (bug 1350887)
Backed out changeset ec57676ad0d1 (bug 1350887)
Backed out changeset 4a3d1a8767f7 (bug 1350887)
Backed out changeset 40cd9ca1553e (bug 1350887)
Backed out changeset d264991a436d (bug 1350887)
Backed out changeset b915d40a6ba6 (bug 1350887)

--HG--
rename : testing/marionette/prefs/marionette.js => testing/marionette/prefs.js
  • Loading branch information
KWierso committed Apr 3, 2017
1 parent be2b5e3 commit d11e3dc
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 224 deletions.
4 changes: 0 additions & 4 deletions browser/installer/package-manifest.in
Original file line number Diff line number Diff line change
Expand Up @@ -653,10 +653,6 @@
; gre location for now.
@RESPATH@/defaults/pref/channel-prefs.js

; Remote control protocol prefs
; defined in ../../testing/marionette/prefs/marionette.js
@RESPATH@/defaults/prefs/marionette.js

; Services (gre) prefs
@RESPATH@/defaults/pref/services-sync.js

Expand Down
174 changes: 0 additions & 174 deletions testing/marionette/README

This file was deleted.

74 changes: 39 additions & 35 deletions testing/marionette/components/marionette.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,15 @@ const PREF_FORCE_LOCAL_FALLBACK = "marionette.force-local";

const DEFAULT_PORT = 2828;
const DEFAULT_LOG_LEVEL = "info";
const LOG_LEVELS = new class extends Map {
constructor () {
super([
["fatal", Log.Level.Fatal],
["error", Log.Level.Error],
["warn", Log.Level.Warn],
["info", Log.Level.Info],
["config", Log.Level.Config],
["debug", Log.Level.Debug],
["trace", Log.Level.Trace],
]);
}

get (level) {
let s = new String(level).toLowerCase();
if (!this.has(s)) {
return DEFAULT_LOG_LEVEL;
}
return super.get(s);
}
};
const LOG_LEVELS = new Map([
["fatal", Log.Level.Fatal],
["error", Log.Level.Error],
["warn", Log.Level.Warn],
["info", Log.Level.Info],
["config", Log.Level.Config],
["debug", Log.Level.Debug],
["trace", Log.Level.Trace],
]);

// Besides starting based on existing prefs in a profile and a command
// line flag, we also support inheriting prefs out of an env var, and to
Expand All @@ -65,32 +53,45 @@ const ServerSocket = CC("@mozilla.org/network/server-socket;1",
"nsIServerSocket",
"initSpecialConnection");

// Get preference value of |preferred|, falling back to |fallback|
// if |preferred| is not user-modified and |fallback| exists.
function getPref (preferred, fallback) {
if (!Preferences.isSet(preferred) && Preferences.has(fallback)) {
return Preferences.get(fallback, Preferences.get(preferred));
}
return Preferences.get(preferred);
}

// Marionette preferences recently changed names. This is an abstraction
// that first looks for the new name, but falls back to using the old name
// if the new does not exist.
//
// This shim can be removed when Firefox 55 ships.
const prefs = {
get port () {
return getPref(PREF_PORT, PREF_PORT_FALLBACK);
let fallback = Preferences.get(PREF_PORT_FALLBACK, DEFAULT_PORT);
return Preferences.get(PREF_PORT, fallback);
},

get logLevel () {
let s = getPref(PREF_LOG_LEVEL, PREF_LOG_LEVEL_FALLBACK);
return LOG_LEVELS.get(s);
let level = DEFAULT_LOG_LEVEL;
let fallback = Preferences.get(PREF_LOG_LEVEL_FALLBACK, level);
let p = Preferences.get(PREF_LOG_LEVEL, fallback);

switch (typeof p) {
// Gecko >= 46
case "string":
let s = p.toLowerCase();
if (LOG_LEVELS.has(s)) {
level = LOG_LEVELS.get(s);
}
break;

// Gecko <= 45
case "boolean":
if (p) {
level = Log.Level.Trace;
}
break;
}

return level;
},

get forceLocal () {
return getPref(PREF_FORCE_LOCAL, PREF_FORCE_LOCAL_FALLBACK);
let fallback = Preferences.get(PREF_FORCE_LOCAL_FALLBACK, true);
return Preferences.get(PREF_FORCE_LOCAL, fallback);
},

readFromEnvironment (key) {
Expand Down Expand Up @@ -287,7 +288,7 @@ MarionetteComponent.prototype.init = function () {
// This allows the following attempt by Marionette to open a socket
// to succeed.
let insaneSacrificialGoat =
new ServerSocket(0, Ci.nsIServerSocket.KeepWhenOffline, 4);
new ServerSocket(666, Ci.nsIServerSocket.KeepWhenOffline, 4);
insaneSacrificialGoat.asyncListen(this);
}

Expand All @@ -297,6 +298,9 @@ MarionetteComponent.prototype.init = function () {
s = new server.TCPListener(prefs.port, prefs.forceLocal);
s.start();
this.logger.info(`Listening on port ${s.port}`);
} catch (e) {
this.logger.error(`Error on starting server: ${e}`);
dump(`${e.toString()}\n${e.stack}\n`);
} finally {
if (s) {
this.server = s;
Expand Down
4 changes: 2 additions & 2 deletions testing/marionette/moz.build
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

DIRS += ["components"]

JAR_MANIFESTS += ["jar.mn"]
JS_PREFERENCE_FILES += ["prefs/marionette.js"]
JS_PREFERENCE_FILES += ["prefs.js"]

JAR_MANIFESTS += ["jar.mn"]
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"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,6 @@
* 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);

Expand Down
2 changes: 0 additions & 2 deletions testing/marionette/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -324,8 +324,6 @@ server.TCPListener = class {
let flags = Ci.nsIServerSocket.KeepWhenOffline;
if (this.forceLocal) {
flags |= Ci.nsIServerSocket.LoopbackOnly;
} else {
logger.warn("Server socket is not limited to loopback connections");
}
this.listener = new ServerSocket(this.port, flags, 1);
this.listener.asyncListen(this);
Expand Down

0 comments on commit d11e3dc

Please sign in to comment.