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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sdk/WorkerManager.js

Issue 1692813002: Revert of [DevTools] Remove isRunRequired, replace autoConnectToWorkers with setWaitForDebuggerOnStart. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 { 79 {
80 for (var connection of this._connections.values()) 80 for (var connection of this._connections.values())
81 connection._close(); 81 connection._close();
82 this._connections.clear(); 82 this._connections.clear();
83 this._targetsByWorkerId.clear(); 83 this._targetsByWorkerId.clear();
84 }, 84 },
85 85
86 _onSuspendStateChanged: function() 86 _onSuspendStateChanged: function()
87 { 87 {
88 var suspended = WebInspector.targetManager.allTargetsSuspended(); 88 var suspended = WebInspector.targetManager.allTargetsSuspended();
89 this.target().workerAgent().setWaitForDebuggerOnStart(!suspended); 89 this.target().workerAgent().setAutoconnectToWorkers(!suspended);
90 }, 90 },
91 91
92 /** 92 /**
93 * @param {string} workerId 93 * @param {string} workerId
94 * @param {string} url 94 * @param {string} url
95 * @param {boolean} waitingForDebugger 95 * @param {boolean} inspectorConnected
96 */ 96 */
97 _workerCreated: function(workerId, url, waitingForDebugger) 97 _workerCreated: function(workerId, url, inspectorConnected)
98 { 98 {
99 var connection = new WebInspector.WorkerConnection(this, workerId); 99 var connection = new WebInspector.WorkerConnection(this, workerId, inspe ctorConnected, onConnectionReady.bind(this));
100 this._connections.set(workerId, connection); 100 this._connections.set(workerId, connection);
101 101
102 var parsedURL = url.asParsedURL(); 102 /**
103 var workerName = parsedURL ? parsedURL.lastPathComponentWithFragment() : "#" + (++this._lastAnonymousTargetId); 103 * @param {!InspectorBackendClass.Connection} connection
104 var target = WebInspector.targetManager.createTarget(workerName, WebInsp ector.Target.Type.DedicatedWorker, connection, this.target()); 104 * @this {WebInspector.WorkerManager}
105 this._targetsByWorkerId.set(workerId, target); 105 */
106 function onConnectionReady(connection)
107 {
108 var parsedURL = url.asParsedURL();
109 var workerName = parsedURL ? parsedURL.lastPathComponentWithFragment () : "#" + (++this._lastAnonymousTargetId);
110 var target = WebInspector.targetManager.createTarget(workerName, Web Inspector.Target.Type.DedicatedWorker, connection, this.target());
111 this._targetsByWorkerId.set(workerId, target);
106 112
107 // Only pause new worker if debugging SW - we are going through the 113 if (inspectorConnected)
108 // pause on start checkbox. 114 target.runtimeAgent().isRunRequired(pauseInDebuggerAndRunIfRequi red.bind(null, target));
109 var mainIsServiceWorker = WebInspector.targetManager.mainTarget().isServ iceWorker(); 115 }
110 if (mainIsServiceWorker && waitingForDebugger) 116
111 target.debuggerAgent().pause(); 117 /**
112 target.runtimeAgent().run(); 118 * @param {!WebInspector.Target} target
119 * @param {?Protocol.Error} error
120 * @param {boolean} required
121 */
122 function pauseInDebuggerAndRunIfRequired(target, error, required)
123 {
124 // Only pause new worker if debugging SW - we are going through the
125 // pause on start checkbox.
126 var mainIsServiceWorker = WebInspector.targetManager.mainTarget().is ServiceWorker();
127 if (mainIsServiceWorker && required)
128 target.debuggerAgent().pause();
129 target.runtimeAgent().run();
130 }
113 }, 131 },
114 132
115 /** 133 /**
116 * @param {string} workerId 134 * @param {string} workerId
117 */ 135 */
118 _workerTerminated: function(workerId) 136 _workerTerminated: function(workerId)
119 { 137 {
120 var connection = this._connections.get(workerId); 138 var connection = this._connections.get(workerId);
121 if (connection) 139 if (connection)
122 connection._close(); 140 connection._close();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 WebInspector.WorkerDispatcher = function(workerManager) 180 WebInspector.WorkerDispatcher = function(workerManager)
163 { 181 {
164 this._workerManager = workerManager; 182 this._workerManager = workerManager;
165 } 183 }
166 184
167 WebInspector.WorkerDispatcher.prototype = { 185 WebInspector.WorkerDispatcher.prototype = {
168 /** 186 /**
169 * @override 187 * @override
170 * @param {string} workerId 188 * @param {string} workerId
171 * @param {string} url 189 * @param {string} url
172 * @param {boolean} waitingForDebugger 190 * @param {boolean} inspectorConnected
173 */ 191 */
174 workerCreated: function(workerId, url, waitingForDebugger) 192 workerCreated: function(workerId, url, inspectorConnected)
175 { 193 {
176 this._workerManager._workerCreated(workerId, url, waitingForDebugger); 194 this._workerManager._workerCreated(workerId, url, inspectorConnected);
177 }, 195 },
178 196
179 /** 197 /**
180 * @override 198 * @override
181 * @param {string} workerId 199 * @param {string} workerId
182 */ 200 */
183 workerTerminated: function(workerId) 201 workerTerminated: function(workerId)
184 { 202 {
185 this._workerManager._workerTerminated(workerId); 203 this._workerManager._workerTerminated(workerId);
186 }, 204 },
187 205
188 /** 206 /**
189 * @override 207 * @override
190 * @param {string} workerId 208 * @param {string} workerId
191 * @param {string} message 209 * @param {string} message
192 */ 210 */
193 dispatchMessageFromWorker: function(workerId, message) 211 dispatchMessageFromWorker: function(workerId, message)
194 { 212 {
195 this._workerManager._dispatchMessageFromWorker(workerId, message); 213 this._workerManager._dispatchMessageFromWorker(workerId, message);
196 } 214 }
197 } 215 }
198 216
199 /** 217 /**
200 * @constructor 218 * @constructor
201 * @extends {InspectorBackendClass.Connection} 219 * @extends {InspectorBackendClass.Connection}
202 * @param {!WebInspector.WorkerManager} workerManager 220 * @param {!WebInspector.WorkerManager} workerManager
203 * @param {string} workerId 221 * @param {string} workerId
222 * @param {boolean} inspectorConnected
223 * @param {function(!InspectorBackendClass.Connection)} onConnectionReady
204 */ 224 */
205 WebInspector.WorkerConnection = function(workerManager, workerId) 225 WebInspector.WorkerConnection = function(workerManager, workerId, inspectorConne cted, onConnectionReady)
206 { 226 {
207 InspectorBackendClass.Connection.call(this); 227 InspectorBackendClass.Connection.call(this);
208 //FIXME: remove resourceTreeModel and others from worker targets 228 //FIXME: remove resourceTreeModel and others from worker targets
209 this.suppressErrorsForDomains(["Worker", "Page", "CSS", "DOM", "DOMStorage", "Database", "Network", "IndexedDB"]); 229 this.suppressErrorsForDomains(["Worker", "Page", "CSS", "DOM", "DOMStorage", "Database", "Network", "IndexedDB"]);
210 this._agent = workerManager.target().workerAgent(); 230 this._agent = workerManager.target().workerAgent();
211 this._workerId = workerId; 231 this._workerId = workerId;
232
233
234 if (!inspectorConnected)
235 this._agent.connectToWorker(workerId, onConnectionReady.bind(null, this) );
236 else
237 onConnectionReady.call(null, this);
212 } 238 }
213 239
214 WebInspector.WorkerConnection.prototype = { 240 WebInspector.WorkerConnection.prototype = {
215 /** 241 /**
216 * @override 242 * @override
217 * @param {!Object} messageObject 243 * @param {!Object} messageObject
218 */ 244 */
219 sendMessage: function(messageObject) 245 sendMessage: function(messageObject)
220 { 246 {
221 this._agent.sendMessageToWorker(this._workerId, JSON.stringify(messageOb ject)); 247 this._agent.sendMessageToWorker(this._workerId, JSON.stringify(messageOb ject));
222 }, 248 },
223 249
224 _close: function() 250 _close: function()
225 { 251 {
226 this.connectionClosed("worker_terminated"); 252 this.connectionClosed("worker_terminated");
227 }, 253 },
228 254
229 __proto__: InspectorBackendClass.Connection.prototype 255 __proto__: InspectorBackendClass.Connection.prototype
230 } 256 }
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/workers/WorkerMessagingProxy.cpp ('k') | third_party/WebKit/Source/devtools/protocol.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698