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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/bindings/NetworkMapping.js

Issue 2506463002: DevTools: remove Bindings.NetworkMapping.addMapping/removeMapping methods (Closed)
Patch Set: rebaseline Created 4 years, 1 month 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 // 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 * @unrestricted 5 * @unrestricted
6 */ 6 */
7 Bindings.NetworkMapping = class { 7 Bindings.NetworkMapping = class {
8 /** 8 /**
9 * @param {!SDK.TargetManager} targetManager
10 * @param {!Workspace.Workspace} workspace 9 * @param {!Workspace.Workspace} workspace
11 * @param {!Bindings.FileSystemWorkspaceBinding} fileSystemWorkspaceBinding
12 * @param {!Workspace.FileSystemMapping} fileSystemMapping
13 */ 10 */
14 constructor(targetManager, workspace, fileSystemWorkspaceBinding, fileSystemMa pping) { 11 constructor(workspace) {
15 this._targetManager = targetManager;
16 this._workspace = workspace; 12 this._workspace = workspace;
17 this._fileSystemWorkspaceBinding = fileSystemWorkspaceBinding;
18 this._fileSystemMapping = fileSystemMapping;
19 InspectorFrontendHost.events.addEventListener( 13 InspectorFrontendHost.events.addEventListener(
20 InspectorFrontendHostAPI.Events.RevealSourceLine, this._revealSourceLine , this); 14 InspectorFrontendHostAPI.Events.RevealSourceLine, this._revealSourceLine , this);
21
22 var fileSystemManager = fileSystemWorkspaceBinding.fileSystemManager();
23 this._eventListeners = [
24 fileSystemManager.addEventListener(
25 Workspace.IsolatedFileSystemManager.Events.FileSystemAdded, this._file SystemAdded, this),
26 fileSystemManager.addEventListener(
27 Workspace.IsolatedFileSystemManager.Events.FileSystemRemoved, this._fi leSystemRemoved, this),
28 ];
29 fileSystemManager.waitForFileSystems().then(this._fileSystemsLoaded.bind(thi s));
30 } 15 }
31 16
32 /** 17 /**
33 * @param {!Array<!Workspace.IsolatedFileSystem>} fileSystems
34 */
35 _fileSystemsLoaded(fileSystems) {
36 for (var fileSystem of fileSystems)
37 this._addMappingsForFilesystem(fileSystem);
38 }
39
40 /**
41 * @param {!Common.Event} event
42 */
43 _fileSystemAdded(event) {
44 var fileSystem = /** @type {!Workspace.IsolatedFileSystem} */ (event.data);
45 this._addMappingsForFilesystem(fileSystem);
46 }
47
48 /**
49 * @param {!Workspace.IsolatedFileSystem} fileSystem
50 */
51 _addMappingsForFilesystem(fileSystem) {
52 this._addingFileSystem = true;
53 this._fileSystemMapping.addFileSystem(fileSystem.path());
54
55 var mappings = fileSystem.projectProperty('mappings');
56 for (var i = 0; Array.isArray(mappings) && i < mappings.length; ++i) {
57 var mapping = mappings[i];
58 if (!mapping || typeof mapping !== 'object')
59 continue;
60 var folder = mapping['folder'];
61 var url = mapping['url'];
62 if (typeof folder !== 'string' || typeof url !== 'string')
63 continue;
64 this._fileSystemMapping.addNonConfigurableFileMapping(fileSystem.path(), u rl, folder);
65 }
66 this._addingFileSystem = false;
67 }
68
69 /**
70 * @param {!Common.Event} event
71 */
72 _fileSystemRemoved(event) {
73 var fileSystem = /** @type {!Workspace.IsolatedFileSystem} */ (event.data);
74 this._fileSystemMapping.removeFileSystem(fileSystem.path());
75 }
76
77 /**
78 * @param {!SDK.Target} target 18 * @param {!SDK.Target} target
79 * @param {?SDK.ResourceTreeFrame} frame 19 * @param {?SDK.ResourceTreeFrame} frame
80 * @param {string} url 20 * @param {string} url
81 * @return {?Workspace.UISourceCode} 21 * @return {?Workspace.UISourceCode}
82 */ 22 */
83 _networkUISourceCodeForURL(target, frame, url) { 23 _networkUISourceCodeForURL(target, frame, url) {
84 return this._workspace.uiSourceCode(Bindings.NetworkProject.projectId(target , frame, false), url); 24 return this._workspace.uiSourceCode(Bindings.NetworkProject.projectId(target , frame, false), url);
85 } 25 }
86 26
87 /** 27 /**
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 67
128 /** 68 /**
129 * @param {string} url 69 * @param {string} url
130 * @return {?Workspace.UISourceCode} 70 * @return {?Workspace.UISourceCode}
131 */ 71 */
132 uiSourceCodeForURLForAnyTarget(url) { 72 uiSourceCodeForURLForAnyTarget(url) {
133 return Workspace.workspace.uiSourceCodeForURL(url); 73 return Workspace.workspace.uiSourceCodeForURL(url);
134 } 74 }
135 75
136 /** 76 /**
137 * @param {!Workspace.UISourceCode} networkUISourceCode
138 * @param {!Workspace.UISourceCode} uiSourceCode
139 */
140 addMapping(networkUISourceCode, uiSourceCode) {
141 var fileSystemPath = Bindings.FileSystemWorkspaceBinding.fileSystemPath(uiSo urceCode.project().id());
142 this._fileSystemMapping.addMappingForResource(networkUISourceCode.url(), fil eSystemPath, uiSourceCode.url());
143 }
144
145 /**
146 * @param {!Workspace.UISourceCode} uiSourceCode
147 */
148 removeMapping(uiSourceCode) {
149 this._fileSystemMapping.removeMappingForURL(uiSourceCode.url());
150 }
151
152 /**
153 * @param {!Common.Event} event 77 * @param {!Common.Event} event
154 */ 78 */
155 _revealSourceLine(event) { 79 _revealSourceLine(event) {
156 var url = /** @type {string} */ (event.data['url']); 80 var url = /** @type {string} */ (event.data['url']);
157 var lineNumber = /** @type {number} */ (event.data['lineNumber']); 81 var lineNumber = /** @type {number} */ (event.data['lineNumber']);
158 var columnNumber = /** @type {number} */ (event.data['columnNumber']); 82 var columnNumber = /** @type {number} */ (event.data['columnNumber']);
159 83
160 var uiSourceCode = this.uiSourceCodeForURLForAnyTarget(url); 84 var uiSourceCode = this.uiSourceCodeForURLForAnyTarget(url);
161 if (uiSourceCode) { 85 if (uiSourceCode) {
162 Common.Revealer.reveal(uiSourceCode.uiLocation(lineNumber, columnNumber)); 86 Common.Revealer.reveal(uiSourceCode.uiLocation(lineNumber, columnNumber));
163 return; 87 return;
164 } 88 }
165 89
166 /** 90 /**
167 * @param {!Common.Event} event 91 * @param {!Common.Event} event
168 * @this {Bindings.NetworkMapping} 92 * @this {Bindings.NetworkMapping}
169 */ 93 */
170 function listener(event) { 94 function listener(event) {
171 var uiSourceCode = /** @type {!Workspace.UISourceCode} */ (event.data); 95 var uiSourceCode = /** @type {!Workspace.UISourceCode} */ (event.data);
172 if (uiSourceCode.url() === url) { 96 if (uiSourceCode.url() === url) {
173 Common.Revealer.reveal(uiSourceCode.uiLocation(lineNumber, columnNumber) ); 97 Common.Revealer.reveal(uiSourceCode.uiLocation(lineNumber, columnNumber) );
174 this._workspace.removeEventListener(Workspace.Workspace.Events.UISourceC odeAdded, listener, this); 98 this._workspace.removeEventListener(Workspace.Workspace.Events.UISourceC odeAdded, listener, this);
175 } 99 }
176 } 100 }
177 101
178 this._workspace.addEventListener(Workspace.Workspace.Events.UISourceCodeAdde d, listener, this); 102 this._workspace.addEventListener(Workspace.Workspace.Events.UISourceCodeAdde d, listener, this);
179 } 103 }
180
181 dispose() {
182 Common.EventTarget.removeEventListeners(this._eventListeners);
183 }
184 }; 104 };
185 105
186 /** 106 /**
187 * @type {!Bindings.NetworkMapping} 107 * @type {!Bindings.NetworkMapping}
188 */ 108 */
189 Bindings.networkMapping; 109 Bindings.networkMapping;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698