Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/bindings/CSSWorkspaceBinding.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/CSSWorkspaceBinding.js b/third_party/WebKit/Source/devtools/front_end/bindings/CSSWorkspaceBinding.js |
| index c0bef9b443f5ff036567c6727774db6a498dc533..7424bd41d762a1a0e9dc5ee211d1bfabf37baef6 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/bindings/CSSWorkspaceBinding.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/bindings/CSSWorkspaceBinding.js |
| @@ -79,12 +79,10 @@ Bindings.CSSWorkspaceBinding = class { |
| } |
| /** |
| - * @param {?SDK.CSSLocation} rawLocation |
| + * @param {!SDK.CSSLocation} rawLocation |
| * @return {?Workspace.UILocation} |
| */ |
| rawLocationToUILocation(rawLocation) { |
| - if (!rawLocation) |
|
dgozman
2017/05/04 17:44:37
Seems unrelated :-)
caseq
2017/05/04 17:46:49
It's a drive-by. Compiler, code search and tests t
|
| - return null; |
| for (var i = this._sourceMappings.length - 1; i >= 0; --i) { |
| var uiLocation = this._sourceMappings[i].rawLocationToUILocation(rawLocation); |
| if (uiLocation) |
| @@ -94,6 +92,22 @@ Bindings.CSSWorkspaceBinding = class { |
| } |
| /** |
| + * @param {!Workspace.UILocation} uiLocation |
| + * @return {!Array<!SDK.CSSLocation>} |
| + */ |
| + uiLocationToRawLocations(uiLocation) { |
| + for (var i = this._sourceMappings.length - 1; i >= 0; --i) { |
| + var rawLocations = this._sourceMappings[i].uiLocationToRawLocations(uiLocation); |
| + if (rawLocations.length) |
| + return rawLocations; |
| + } |
| + var rawLocations = []; |
| + for (var modelInfo of this._modelToInfo.values()) |
| + rawLocations.pushAll(modelInfo._uiLocationToRawLocations(uiLocation)); |
| + return rawLocations; |
| + } |
| + |
| + /** |
| * @param {!Bindings.CSSWorkspaceBinding.SourceMapping} sourceMapping |
| */ |
| addSourceMapping(sourceMapping) { |
| @@ -112,6 +126,12 @@ Bindings.CSSWorkspaceBinding.SourceMapping.prototype = { |
| * @return {?Workspace.UILocation} |
| */ |
| rawLocationToUILocation(rawLocation) {}, |
| + |
| + /** |
| + * @param {!Workspace.UILocation} uiLocation |
| + * @return {!Array<!SDK.CSSLocation>} |
| + */ |
| + uiLocationToRawLocations(uiLocation) {}, |
| }; |
| Bindings.CSSWorkspaceBinding.ModelInfo = class { |
| @@ -213,6 +233,18 @@ Bindings.CSSWorkspaceBinding.ModelInfo = class { |
| return uiLocation; |
| } |
| + /** |
| + * @param {!Workspace.UILocation} uiLocation |
| + * @return {!Array<!SDK.CSSLocation>} |
| + */ |
| + _uiLocationToRawLocations(uiLocation) { |
| + var rawLocations = this._sassSourceMapping.uiLocationToRawLocations(uiLocation); |
| + if (rawLocations.length) |
| + return rawLocations; |
| + return this._stylesSourceMapping.uiLocationToRawLocations(uiLocation); |
| + } |
| + |
| + |
| _dispose() { |
| Common.EventTarget.removeEventListeners(this._eventListeners); |
| this._stylesSourceMapping.dispose(); |