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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sources/SourceFormatter.js

Issue 2886053002: DevTools: do not use Bindings.NetworkProject.styleHeaderForUISourceCode in SourceFormatter (Closed)
Patch Set: nits Created 3 years, 7 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
« no previous file with comments | « third_party/WebKit/LayoutTests/inspector/sources/formatter-css.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 Sources.SourceFormatData = class { 5 Sources.SourceFormatData = class {
6 /** 6 /**
7 * @param {!Workspace.UISourceCode} originalSourceCode 7 * @param {!Workspace.UISourceCode} originalSourceCode
8 * @param {!Workspace.UISourceCode} formattedSourceCode 8 * @param {!Workspace.UISourceCode} formattedSourceCode
9 * @param {!Sources.FormatterSourceMapping} mapping 9 * @param {!Sources.FormatterSourceMapping} mapping
10 */ 10 */
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 return []; 232 return [];
233 } 233 }
234 }; 234 };
235 235
236 /** 236 /**
237 * @implements {Bindings.CSSWorkspaceBinding.SourceMapping} 237 * @implements {Bindings.CSSWorkspaceBinding.SourceMapping}
238 */ 238 */
239 Sources.SourceFormatter.StyleMapping = class { 239 Sources.SourceFormatter.StyleMapping = class {
240 constructor() { 240 constructor() {
241 Bindings.cssWorkspaceBinding.addSourceMapping(this); 241 Bindings.cssWorkspaceBinding.addSourceMapping(this);
242 this._headersSymbol = Symbol('Sources.SourceFormatter.StyleMapping._headersS ymbol');
242 } 243 }
243 244
244 /** 245 /**
245 * @override 246 * @override
246 * @param {!SDK.CSSLocation} rawLocation 247 * @param {!SDK.CSSLocation} rawLocation
247 * @return {?Workspace.UILocation} 248 * @return {?Workspace.UILocation}
248 */ 249 */
249 rawLocationToUILocation(rawLocation) { 250 rawLocationToUILocation(rawLocation) {
250 var styleHeader = rawLocation.header(); 251 var styleHeader = rawLocation.header();
251 var formatData = styleHeader && Sources.SourceFormatData._for(styleHeader); 252 var formatData = styleHeader && Sources.SourceFormatData._for(styleHeader);
252 if (!formatData) 253 if (!formatData)
253 return null; 254 return null;
254 var formattedLocation = 255 var formattedLocation =
255 formatData.mapping.originalToFormatted(rawLocation.lineNumber, rawLocati on.columnNumber || 0); 256 formatData.mapping.originalToFormatted(rawLocation.lineNumber, rawLocati on.columnNumber || 0);
256 return formatData.formattedSourceCode.uiLocation(formattedLocation[0], forma ttedLocation[1]); 257 return formatData.formattedSourceCode.uiLocation(formattedLocation[0], forma ttedLocation[1]);
257 } 258 }
258 259
259 /** 260 /**
260 * @override 261 * @override
261 * @param {!Workspace.UILocation} uiLocation 262 * @param {!Workspace.UILocation} uiLocation
262 * @return {!Array<!SDK.CSSLocation>} 263 * @return {!Array<!SDK.CSSLocation>}
263 */ 264 */
264 uiLocationToRawLocations(uiLocation) { 265 uiLocationToRawLocations(uiLocation) {
265 var formatData = Sources.SourceFormatData._for(uiLocation.uiSourceCode); 266 var formatData = Sources.SourceFormatData._for(uiLocation.uiSourceCode);
266 if (!formatData) 267 if (!formatData)
267 return []; 268 return [];
268 var originalLocation = formatData.mapping.formattedToOriginal(uiLocation.lin eNumber, uiLocation.columnNumber); 269 var originalLocation = formatData.mapping.formattedToOriginal(uiLocation.lin eNumber, uiLocation.columnNumber);
269 var header = Bindings.NetworkProject.styleHeaderForUISourceCode(formatData.o riginalSourceCode); 270 var headers = formatData.originalSourceCode[this._headersSymbol];
270 if (!header) 271 return headers.map(header => new SDK.CSSLocation(header, originalLocation[0] , originalLocation[1]));
271 return [];
272 return [new SDK.CSSLocation(header, originalLocation[0], originalLocation[1] )];
273 } 272 }
274 273
275 /** 274 /**
276 * @param {!Sources.SourceFormatData} formatData 275 * @param {!Sources.SourceFormatData} formatData
277 * @param {boolean} enable 276 * @param {boolean} enable
278 */ 277 */
279 _setSourceMappingEnabled(formatData, enable) { 278 _setSourceMappingEnabled(formatData, enable) {
280 var original = formatData.originalSourceCode; 279 var original = formatData.originalSourceCode;
281 var styleHeader = Bindings.NetworkProject.styleHeaderForUISourceCode(origina l); 280 var rawLocations = Bindings.cssWorkspaceBinding.uiLocationToRawLocations(ori ginal.uiLocation(0, 0));
282 if (!styleHeader) 281 var headers = rawLocations.map(rawLocation => rawLocation.header()).filter(h eader => !!header);
282 if (!headers.length)
283 return; 283 return;
284 if (enable) 284 if (enable) {
285 styleHeader[Sources.SourceFormatData._formatDataSymbol] = formatData; 285 original[this._headersSymbol] = headers;
286 else 286 headers.forEach(header => header[Sources.SourceFormatData._formatDataSymbo l] = formatData);
287 delete styleHeader[Sources.SourceFormatData._formatDataSymbol]; 287 } else {
288 Bindings.cssWorkspaceBinding.updateLocations(styleHeader); 288 original[this._headersSymbol] = null;
289 headers.forEach(header => delete header[Sources.SourceFormatData._formatDa taSymbol]);
290 }
291 headers.forEach(header => Bindings.cssWorkspaceBinding.updateLocations(heade r));
289 } 292 }
290 }; 293 };
291 294
292 Sources.sourceFormatter = new Sources.SourceFormatter(); 295 Sources.sourceFormatter = new Sources.SourceFormatter();
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/inspector/sources/formatter-css.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698