зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1667455 - Part 8: Stop importing Services.jsm from chrome-priv JS code, other cases. r=kmag,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D150897
This commit is contained in:
Родитель
c2a1238034
Коммит
7539547097
|
@ -415,7 +415,7 @@ add_task(async function test_file() {
|
|||
async function resourceUriTest(secureCheck) {
|
||||
let oldTab = await loadNewTab("about:robots");
|
||||
await SpecialPowers.pushPrefEnv({ set: [[INSECURE_ICON_PREF, secureCheck]] });
|
||||
let dataURI = "resource://gre/modules/Services.jsm";
|
||||
let dataURI = "resource://gre/modules/XPCOMUtils.jsm";
|
||||
|
||||
let newTab = await loadNewTab(dataURI);
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* globals ProcessHangMonitor */
|
||||
|
||||
const { WebExtensionPolicy } = Cu.getGlobalForObject(
|
||||
ChromeUtils.import("resource://gre/modules/Services.jsm")
|
||||
ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm")
|
||||
);
|
||||
|
||||
const { UpdateUtils } = ChromeUtils.import(
|
||||
|
|
|
@ -10,7 +10,7 @@ const { dumpn } = require("devtools/shared/DevToolsUtils");
|
|||
|
||||
function createTCPSocket(location, port, options) {
|
||||
const { TCPSocket } = Cu.getGlobalForObject(
|
||||
ChromeUtils.import("resource://gre/modules/Services.jsm")
|
||||
ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm")
|
||||
);
|
||||
|
||||
return new TCPSocket(location, port, options);
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
* notification with the headers, so there are two ways to produce
|
||||
*/
|
||||
|
||||
ChromeUtils.import("resource://gre/modules/Services.jsm");
|
||||
const { Downloads } = ChromeUtils.import(
|
||||
"resource://gre/modules/Downloads.jsm"
|
||||
);
|
||||
|
|
|
@ -6,7 +6,7 @@ const ConsoleAPIStorage = Cc["@mozilla.org/consoleAPI-storage;1"].getService(
|
|||
);
|
||||
|
||||
const { WebExtensionPolicy } = Cu.getGlobalForObject(
|
||||
ChromeUtils.import("resource://gre/modules/Services.jsm")
|
||||
ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm")
|
||||
);
|
||||
|
||||
const FAKE_ADDON_ID = "test-webext-addon@mozilla.org";
|
||||
|
|
|
@ -25,7 +25,7 @@ function assertIsValue(obj, prop, value) {
|
|||
|
||||
add_task(async function() {
|
||||
let temp = {};
|
||||
ChromeUtils.import("resource://gre/modules/Services.jsm", temp);
|
||||
ChromeUtils.import("resource://gre/modules/AppConstants.jsm", temp);
|
||||
|
||||
let obj = {};
|
||||
let child = Object.create(obj);
|
||||
|
@ -34,45 +34,45 @@ add_task(async function() {
|
|||
|
||||
// Test valid import
|
||||
|
||||
ChromeUtils.defineModuleGetter(obj, "Services",
|
||||
"resource://gre/modules/Services.jsm");
|
||||
ChromeUtils.defineModuleGetter(obj, "AppConstants",
|
||||
"resource://gre/modules/AppConstants.jsm");
|
||||
|
||||
assertIsGetter(obj, "Services");
|
||||
equal(child.Services, temp.Services, "Getter works on descendent object");
|
||||
assertIsValue(child, "Services", temp.Services);
|
||||
assertIsGetter(obj, "Services");
|
||||
assertIsGetter(obj, "AppConstants");
|
||||
equal(child.AppConstants, temp.AppConstants, "Getter works on descendent object");
|
||||
assertIsValue(child, "AppConstants", temp.AppConstants);
|
||||
assertIsGetter(obj, "AppConstants");
|
||||
|
||||
Assert.throws(() => sealed.Services, /Object is not extensible/,
|
||||
Assert.throws(() => sealed.AppConstants, /Object is not extensible/,
|
||||
"Cannot access lazy getter from sealed object");
|
||||
Assert.throws(() => sealed.Services = null, /Object is not extensible/,
|
||||
Assert.throws(() => sealed.AppConstants = null, /Object is not extensible/,
|
||||
"Cannot access lazy setter from sealed object");
|
||||
assertIsGetter(obj, "Services");
|
||||
assertIsGetter(obj, "AppConstants");
|
||||
|
||||
equal(obj.Services, temp.Services, "Getter works on object");
|
||||
assertIsValue(obj, "Services", temp.Services);
|
||||
equal(obj.AppConstants, temp.AppConstants, "Getter works on object");
|
||||
assertIsValue(obj, "AppConstants", temp.AppConstants);
|
||||
|
||||
|
||||
// Test overwriting via setter
|
||||
|
||||
child = Object.create(obj);
|
||||
|
||||
ChromeUtils.defineModuleGetter(obj, "Services",
|
||||
"resource://gre/modules/Services.jsm");
|
||||
ChromeUtils.defineModuleGetter(obj, "AppConstants",
|
||||
"resource://gre/modules/AppConstants.jsm");
|
||||
|
||||
assertIsGetter(obj, "Services");
|
||||
assertIsGetter(obj, "AppConstants");
|
||||
|
||||
child.Services = "foo";
|
||||
assertIsValue(child, "Services", "foo");
|
||||
assertIsGetter(obj, "Services");
|
||||
child.AppConstants = "foo";
|
||||
assertIsValue(child, "AppConstants", "foo");
|
||||
assertIsGetter(obj, "AppConstants");
|
||||
|
||||
obj.Services = "foo";
|
||||
assertIsValue(obj, "Services", "foo");
|
||||
obj.AppConstants = "foo";
|
||||
assertIsValue(obj, "AppConstants", "foo");
|
||||
|
||||
|
||||
// Test import missing property
|
||||
|
||||
ChromeUtils.defineModuleGetter(obj, "meh",
|
||||
"resource://gre/modules/Services.jsm");
|
||||
"resource://gre/modules/AppConstants.jsm");
|
||||
assertIsGetter(obj, "meh");
|
||||
equal(obj.meh, undefined, "Missing property returns undefined");
|
||||
assertIsValue(obj, "meh", undefined);
|
||||
|
|
|
@ -81,9 +81,11 @@ add_task(async function() {
|
|||
"Browser should be in the right process"
|
||||
);
|
||||
|
||||
let local = resolveURI("resource://gre/modules/Services.jsm");
|
||||
let remote = await remoteResolveURI("resource://gre/modules/Services.jsm");
|
||||
is(local, remote, "Services.jsm should resolve in both processes");
|
||||
let local = resolveURI("resource://gre/modules/AppConstants.jsm");
|
||||
let remote = await remoteResolveURI(
|
||||
"resource://gre/modules/AppConstants.jsm"
|
||||
);
|
||||
is(local, remote, "AppConstants.jsm should resolve in both processes");
|
||||
|
||||
gBrowser.removeCurrentTab();
|
||||
});
|
||||
|
|
|
@ -41,9 +41,7 @@ var _XPCSHELL_PROCESS;
|
|||
|
||||
// Register the testing-common resource protocol early, to have access to its
|
||||
// modules.
|
||||
let { Services: _Services } = ChromeUtils.import(
|
||||
"resource://gre/modules/Services.jsm"
|
||||
);
|
||||
let _Services = Services;
|
||||
_register_modules_protocol_handler();
|
||||
|
||||
let { AppConstants: _AppConstants } = ChromeUtils.import(
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
ChromeUtils.import("resource://gre/modules/Services.jsm");
|
||||
|
||||
add_task(async function() {
|
||||
info("Starting test");
|
||||
|
||||
|
|
|
@ -8,9 +8,6 @@ let { PromptUtils } = ChromeUtils.import(
|
|||
"resource://gre/modules/SharedPromptUtils.jsm"
|
||||
);
|
||||
|
||||
// We expect our consumer to provide Services.jsm.
|
||||
/* global Services */
|
||||
|
||||
const AdjustableTitle = {
|
||||
_cssSnippet: `
|
||||
#titleContainer {
|
||||
|
|
Загрузка…
Ссылка в новой задаче