Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/bindings/SASSSourceMapping.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/SASSSourceMapping.js b/third_party/WebKit/Source/devtools/front_end/bindings/SASSSourceMapping.js |
| index a4917740196ddb73631a302f2f9e8efb1e20b2c2..844bcd3bd87ce4c085d24d0558f9dbc1d58f87e9 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/bindings/SASSSourceMapping.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/bindings/SASSSourceMapping.js |
| @@ -87,7 +87,9 @@ Bindings.SASSSourceMapping = class { |
| var contentProvider = sourceMap.sourceContentProvider(sassURL, Common.resourceTypes.SourceMapStyleSheet); |
| var embeddedContent = sourceMap.embeddedContentByURL(sassURL); |
| var embeddedContentLength = typeof embeddedContent === 'string' ? embeddedContent.length : null; |
| - this._networkProject.addSourceMapFile(contentProvider, header.frameId, false, embeddedContentLength); |
| + var uiSourceCode = |
| + this._networkProject.addSourceMapFile(contentProvider, header.frameId, false, embeddedContentLength); |
| + uiSourceCode[Bindings.SASSSourceMapping._sourceMapSymbol] = sourceMap; |
| } |
| Bindings.cssWorkspaceBinding.updateLocations(header); |
| this._sourceMapAttachedForTest(sourceMap); |
| @@ -127,6 +129,7 @@ Bindings.SASSSourceMapping = class { |
| if (handledUISourceCodes.has(uiSourceCode)) |
| continue; |
| handledUISourceCodes.add(uiSourceCode); |
| + uiSourceCode[Bindings.SASSSourceMapping._sourceMapSymbol] = sourceMap; |
| var sassText = /** @type {string} */ (newSources.get(sourceURL)); |
| uiSourceCode.setWorkingCopy(sassText); |
| } |
| @@ -154,7 +157,24 @@ Bindings.SASSSourceMapping = class { |
| return uiSourceCode.uiLocation(entry.sourceLineNumber || 0, entry.sourceColumnNumber); |
| } |
| + /** |
| + * @override |
| + * @param {!Workspace.UILocation} uiLocation |
| + * @return {!Array<!SDK.CSSLocation>} |
| + */ |
| + uiLocationToRawLocations(uiLocation) { |
| + var sourceMap = uiLocation.uiSourceCode[Bindings.SASSSourceMapping._sourceMapSymbol]; |
| + if (!sourceMap) |
| + return []; |
| + var headers = this._sourceMapManager.clientsForSourceMap(sourceMap); |
| + var entry = |
| + sourceMap.findReverseEntry(uiLocation.uiSourceCode.url(), uiLocation.lineNumber, uiLocation.columnNumber); |
|
dgozman
2017/05/04 00:04:56
Could there be multiple?
|
| + return headers.map(header => new SDK.CSSLocation(header, entry.lineNumber, entry.columnNumber)); |
| + } |
| + |
| dispose() { |
| Common.EventTarget.removeEventListeners(this._eventListeners); |
| } |
| -}; |
| +}; |
| + |
| +Bindings.SASSSourceMapping._sourceMapSymbol = Symbol('sourceMap'); |