Skip to content
Snippets Groups Projects
Commit e897d9ed authored by Julian Descottes's avatar Julian Descottes
Browse files

Bug 1619221 - Remove service-workers-debug-helper and check isParentIntercept...

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
parent 17460eb5
No related branches found
No related tags found
No related merge requests found
......@@ -8,10 +8,14 @@ const { Ci, Cc } = require("chrome");
const Services = require("Services");
const protocol = require("devtools/shared/protocol");
const { LongStringActor } = require("devtools/server/actors/string");
const {
canDebugServiceWorkers,
isParentInterceptEnabled,
} = require("devtools/shared/service-workers-debug-helper");
const { XPCOMUtils } = require("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyServiceGetter(
this,
"swm",
"@mozilla.org/serviceworkers/manager;1",
"nsIServiceWorkerManager"
);
const { DevToolsServer } = require("devtools/server/devtools-server");
const { getSystemInfo } = require("devtools/shared/system");
......@@ -40,8 +44,10 @@ exports.DeviceActor = protocol.ActorClassWithSpec(deviceSpec, {
getDescription: function() {
return Object.assign({}, getSystemInfo(), {
canDebugServiceWorkers: canDebugServiceWorkers(),
isParentInterceptEnabled: isParentInterceptEnabled(),
// ServiceWorker debugging is only supported when parent-intercept is
// 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',
'plural-form.js',
'protocol.js',
'service-workers-debug-helper.js',
'system.js',
'task.js',
'ThreadSafeDevToolsUtils.js',
......
/* 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,
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment