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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 /** | 91 /** |
92 * @param {!SDK.CSSModel} cssModel | 92 * @param {!SDK.CSSModel} cssModel |
93 * @param {!Workspace.Workspace} workspace | 93 * @param {!Workspace.Workspace} workspace |
94 */ | 94 */ |
95 constructor(cssModel, workspace) { | 95 constructor(cssModel, workspace) { |
96 this._eventListeners = [ | 96 this._eventListeners = [ |
97 cssModel.addEventListener(SDK.CSSModel.Events.StyleSheetAdded, this._style
SheetAdded, this), | 97 cssModel.addEventListener(SDK.CSSModel.Events.StyleSheetAdded, this._style
SheetAdded, this), |
98 cssModel.addEventListener(SDK.CSSModel.Events.StyleSheetRemoved, this._sty
leSheetRemoved, this) | 98 cssModel.addEventListener(SDK.CSSModel.Events.StyleSheetRemoved, this._sty
leSheetRemoved, this) |
99 ]; | 99 ]; |
100 | 100 |
| 101 this._workspace = workspace; |
| 102 var networkProject = Bindings.NetworkProject.forTarget(cssModel.target()); |
101 this._stylesSourceMapping = new Bindings.StylesSourceMapping(cssModel, works
pace); | 103 this._stylesSourceMapping = new Bindings.StylesSourceMapping(cssModel, works
pace); |
102 this._sassSourceMapping = | 104 this._sassSourceMapping = new Bindings.SASSSourceMapping(cssModel, workspace
, networkProject); |
103 new Bindings.SASSSourceMapping(cssModel, workspace, Bindings.NetworkProj
ect.forTarget(cssModel.target())); | |
104 | 105 |
105 /** @type {!Multimap<!SDK.CSSStyleSheetHeader, !Bindings.CSSWorkspaceBinding
.LiveLocation>} */ | 106 /** @type {!Multimap<!SDK.CSSStyleSheetHeader, !Bindings.CSSWorkspaceBinding
.LiveLocation>} */ |
106 this._locations = new Multimap(); | 107 this._locations = new Multimap(); |
107 /** @type {!Multimap<string, !Bindings.CSSWorkspaceBinding.LiveLocation>} */ | 108 /** @type {!Multimap<string, !Bindings.CSSWorkspaceBinding.LiveLocation>} */ |
108 this._unboundLocations = new Multimap(); | 109 this._unboundLocations = new Multimap(); |
109 } | 110 } |
110 | 111 |
111 /** | 112 /** |
112 * @param {!SDK.CSSLocation} rawLocation | 113 * @param {!SDK.CSSLocation} rawLocation |
113 * @param {function(!Bindings.LiveLocation)} updateDelegate | 114 * @param {function(!Bindings.LiveLocation)} updateDelegate |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 } | 176 } |
176 | 177 |
177 /** | 178 /** |
178 * @param {!SDK.CSSLocation} rawLocation | 179 * @param {!SDK.CSSLocation} rawLocation |
179 * @return {?Workspace.UILocation} | 180 * @return {?Workspace.UILocation} |
180 */ | 181 */ |
181 _rawLocationToUILocation(rawLocation) { | 182 _rawLocationToUILocation(rawLocation) { |
182 var uiLocation = null; | 183 var uiLocation = null; |
183 uiLocation = uiLocation || this._sassSourceMapping.rawLocationToUILocation(r
awLocation); | 184 uiLocation = uiLocation || this._sassSourceMapping.rawLocationToUILocation(r
awLocation); |
184 uiLocation = uiLocation || this._stylesSourceMapping.rawLocationToUILocation
(rawLocation); | 185 uiLocation = uiLocation || this._stylesSourceMapping.rawLocationToUILocation
(rawLocation); |
185 return uiLocation; | 186 if (uiLocation) |
| 187 return uiLocation; |
| 188 |
| 189 var header = rawLocation.header(); |
| 190 if (!header) |
| 191 return null; |
| 192 var uiSourceCode = Bindings.NetworkProject.uiSourceCodeForStyleURL(this._wor
kspace, rawLocation.url, header); |
| 193 if (!uiSourceCode) |
| 194 return null; |
| 195 return uiSourceCode.uiLocation(rawLocation.lineNumber, rawLocation.columnNum
ber); |
186 } | 196 } |
187 | 197 |
188 _dispose() { | 198 _dispose() { |
189 Common.EventTarget.removeEventListeners(this._eventListeners); | 199 Common.EventTarget.removeEventListeners(this._eventListeners); |
190 this._stylesSourceMapping.dispose(); | 200 this._stylesSourceMapping.dispose(); |
191 this._sassSourceMapping.dispose(); | 201 this._sassSourceMapping.dispose(); |
192 } | 202 } |
193 }; | 203 }; |
194 | 204 |
195 /** | 205 /** |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 */ | 246 */ |
237 isBlackboxed() { | 247 isBlackboxed() { |
238 return false; | 248 return false; |
239 } | 249 } |
240 }; | 250 }; |
241 | 251 |
242 /** | 252 /** |
243 * @type {!Bindings.CSSWorkspaceBinding} | 253 * @type {!Bindings.CSSWorkspaceBinding} |
244 */ | 254 */ |
245 Bindings.cssWorkspaceBinding; | 255 Bindings.cssWorkspaceBinding; |
OLD | NEW |