OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 /** | 4 /** |
5 * @unrestricted | 5 * @unrestricted |
6 */ | 6 */ |
7 SDK.SubTargetsManager = class extends SDK.SDKModel { | 7 SDK.SubTargetsManager = class extends SDK.SDKModel { |
8 /** | 8 /** |
9 * @param {!SDK.Target} target | 9 * @param {!SDK.Target} target |
10 */ | 10 */ |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 */ | 123 */ |
124 targetInfo(target) { | 124 targetInfo(target) { |
125 return target[SDK.SubTargetsManager._InfoSymbol] || null; | 125 return target[SDK.SubTargetsManager._InfoSymbol] || null; |
126 } | 126 } |
127 | 127 |
128 /** | 128 /** |
129 * @param {string} type | 129 * @param {string} type |
130 * @return {number} | 130 * @return {number} |
131 */ | 131 */ |
132 _capabilitiesForType(type) { | 132 _capabilitiesForType(type) { |
133 if (type === 'worker') { | 133 if (type === 'worker') |
134 var capabilities = SDK.Target.Capability.JS | SDK.Target.Capability.Log; | 134 return SDK.Target.Capability.JS | SDK.Target.Capability.Log; |
135 var parentTargetInfo = this.targetInfo(this.target()); | |
136 var mainIsServiceWorker = | |
137 !this.target().parentTarget() && this.target().hasTargetCapability() &
& !this.target().hasJSCapability(); | |
138 if ((parentTargetInfo && parentTargetInfo.type === 'service_worker') || ma
inIsServiceWorker) | |
139 capabilities |= SDK.Target.Capability.Network; | |
140 return capabilities; | |
141 } | |
142 if (type === 'service_worker') | 135 if (type === 'service_worker') |
143 return SDK.Target.Capability.Log | SDK.Target.Capability.Network | SDK.Tar
get.Capability.Target; | 136 return SDK.Target.Capability.Log | SDK.Target.Capability.Network | SDK.Tar
get.Capability.Target; |
144 if (type === 'iframe') { | 137 if (type === 'iframe') { |
145 return SDK.Target.Capability.Browser | SDK.Target.Capability.DOM | SDK.Tar
get.Capability.JS | | 138 return SDK.Target.Capability.Browser | SDK.Target.Capability.DOM | SDK.Tar
get.Capability.JS | |
146 SDK.Target.Capability.Log | SDK.Target.Capability.Network | SDK.Target
.Capability.Target; | 139 SDK.Target.Capability.Log | SDK.Target.Capability.Network | SDK.Target
.Capability.Target; |
147 } | 140 } |
148 if (type === 'node') | 141 if (type === 'node') |
149 return SDK.Target.Capability.JS; | 142 return SDK.Target.Capability.JS; |
150 return 0; | 143 return 0; |
151 } | 144 } |
(...skipping 11 matching lines...) Expand all Loading... |
163 targetName = parsedURL ? parsedURL.lastPathComponentWithFragment() : '#' +
(++this._lastAnonymousTargetId); | 156 targetName = parsedURL ? parsedURL.lastPathComponentWithFragment() : '#' +
(++this._lastAnonymousTargetId); |
164 } | 157 } |
165 var target = SDK.targetManager.createTarget( | 158 var target = SDK.targetManager.createTarget( |
166 targetName, this._capabilitiesForType(targetInfo.type), this._createConn
ection.bind(this, targetInfo.id), | 159 targetName, this._capabilitiesForType(targetInfo.type), this._createConn
ection.bind(this, targetInfo.id), |
167 this.target()); | 160 this.target()); |
168 target[SDK.SubTargetsManager._InfoSymbol] = targetInfo; | 161 target[SDK.SubTargetsManager._InfoSymbol] = targetInfo; |
169 this._attachedTargets.set(targetInfo.id, target); | 162 this._attachedTargets.set(targetInfo.id, target); |
170 | 163 |
171 // Only pause new worker if debugging SW - we are going through the pause on
start checkbox. | 164 // Only pause new worker if debugging SW - we are going through the pause on
start checkbox. |
172 var mainIsServiceWorker = | 165 var mainIsServiceWorker = |
173 !this.target().parentTarget() && this.target().hasTargetCapability() &&
!this.target().hasJSCapability(); | 166 !this.target().parentTarget() && this.target().hasTargetCapability() &&
!this.target().hasBrowserCapability(); |
174 if (mainIsServiceWorker && waitingForDebugger) | 167 if (mainIsServiceWorker && waitingForDebugger) |
175 target.debuggerAgent().pause(); | 168 target.debuggerAgent().pause(); |
176 target.runtimeAgent().runIfWaitingForDebugger(); | 169 target.runtimeAgent().runIfWaitingForDebugger(); |
177 } | 170 } |
178 | 171 |
179 /** | 172 /** |
180 * @param {string} targetId | 173 * @param {string} targetId |
181 * @param {!Protocol.InspectorBackend.Connection.Params} params | 174 * @param {!Protocol.InspectorBackend.Connection.Params} params |
182 * @return {!Protocol.InspectorBackend.Connection} | 175 * @return {!Protocol.InspectorBackend.Connection} |
183 */ | 176 */ |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
358 this.type = payload.type; | 351 this.type = payload.type; |
359 this.canActivate = this.type === 'page' || this.type === 'iframe'; | 352 this.canActivate = this.type === 'page' || this.type === 'iframe'; |
360 if (this.type === 'node') | 353 if (this.type === 'node') |
361 this.title = Common.UIString('Node: %s', this.url); | 354 this.title = Common.UIString('Node: %s', this.url); |
362 else if (this.type === 'page' || this.type === 'iframe') | 355 else if (this.type === 'page' || this.type === 'iframe') |
363 this.title = payload.title; | 356 this.title = payload.title; |
364 else | 357 else |
365 this.title = Common.UIString('Worker: %s', this.url); | 358 this.title = Common.UIString('Worker: %s', this.url); |
366 } | 359 } |
367 }; | 360 }; |
OLD | NEW |