Bug 1376128 - Use selective imports from error module; r=automatedtester

Instead of importing everything from the testing/marionette/error.js
module into the global scope, we need to be selective about what symbols
we want.

MozReview-Commit-ID: HZDAS0bs0GD

--HG--
extra : rebase_source : 14a300bb2cedc0716168d50846755a6faed83012
This commit is contained in:
Andreas Tolfsen 2017-06-28 11:01:49 -07:00
Родитель 065a59f64f
Коммит 54c2f296a7
18 изменённых файлов: 99 добавлений и 16 удалений

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

@ -12,7 +12,8 @@ Cu.import("resource://gre/modules/Log.jsm");
const logger = Log.repository.getLogger("Marionette");
Cu.import("chrome://marionette/content/error.js");
const {ElementNotAccessibleError} =
Cu.import("chrome://marionette/content/error.js", {});
XPCOMUtils.defineLazyModuleGetter(
this, "setInterval", "resource://gre/modules/Timer.jsm");

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

@ -10,7 +10,12 @@ Cu.import("resource://gre/modules/Task.jsm");
Cu.import("chrome://marionette/content/assert.js");
Cu.import("chrome://marionette/content/element.js");
Cu.import("chrome://marionette/content/error.js");
const {
error,
InvalidArgumentError,
MoveTargetOutOfBoundsError,
UnsupportedOperationError,
} = Cu.import("chrome://marionette/content/error.js", {});
Cu.import("chrome://marionette/content/event.js");
Cu.import("chrome://marionette/content/interaction.js");

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

@ -9,7 +9,7 @@ const {interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/AddonManager.jsm");
Cu.import("resource://gre/modules/FileUtils.jsm");
Cu.import("chrome://marionette/content/error.js");
const {UnknownError} = Cu.import("chrome://marionette/content/error.js", {});
this.EXPORTED_SYMBOLS = ["addon"];

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

@ -10,7 +10,14 @@ Cu.import("resource://gre/modules/AppConstants.jsm");
Cu.import("resource://gre/modules/Preferences.jsm");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("chrome://marionette/content/error.js");
const {
error,
InvalidArgumentError,
InvalidSessionIDError,
NoSuchWindowError,
UnexpectedAlertOpenError,
UnsupportedOperationError,
} = Cu.import("chrome://marionette/content/error.js", {});
this.EXPORTED_SYMBOLS = ["assert"];

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

@ -7,7 +7,10 @@
const {utils: Cu} = Components;
Cu.import("chrome://marionette/content/element.js");
Cu.import("chrome://marionette/content/error.js");
const {
NoSuchWindowError,
UnsupportedOperationError,
} = Cu.import("chrome://marionette/content/error.js", {});
Cu.import("chrome://marionette/content/frame.js");
this.EXPORTED_SYMBOLS = ["browser"];

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

@ -9,7 +9,10 @@ const {interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("chrome://marionette/content/assert.js");
Cu.import("chrome://marionette/content/error.js");
const {
error,
InvalidCookieDomainError,
} = Cu.import("chrome://marionette/content/error.js", {});
this.EXPORTED_SYMBOLS = ["cookie"];

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

@ -23,7 +23,21 @@ Cu.import("chrome://marionette/content/capture.js");
Cu.import("chrome://marionette/content/cert.js");
Cu.import("chrome://marionette/content/cookie.js");
Cu.import("chrome://marionette/content/element.js");
Cu.import("chrome://marionette/content/error.js");
const {
ElementNotInteractableError,
error,
InsecureCertificateError,
InvalidArgumentError,
InvalidCookieDomainError,
InvalidSelectorError,
NoAlertOpenError,
NoSuchFrameError,
NoSuchWindowError,
SessionNotCreatedError,
UnknownError,
UnsupportedOperationError,
WebDriverError,
} = Cu.import("chrome://marionette/content/error.js", {});
Cu.import("chrome://marionette/content/evaluate.js");
Cu.import("chrome://marionette/content/event.js");
Cu.import("chrome://marionette/content/interaction.js");

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

@ -10,7 +10,13 @@ Cu.import("resource://gre/modules/Log.jsm");
Cu.import("chrome://marionette/content/assert.js");
Cu.import("chrome://marionette/content/atom.js");
Cu.import("chrome://marionette/content/error.js");
const {
error,
InvalidSelectorError,
JavaScriptError,
NoSuchElementError,
StaleElementReferenceError,
} = Cu.import("chrome://marionette/content/error.js", {});
Cu.import("chrome://marionette/content/wait.js");
const logger = Log.repository.getLogger("Marionette");

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

@ -536,3 +536,11 @@ const STATUSES = new Map([
["unsupported operation", UnsupportedOperationError],
["webdriver error", WebDriverError],
]);
// Errors must be expored on the local this scope so that the
// EXPORTED_SYMBOLS and the Cu.import("foo", {}) machinery sees them.
// We could assign each error definition directly to |this|, but
// because they are Error prototypes this would mess up their names.
for (let cls of STATUSES.values()) {
this[cls.name] = cls;
}

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

@ -12,7 +12,12 @@ Cu.import("resource://gre/modules/Timer.jsm");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("chrome://marionette/content/element.js");
Cu.import("chrome://marionette/content/error.js");
const {
error,
JavaScriptError,
ScriptTimeoutError,
WebDriverError,
} = Cu.import("chrome://marionette/content/error.js", {});
const logger = Log.repository.getLogger("Marionette");

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

@ -12,7 +12,8 @@ Cu.import("resource://gre/modules/Log.jsm");
const logger = Log.repository.getLogger("Marionette");
Cu.import("chrome://marionette/content/element.js");
Cu.import("chrome://marionette/content/error.js");
const {ElementNotInteractableError} =
Cu.import("chrome://marionette/content/error.js", {});
this.EXPORTED_SYMBOLS = ["event"];

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

@ -8,7 +8,14 @@ const {utils: Cu} = Components;
Cu.import("chrome://marionette/content/accessibility.js");
Cu.import("chrome://marionette/content/atom.js");
Cu.import("chrome://marionette/content/error.js");
const {
error,
InvalidArgument,
ElementNotInteractableError,
ElementClickInterceptedError,
InvalidElementStateError,
InvalidArgumentError,
} = Cu.import("chrome://marionette/content/error.js", {});
Cu.import("chrome://marionette/content/element.js");
Cu.import("chrome://marionette/content/event.js");

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

@ -22,7 +22,8 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyServiceGetter(
this, "domParser", "@mozilla.org/xmlextras/domparser;1", "nsIDOMParser");
Cu.import("chrome://marionette/content/error.js");
const {NoSuchElementError} =
Cu.import("chrome://marionette/content/error.js", {});
this.EXPORTED_SYMBOLS = ["l10n"];

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

@ -23,7 +23,18 @@ Cu.import("chrome://marionette/content/action.js");
Cu.import("chrome://marionette/content/atom.js");
Cu.import("chrome://marionette/content/capture.js");
Cu.import("chrome://marionette/content/element.js");
Cu.import("chrome://marionette/content/error.js");
const {
ElementNotInteractableError,
error,
InsecureCertificateError,
InvalidArgumentError,
InvalidElementStateError,
InvalidSelectorError,
NoSuchElementError,
NoSuchFrameError,
TimeoutError,
UnknownError,
} = Cu.import("chrome://marionette/content/error.js", {});
Cu.import("chrome://marionette/content/evaluate.js");
Cu.import("chrome://marionette/content/event.js");
Cu.import("chrome://marionette/content/interaction.js");

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

@ -9,7 +9,10 @@ const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Log.jsm");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("chrome://marionette/content/error.js");
const {
error,
WebDriverError,
} = Cu.import("chrome://marionette/content/error.js", {});
Cu.import("chrome://marionette/content/modal.js");
this.EXPORTED_SYMBOLS = ["proxy"];

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

@ -12,6 +12,8 @@ Cu.import("resource://gre/modules/Task.jsm");
Cu.import("chrome://marionette/content/assert.js");
Cu.import("chrome://marionette/content/capture.js");
const {InvalidArgumentError} =
Cu.import("chrome//marionette/content/error.js", {});
this.EXPORTED_SYMBOLS = ["reftest"];

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

@ -21,7 +21,10 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("chrome://marionette/content/assert.js");
Cu.import("chrome://marionette/content/driver.js");
Cu.import("chrome://marionette/content/error.js");
const {
error,
UnknownCommandError,
} = Cu.import("chrome://marionette/content/error.js", {});
Cu.import("chrome://marionette/content/message.js");
Cu.import("chrome://marionette/content/transport.js");

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

@ -11,7 +11,10 @@ Cu.import("resource://gre/modules/Preferences.jsm");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("chrome://marionette/content/assert.js");
Cu.import("chrome://marionette/content/error.js");
const {
error,
InvalidArgumentError,
} = Cu.import("chrome://marionette/content/error.js", {});
this.EXPORTED_SYMBOLS = ["session"];