Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 /** | 5 /** |
| 6 * @implements {SDK.SDKModelObserver<!SDK.CSSModel>} | 6 * @implements {SDK.SDKModelObserver<!SDK.CSSModel>} |
| 7 */ | 7 */ |
| 8 Bindings.CSSWorkspaceBinding = class { | 8 Bindings.CSSWorkspaceBinding = class { |
| 9 /** | 9 /** |
| 10 * @param {!SDK.TargetManager} targetManager | 10 * @param {!SDK.TargetManager} targetManager |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 72 return null; | 72 return null; |
| 73 | 73 |
| 74 var lineNumber = range.startLine; | 74 var lineNumber = range.startLine; |
| 75 var columnNumber = range.startColumn; | 75 var columnNumber = range.startColumn; |
| 76 var rawLocation = new SDK.CSSLocation( | 76 var rawLocation = new SDK.CSSLocation( |
| 77 header, header.lineNumberInSource(lineNumber), header.columnNumberInSour ce(lineNumber, columnNumber)); | 77 header, header.lineNumberInSource(lineNumber), header.columnNumberInSour ce(lineNumber, columnNumber)); |
| 78 return this.rawLocationToUILocation(rawLocation); | 78 return this.rawLocationToUILocation(rawLocation); |
| 79 } | 79 } |
| 80 | 80 |
| 81 /** | 81 /** |
| 82 * @param {?SDK.CSSLocation} rawLocation | 82 * @param {!SDK.CSSLocation} rawLocation |
| 83 * @return {?Workspace.UILocation} | 83 * @return {?Workspace.UILocation} |
| 84 */ | 84 */ |
| 85 rawLocationToUILocation(rawLocation) { | 85 rawLocationToUILocation(rawLocation) { |
| 86 if (!rawLocation) | |
| 87 return null; | |
| 88 for (var i = this._sourceMappings.length - 1; i >= 0; --i) { | 86 for (var i = this._sourceMappings.length - 1; i >= 0; --i) { |
| 89 var uiLocation = this._sourceMappings[i].rawLocationToUILocation(rawLocati on); | 87 var uiLocation = this._sourceMappings[i].rawLocationToUILocation(rawLocati on); |
| 90 if (uiLocation) | 88 if (uiLocation) |
| 91 return uiLocation; | 89 return uiLocation; |
| 92 } | 90 } |
| 93 return this._modelToInfo.get(rawLocation.cssModel())._rawLocationToUILocatio n(rawLocation); | 91 return this._modelToInfo.get(rawLocation.cssModel())._rawLocationToUILocatio n(rawLocation); |
| 94 } | 92 } |
| 95 | 93 |
| 96 /** | 94 /** |
| 95 * @param {!Workspace.UILocation} uiLocation | |
| 96 * @return {!Array<!SDK.CSSLocation>} | |
| 97 */ | |
| 98 uiLocationToRawLocations(uiLocation) { | |
| 99 for (var i = this._sourceMappings.length - 1; i >= 0; --i) { | |
| 100 var rawLocations = this._sourceMappings[i].uiLocationToRawLocations(uiLoca tion); | |
| 101 if (rawLocations.length) | |
| 102 return rawLocations; | |
| 103 } | |
| 104 var rawLocationArrays = | |
|
dgozman
2017/05/04 00:04:55
var rawLocations = [];
for (var modelInfo of this.
| |
| 105 Array.from(this._modelToInfo.values(), modelInfo => modelInfo._uiLocatio nToRawLocations(uiLocation)); | |
| 106 return [].concat(...rawLocationArrays); | |
| 107 } | |
| 108 | |
| 109 | |
| 110 /** | |
| 97 * @param {!Bindings.CSSWorkspaceBinding.SourceMapping} sourceMapping | 111 * @param {!Bindings.CSSWorkspaceBinding.SourceMapping} sourceMapping |
| 98 */ | 112 */ |
| 99 addSourceMapping(sourceMapping) { | 113 addSourceMapping(sourceMapping) { |
| 100 this._sourceMappings.push(sourceMapping); | 114 this._sourceMappings.push(sourceMapping); |
| 101 } | 115 } |
| 102 }; | 116 }; |
| 103 | 117 |
| 104 /** | 118 /** |
| 105 * @interface | 119 * @interface |
| 106 */ | 120 */ |
| 107 Bindings.CSSWorkspaceBinding.SourceMapping = function() {}; | 121 Bindings.CSSWorkspaceBinding.SourceMapping = function() {}; |
| 108 | 122 |
| 109 Bindings.CSSWorkspaceBinding.SourceMapping.prototype = { | 123 Bindings.CSSWorkspaceBinding.SourceMapping.prototype = { |
| 110 /** | 124 /** |
| 111 * @param {!SDK.CSSLocation} rawLocation | 125 * @param {!SDK.CSSLocation} rawLocation |
| 112 * @return {?Workspace.UILocation} | 126 * @return {?Workspace.UILocation} |
| 113 */ | 127 */ |
| 114 rawLocationToUILocation(rawLocation) {}, | 128 rawLocationToUILocation(rawLocation) {}, |
| 129 | |
| 130 /** | |
| 131 * @param {!Workspace.UILocation} uiLocation | |
| 132 * @return {!Array<!SDK.CSSLocation>} | |
| 133 */ | |
| 134 uiLocationToRawLocations(uiLocation) {}, | |
| 115 }; | 135 }; |
| 116 | 136 |
| 117 Bindings.CSSWorkspaceBinding.ModelInfo = class { | 137 Bindings.CSSWorkspaceBinding.ModelInfo = class { |
| 118 /** | 138 /** |
| 119 * @param {!SDK.CSSModel} cssModel | 139 * @param {!SDK.CSSModel} cssModel |
| 120 * @param {!Workspace.Workspace} workspace | 140 * @param {!Workspace.Workspace} workspace |
| 121 */ | 141 */ |
| 122 constructor(cssModel, workspace) { | 142 constructor(cssModel, workspace) { |
| 123 this._eventListeners = [ | 143 this._eventListeners = [ |
| 124 cssModel.addEventListener(SDK.CSSModel.Events.StyleSheetAdded, this._style SheetAdded, this), | 144 cssModel.addEventListener(SDK.CSSModel.Events.StyleSheetAdded, this._style SheetAdded, this), |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 206 * @param {!SDK.CSSLocation} rawLocation | 226 * @param {!SDK.CSSLocation} rawLocation |
| 207 * @return {?Workspace.UILocation} | 227 * @return {?Workspace.UILocation} |
| 208 */ | 228 */ |
| 209 _rawLocationToUILocation(rawLocation) { | 229 _rawLocationToUILocation(rawLocation) { |
| 210 var uiLocation = null; | 230 var uiLocation = null; |
| 211 uiLocation = uiLocation || this._sassSourceMapping.rawLocationToUILocation(r awLocation); | 231 uiLocation = uiLocation || this._sassSourceMapping.rawLocationToUILocation(r awLocation); |
| 212 uiLocation = uiLocation || this._stylesSourceMapping.rawLocationToUILocation (rawLocation); | 232 uiLocation = uiLocation || this._stylesSourceMapping.rawLocationToUILocation (rawLocation); |
| 213 return uiLocation; | 233 return uiLocation; |
| 214 } | 234 } |
| 215 | 235 |
| 236 /** | |
| 237 * @param {!Workspace.UILocation} uiLocation | |
| 238 * @return {!Array<!SDK.CSSLocation>} | |
| 239 */ | |
| 240 _uiLocationToRawLocations(uiLocation) { | |
| 241 var rawLocations = this._sassSourceMapping.uiLocationToRawLocations(uiLocati on); | |
| 242 if (rawLocations.length) | |
| 243 return rawLocations; | |
| 244 return this._stylesSourceMapping.uiLocationToRawLocations(uiLocation); | |
| 245 } | |
| 246 | |
| 247 | |
| 216 _dispose() { | 248 _dispose() { |
| 217 Common.EventTarget.removeEventListeners(this._eventListeners); | 249 Common.EventTarget.removeEventListeners(this._eventListeners); |
| 218 this._stylesSourceMapping.dispose(); | 250 this._stylesSourceMapping.dispose(); |
| 219 this._sassSourceMapping.dispose(); | 251 this._sassSourceMapping.dispose(); |
| 220 } | 252 } |
| 221 }; | 253 }; |
| 222 | 254 |
| 223 /** | 255 /** |
| 224 * @unrestricted | 256 * @unrestricted |
| 225 */ | 257 */ |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 264 */ | 296 */ |
| 265 isBlackboxed() { | 297 isBlackboxed() { |
| 266 return false; | 298 return false; |
| 267 } | 299 } |
| 268 }; | 300 }; |
| 269 | 301 |
| 270 /** | 302 /** |
| 271 * @type {!Bindings.CSSWorkspaceBinding} | 303 * @type {!Bindings.CSSWorkspaceBinding} |
| 272 */ | 304 */ |
| 273 Bindings.cssWorkspaceBinding; | 305 Bindings.cssWorkspaceBinding; |
| OLD | NEW |