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

Side by Side Diff: Source/devtools/front_end/bindings/DebuggerWorkspaceBinding.js

Issue 472353002: DevTools: Get rid of WebInspector.PresentationMessage interface (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Clear event targets map and handle ProjectRemoved Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | Source/devtools/front_end/bindings/PresentationConsoleMessageHelper.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 /** 5 /**
6 * @constructor 6 * @constructor
7 * @implements {WebInspector.TargetManager.Observer} 7 * @implements {WebInspector.TargetManager.Observer}
8 * @param {!WebInspector.TargetManager} targetManager 8 * @param {!WebInspector.TargetManager} targetManager
9 * @param {!WebInspector.Workspace} workspace 9 * @param {!WebInspector.Workspace} workspace
10 * @param {!WebInspector.NetworkWorkspaceBinding} networkWorkspaceBinding 10 * @param {!WebInspector.NetworkWorkspaceBinding} networkWorkspaceBinding
11 */ 11 */
12 WebInspector.DebuggerWorkspaceBinding = function(targetManager, workspace, netwo rkWorkspaceBinding) 12 WebInspector.DebuggerWorkspaceBinding = function(targetManager, workspace, netwo rkWorkspaceBinding)
13 { 13 {
14 this._workspace = workspace; 14 this._workspace = workspace;
15 this._networkWorkspaceBinding = networkWorkspaceBinding; 15 this._networkWorkspaceBinding = networkWorkspaceBinding;
16 16
17 /** @type {!Map.<!WebInspector.Target, !WebInspector.DebuggerWorkspaceBindin g.TargetData>} */ 17 /** @type {!Map.<!WebInspector.Target, !WebInspector.DebuggerWorkspaceBindin g.TargetData>} */
18 this._targetToData = new Map(); 18 this._targetToData = new Map();
19 targetManager.observeTargets(this); 19 targetManager.observeTargets(this);
20 20
21 targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.Debu ggerModel.Events.GlobalObjectCleared, this._globalObjectCleared, this); 21 targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.Debu ggerModel.Events.GlobalObjectCleared, this._globalObjectCleared, this);
22 targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.Debu ggerModel.Events.DebuggerResumed, this._debuggerResumed, this); 22 targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.Debu ggerModel.Events.DebuggerResumed, this._debuggerResumed, this);
23 workspace.addEventListener(WebInspector.Workspace.Events.UISourceCodeRemoved , this._uiSourceCodeRemoved, this); 23 workspace.addEventListener(WebInspector.Workspace.Events.UISourceCodeRemoved , this._uiSourceCodeRemoved, this);
24 workspace.addEventListener(WebInspector.Workspace.Events.ProjectRemoved, thi s._projectRemoved, this);
24 } 25 }
25 26
26 WebInspector.DebuggerWorkspaceBinding.prototype = { 27 WebInspector.DebuggerWorkspaceBinding.prototype = {
27 /** 28 /**
28 * @param {!WebInspector.Target} target 29 * @param {!WebInspector.Target} target
29 */ 30 */
30 targetAdded: function(target) 31 targetAdded: function(target)
31 { 32 {
32 this._targetToData.put(target, new WebInspector.DebuggerWorkspaceBinding .TargetData(target, this)); 33 this._targetToData.put(target, new WebInspector.DebuggerWorkspaceBinding .TargetData(target, this));
33 }, 34 },
(...skipping 11 matching lines...) Expand all
45 */ 46 */
46 _uiSourceCodeRemoved: function(event) 47 _uiSourceCodeRemoved: function(event)
47 { 48 {
48 var uiSourceCode = /** @type {!WebInspector.UISourceCode} */ (event.data ); 49 var uiSourceCode = /** @type {!WebInspector.UISourceCode} */ (event.data );
49 var targetDatas = this._targetToData.values(); 50 var targetDatas = this._targetToData.values();
50 for (var i = 0; i < targetDatas.length; ++i) 51 for (var i = 0; i < targetDatas.length; ++i)
51 targetDatas[i]._uiSourceCodeRemoved(uiSourceCode); 52 targetDatas[i]._uiSourceCodeRemoved(uiSourceCode);
52 }, 53 },
53 54
54 /** 55 /**
56 * @param {!WebInspector.Event} event
57 */
58 _projectRemoved: function(event)
59 {
60 var project = /** @type {!WebInspector.Project} */ (event.data);
61 var targetDatas = this._targetToData.values();
62 var uiSourceCodes = project.uiSourceCodes();
63 for (var i = 0; i < targetDatas.length; ++i) {
64 for (var j = 0; j < uiSourceCodes.length; ++j)
65 targetDatas[i]._uiSourceCodeRemoved(uiSourceCodes[j]);
66 }
67 },
68
69 /**
55 * @param {!WebInspector.Script} script 70 * @param {!WebInspector.Script} script
56 * @param {!WebInspector.DebuggerSourceMapping} sourceMapping 71 * @param {!WebInspector.DebuggerSourceMapping} sourceMapping
57 */ 72 */
58 pushSourceMapping: function(script, sourceMapping) 73 pushSourceMapping: function(script, sourceMapping)
59 { 74 {
60 var info = this._ensureInfoForScript(script); 75 var info = this._ensureInfoForScript(script);
61 info._pushSourceMapping(sourceMapping); 76 info._pushSourceMapping(sourceMapping);
62 }, 77 },
63 78
64 /** 79 /**
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 * @param {number} lineNumber 544 * @param {number} lineNumber
530 * @return {boolean} 545 * @return {boolean}
531 */ 546 */
532 uiLineHasMapping: function(uiSourceCode, lineNumber) { } 547 uiLineHasMapping: function(uiSourceCode, lineNumber) { }
533 } 548 }
534 549
535 /** 550 /**
536 * @type {!WebInspector.DebuggerWorkspaceBinding} 551 * @type {!WebInspector.DebuggerWorkspaceBinding}
537 */ 552 */
538 WebInspector.debuggerWorkspaceBinding; 553 WebInspector.debuggerWorkspaceBinding;
OLDNEW
« no previous file with comments | « no previous file | Source/devtools/front_end/bindings/PresentationConsoleMessageHelper.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698