Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(464)

Unified Diff: third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js

Issue 2951913002: [DevTools] Support multiple sessions in Target domain (Closed)
Patch Set: simplify Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js b/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js
index 2275b7510298cf99521c8868deb7d08444726a3f..e4b313d5702daa35d17984f9f4ef61266a903abb 100644
--- a/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js
@@ -457,10 +457,8 @@ SDK.ChildTargetManager = class {
InspectorFrontendHostAPI.Events.DevicesDiscoveryConfigChanged, this._devicesDiscoveryConfigChanged, this);
}
- // TODO(dgozman): this is O(n^2) when removing main target.
- var childTargets = this._targetManager._targets.filter(child => child.parentTarget() === this._parentTarget);
- for (var child of childTargets)
- this.detachedFromTarget(child.id());
+ for (var sessionId of Array.from(this._childConnections.keys()))
caseq 2017/06/27 18:29:30 drop Array.from()
+ this.detachedFromTarget(sessionId);
}
/**
@@ -510,10 +508,11 @@ SDK.ChildTargetManager = class {
/**
* @override
+ * @param {string} sessionId
* @param {!Protocol.Target.TargetInfo} targetInfo
* @param {boolean} waitingForDebugger
*/
- attachedToTarget(targetInfo, waitingForDebugger) {
+ attachedToTarget(sessionId, targetInfo, waitingForDebugger) {
var targetName = '';
if (targetInfo.type === 'node') {
targetName = Common.UIString('Node.js: %s', targetInfo.url);
@@ -524,7 +523,7 @@ SDK.ChildTargetManager = class {
}
var target = this._targetManager.createTarget(
targetInfo.targetId, targetName, this._capabilitiesForType(targetInfo.type),
- this._createChildConnection.bind(this, this._targetAgent, targetInfo.targetId), this._parentTarget);
+ this._createChildConnection.bind(this, this._targetAgent, sessionId), this._parentTarget);
// Only pause the new worker if debugging SW - we are going through the pause on start checkbox.
if (!this._parentTarget.parentTarget() && Runtime.queryParam('isSharedWorker') && waitingForDebugger) {
@@ -540,33 +539,33 @@ SDK.ChildTargetManager = class {
/**
* @override
- * @param {string} childTargetId
+ * @param {string} sessionId
*/
- detachedFromTarget(childTargetId) {
- this._childConnections.get(childTargetId)._onDisconnect.call(null, 'target terminated');
- this._childConnections.delete(childTargetId);
+ detachedFromTarget(sessionId) {
+ this._childConnections.get(sessionId)._onDisconnect.call(null, 'target terminated');
+ this._childConnections.delete(sessionId);
}
/**
* @override
- * @param {string} childTargetId
+ * @param {string} sessionId
* @param {string} message
*/
- receivedMessageFromTarget(childTargetId, message) {
- var connection = this._childConnections.get(childTargetId);
+ receivedMessageFromTarget(sessionId, message) {
+ var connection = this._childConnections.get(sessionId);
if (connection)
connection._onMessage.call(null, message);
}
/**
* @param {!Protocol.TargetAgent} agent
- * @param {string} childTargetId
+ * @param {string} sessionId
* @param {!Protocol.InspectorBackend.Connection.Params} params
* @return {!Protocol.InspectorBackend.Connection}
*/
- _createChildConnection(agent, childTargetId, params) {
- var connection = new SDK.ChildConnection(agent, childTargetId, params);
- this._childConnections.set(childTargetId, connection);
+ _createChildConnection(agent, sessionId, params) {
+ var connection = new SDK.ChildConnection(agent, sessionId, params);
+ this._childConnections.set(sessionId, connection);
return connection;
}
};
@@ -577,12 +576,12 @@ SDK.ChildTargetManager = class {
SDK.ChildConnection = class {
/**
* @param {!Protocol.TargetAgent} agent
- * @param {string} targetId
+ * @param {string} sessionId
* @param {!Protocol.InspectorBackend.Connection.Params} params
*/
- constructor(agent, targetId, params) {
+ constructor(agent, sessionId, params) {
this._agent = agent;
- this._targetId = targetId;
+ this._sessionId = sessionId;
this._onMessage = params.onMessage;
this._onDisconnect = params.onDisconnect;
}
@@ -592,7 +591,7 @@ SDK.ChildConnection = class {
* @param {string} message
*/
sendMessage(message) {
- this._agent.sendMessageToTarget(this._targetId, message);
+ this._agent.sendMessageToTarget(this._sessionId, message);
}
/**

Powered by Google App Engine
This is Rietveld 408576698