зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1619221 - Remove service-workers-debug-helper and check isParentIntercept in device actor r=ladybenko,daisuke
Depends on D81344 If we only care about isParentInterceptEnabled, a dedicated module should no longer be relevant. Differential Revision: https://phabricator.services.mozilla.com/D81346
This commit is contained in:
Родитель
17460eb5c7
Коммит
e897d9edf5
|
@ -8,10 +8,14 @@ const { Ci, Cc } = require("chrome");
|
||||||
const Services = require("Services");
|
const Services = require("Services");
|
||||||
const protocol = require("devtools/shared/protocol");
|
const protocol = require("devtools/shared/protocol");
|
||||||
const { LongStringActor } = require("devtools/server/actors/string");
|
const { LongStringActor } = require("devtools/server/actors/string");
|
||||||
const {
|
|
||||||
canDebugServiceWorkers,
|
const { XPCOMUtils } = require("resource://gre/modules/XPCOMUtils.jsm");
|
||||||
isParentInterceptEnabled,
|
XPCOMUtils.defineLazyServiceGetter(
|
||||||
} = require("devtools/shared/service-workers-debug-helper");
|
this,
|
||||||
|
"swm",
|
||||||
|
"@mozilla.org/serviceworkers/manager;1",
|
||||||
|
"nsIServiceWorkerManager"
|
||||||
|
);
|
||||||
|
|
||||||
const { DevToolsServer } = require("devtools/server/devtools-server");
|
const { DevToolsServer } = require("devtools/server/devtools-server");
|
||||||
const { getSystemInfo } = require("devtools/shared/system");
|
const { getSystemInfo } = require("devtools/shared/system");
|
||||||
|
@ -40,8 +44,10 @@ exports.DeviceActor = protocol.ActorClassWithSpec(deviceSpec, {
|
||||||
|
|
||||||
getDescription: function() {
|
getDescription: function() {
|
||||||
return Object.assign({}, getSystemInfo(), {
|
return Object.assign({}, getSystemInfo(), {
|
||||||
canDebugServiceWorkers: canDebugServiceWorkers(),
|
// ServiceWorker debugging is only supported when parent-intercept is
|
||||||
isParentInterceptEnabled: isParentInterceptEnabled(),
|
// enabled. This cannot change at runtime, so it can be treated as a
|
||||||
|
// constant for the device.
|
||||||
|
canDebugServiceWorkers: swm.isParentInterceptEnabled(),
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,6 @@ DevToolsModules(
|
||||||
'picker-constants.js',
|
'picker-constants.js',
|
||||||
'plural-form.js',
|
'plural-form.js',
|
||||||
'protocol.js',
|
'protocol.js',
|
||||||
'service-workers-debug-helper.js',
|
|
||||||
'system.js',
|
'system.js',
|
||||||
'task.js',
|
'task.js',
|
||||||
'ThreadSafeDevToolsUtils.js',
|
'ThreadSafeDevToolsUtils.js',
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
* 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/. */
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
const Services = require("Services");
|
|
||||||
const { XPCOMUtils } = require("resource://gre/modules/XPCOMUtils.jsm");
|
|
||||||
|
|
||||||
XPCOMUtils.defineLazyServiceGetter(
|
|
||||||
this,
|
|
||||||
"swm",
|
|
||||||
"@mozilla.org/serviceworkers/manager;1",
|
|
||||||
"nsIServiceWorkerManager"
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This helper provides info on whether we can debug service workers or not.
|
|
||||||
* This depends both on the current multiprocess (e10s) configuration and on the
|
|
||||||
* usage of the new service worker implementation
|
|
||||||
* (dom.serviceWorkers.parent_intercept = true).
|
|
||||||
*/
|
|
||||||
|
|
||||||
function canDebugServiceWorkers() {
|
|
||||||
const isE10s = Services.appinfo.browserTabsRemoteAutostart;
|
|
||||||
const processCount = Services.appinfo.maxWebProcessCount;
|
|
||||||
const multiE10s = isE10s && processCount > 1;
|
|
||||||
const isNewSWImplementation = swm.isParentInterceptEnabled();
|
|
||||||
|
|
||||||
// When can we debug Service Workers?
|
|
||||||
// If we're running the new implementation, OR if not in multiprocess mode
|
|
||||||
return isNewSWImplementation || !multiE10s;
|
|
||||||
}
|
|
||||||
|
|
||||||
function isParentInterceptEnabled() {
|
|
||||||
return swm.isParentInterceptEnabled();
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
canDebugServiceWorkers,
|
|
||||||
isParentInterceptEnabled,
|
|
||||||
};
|
|
Загрузка…
Ссылка в новой задаче