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

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

Issue 2801943003: [DevTools] Remove SDK.SDKObject (Closed)
Patch Set: Created 3 years, 8 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 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 * @template T 6 * @template T
7 */ 7 */
8 SDK.SourceMapManager = class extends SDK.SDKObject { 8 SDK.SourceMapManager = class extends Common.Object {
9 /** 9 /**
10 * @param {!SDK.Target} target 10 * @param {!SDK.Target} target
11 */ 11 */
12 constructor(target) { 12 constructor(target) {
13 super(target); 13 super();
14 14
15 this._target = target;
15 this._isEnabled = true; 16 this._isEnabled = true;
16 17
17 /** @type {!Map<!T, string>} */ 18 /** @type {!Map<!T, string>} */
18 this._relativeSourceURL = new Map(); 19 this._relativeSourceURL = new Map();
19 /** @type {!Map<!T, string>} */ 20 /** @type {!Map<!T, string>} */
20 this._relativeSourceMapURL = new Map(); 21 this._relativeSourceMapURL = new Map();
21 /** @type {!Map<!T, string>} */ 22 /** @type {!Map<!T, string>} */
22 this._resolvedSourceMapURL = new Map(); 23 this._resolvedSourceMapURL = new Map();
23 24
24 /** @type {!Map<string, !SDK.SourceMap>} */ 25 /** @type {!Map<string, !SDK.SourceMap>} */
(...skipping 19 matching lines...) Expand all
44 var relativeSourceMapURL = this._relativeSourceMapURL.get(client); 45 var relativeSourceMapURL = this._relativeSourceMapURL.get(client);
45 this.detachSourceMap(client); 46 this.detachSourceMap(client);
46 this.attachSourceMap(client, relativeSourceURL, relativeSourceMapURL); 47 this.attachSourceMap(client, relativeSourceURL, relativeSourceMapURL);
47 } 48 }
48 } 49 }
49 50
50 /** 51 /**
51 * @param {!Common.Event} event 52 * @param {!Common.Event} event
52 */ 53 */
53 _inspectedURLChanged(event) { 54 _inspectedURLChanged(event) {
54 if (event.data !== this.target()) 55 if (event.data !== this._target)
55 return; 56 return;
56 57
57 var clients = Array.from(this._resolvedSourceMapURL.keys()); 58 var clients = Array.from(this._resolvedSourceMapURL.keys());
58 for (var client of clients) { 59 for (var client of clients) {
59 var relativeSourceURL = this._relativeSourceURL.get(client); 60 var relativeSourceURL = this._relativeSourceURL.get(client);
60 var relativeSourceMapURL = this._relativeSourceMapURL.get(client); 61 var relativeSourceMapURL = this._relativeSourceMapURL.get(client);
61 var resolvedSourceMapURL = this._resolvedSourceMapURL.get(client); 62 var resolvedSourceMapURL = this._resolvedSourceMapURL.get(client);
62 var sourceMapURL = this._resolveRelativeURLs(relativeSourceURL, relativeSo urceMapURL).sourceMapURL; 63 var sourceMapURL = this._resolveRelativeURLs(relativeSourceURL, relativeSo urceMapURL).sourceMapURL;
63 if (sourceMapURL !== resolvedSourceMapURL) { 64 if (sourceMapURL !== resolvedSourceMapURL) {
64 this.detachSourceMap(client); 65 this.detachSourceMap(client);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 } 99 }
99 100
100 /** 101 /**
101 * @param {string} sourceURL 102 * @param {string} sourceURL
102 * @param {string} sourceMapURL 103 * @param {string} sourceMapURL
103 * @return {!{sourceURL: ?string, sourceMapURL: ?string}} 104 * @return {!{sourceURL: ?string, sourceMapURL: ?string}}
104 */ 105 */
105 _resolveRelativeURLs(sourceURL, sourceMapURL) { 106 _resolveRelativeURLs(sourceURL, sourceMapURL) {
106 // |sourceURL| can be a random string, but is generally an absolute path. 107 // |sourceURL| can be a random string, but is generally an absolute path.
107 // Complete it to inspected page url for relative links. 108 // Complete it to inspected page url for relative links.
108 var resolvedSourceURL = Common.ParsedURL.completeURL(this.target().inspected URL(), sourceURL); 109 var resolvedSourceURL = Common.ParsedURL.completeURL(this._target.inspectedU RL(), sourceURL);
109 var resolvedSourceMapURL = resolvedSourceURL ? Common.ParsedURL.completeURL( resolvedSourceURL, sourceMapURL) : null; 110 var resolvedSourceMapURL = resolvedSourceURL ? Common.ParsedURL.completeURL( resolvedSourceURL, sourceMapURL) : null;
110 return {sourceURL: resolvedSourceURL, sourceMapURL: resolvedSourceMapURL}; 111 return {sourceURL: resolvedSourceURL, sourceMapURL: resolvedSourceMapURL};
111 } 112 }
112 113
113 /** 114 /**
114 * @param {!T} client 115 * @param {!T} client
115 * @param {string} sourceURL 116 * @param {string} sourceURL
116 * @param {?string} sourceMapURL 117 * @param {?string} sourceMapURL
117 */ 118 */
118 attachSourceMap(client, sourceURL, sourceMapURL) { 119 attachSourceMap(client, sourceURL, sourceMapURL) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 * @return {!Promise<?SDK.SourceMap>} 151 * @return {!Promise<?SDK.SourceMap>}
151 * @this {SDK.SourceMapManager} 152 * @this {SDK.SourceMapManager}
152 */ 153 */
153 function onTextSourceMapLoaded(sourceMapURL, sourceMap) { 154 function onTextSourceMapLoaded(sourceMapURL, sourceMap) {
154 if (!sourceMap) 155 if (!sourceMap)
155 return Promise.resolve(/** @type {?SDK.SourceMap} */ (null)); 156 return Promise.resolve(/** @type {?SDK.SourceMap} */ (null));
156 var factoryExtension = this._factoryForSourceMap(sourceMap); 157 var factoryExtension = this._factoryForSourceMap(sourceMap);
157 if (!factoryExtension) 158 if (!factoryExtension)
158 return Promise.resolve(/** @type {?SDK.SourceMap} */ (sourceMap)); 159 return Promise.resolve(/** @type {?SDK.SourceMap} */ (sourceMap));
159 return factoryExtension.instance() 160 return factoryExtension.instance()
160 .then(factory => factory.editableSourceMap(this.target(), sourceMap)) 161 .then(factory => factory.editableSourceMap(this._target, sourceMap))
161 .then(map => map || sourceMap) 162 .then(map => map || sourceMap)
162 .catchException(/** @type {?SDK.SourceMap} */ (null)); 163 .catchException(/** @type {?SDK.SourceMap} */ (null));
163 } 164 }
164 165
165 /** 166 /**
166 * @param {string} sourceMapURL 167 * @param {string} sourceMapURL
167 * @param {?SDK.SourceMap} sourceMap 168 * @param {?SDK.SourceMap} sourceMap
168 * @this {SDK.SourceMapManager} 169 * @this {SDK.SourceMapManager}
169 */ 170 */
170 function onSourceMap(sourceMapURL, sourceMap) { 171 function onSourceMap(sourceMapURL, sourceMap) {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 } 246 }
246 }; 247 };
247 248
248 SDK.SourceMapManager.Events = { 249 SDK.SourceMapManager.Events = {
249 SourceMapWillAttach: Symbol('SourceMapWillAttach'), 250 SourceMapWillAttach: Symbol('SourceMapWillAttach'),
250 SourceMapFailedToAttach: Symbol('SourceMapFailedToAttach'), 251 SourceMapFailedToAttach: Symbol('SourceMapFailedToAttach'),
251 SourceMapAttached: Symbol('SourceMapAttached'), 252 SourceMapAttached: Symbol('SourceMapAttached'),
252 SourceMapDetached: Symbol('SourceMapDetached'), 253 SourceMapDetached: Symbol('SourceMapDetached'),
253 SourceMapChanged: Symbol('SourceMapChanged') 254 SourceMapChanged: Symbol('SourceMapChanged')
254 }; 255 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698