Index: third_party/WebKit/Source/devtools/front_end/sdk/SubTargetsManager.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/SubTargetsManager.js b/third_party/WebKit/Source/devtools/front_end/sdk/SubTargetsManager.js |
index d5845ad8eb2bb4fa04e23c6adfde410c8b483efd..f65ec3a617093e58b8c3cc54b0abebd066f5ea1c 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/sdk/SubTargetsManager.js |
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/SubTargetsManager.js |
@@ -130,8 +130,15 @@ SDK.SubTargetsManager = class extends SDK.SDKModel { |
* @return {number} |
*/ |
_capabilitiesForType(type) { |
- if (type === 'worker') |
- return SDK.Target.Capability.JS | SDK.Target.Capability.Log; |
+ if (type === 'worker') { |
+ var capabilities = SDK.Target.Capability.JS | SDK.Target.Capability.Log; |
+ var parentTargetInfo = this.targetInfo(this.target()); |
+ var mainIsServiceWorker = |
+ !this.target().parentTarget() && this.target().hasTargetCapability() && !this.target().hasJSCapability(); |
+ if ((parentTargetInfo && parentTargetInfo.type === 'service_worker') || mainIsServiceWorker) |
+ capabilities |= SDK.Target.Capability.Network; |
+ return capabilities; |
+ } |
if (type === 'service_worker') |
return SDK.Target.Capability.Log | SDK.Target.Capability.Network | SDK.Target.Capability.Target; |
if (type === 'iframe') { |
@@ -163,7 +170,7 @@ SDK.SubTargetsManager = class extends SDK.SDKModel { |
// Only pause new worker if debugging SW - we are going through the pause on start checkbox. |
var mainIsServiceWorker = |
- !this.target().parentTarget() && this.target().hasTargetCapability() && !this.target().hasBrowserCapability(); |
+ !this.target().parentTarget() && this.target().hasTargetCapability() && !this.target().hasJSCapability(); |
if (mainIsServiceWorker && waitingForDebugger) |
target.debuggerAgent().pause(); |
target.runtimeAgent().runIfWaitingForDebugger(); |