Chromium Code Reviews| Index: Source/devtools/front_end/SASSSourceMapping.js |
| diff --git a/Source/devtools/front_end/SASSSourceMapping.js b/Source/devtools/front_end/SASSSourceMapping.js |
| index 9964e67e58045877afad03c7fa9bc07d78c879a3..132352ec5295d7ccd627d30b5dae2289daac8610 100644 |
| --- a/Source/devtools/front_end/SASSSourceMapping.js |
| +++ b/Source/devtools/front_end/SASSSourceMapping.js |
| @@ -44,8 +44,10 @@ WebInspector.SASSSourceMapping = function(cssModel, workspace, networkWorkspaceP |
| this._workspace = workspace; |
| this._networkWorkspaceProvider = networkWorkspaceProvider; |
| this._addingRevisionCounter = 0; |
| + this._mappingsEnabled = WebInspector.settings.cssSourceMapsEnabled.get(); |
|
vsevik
2013/07/12 13:07:08
not needed
|
| this._reset(); |
| WebInspector.fileManager.addEventListener(WebInspector.FileManager.EventTypes.SavedURL, this._fileSaveFinished, this); |
| + WebInspector.settings.cssSourceMapsEnabled.addChangeListener(this._toggleSourceMapSupport, this) |
| this._cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetChanged, this._styleSheetChanged, this); |
| this._workspace.addEventListener(WebInspector.Workspace.Events.UISourceCodeAdded, this._uiSourceCodeAdded, this); |
| this._workspace.addEventListener(WebInspector.Workspace.Events.UISourceCodeContentCommitted, this._uiSourceCodeContentCommitted, this); |
| @@ -64,13 +66,28 @@ WebInspector.SASSSourceMapping.prototype = { |
| return; |
| } |
| var header = this._cssModel.styleSheetHeaderForId(id); |
| - if (!header || !WebInspector.experimentsSettings.sass.isEnabled()) |
| + if (!header) |
| return; |
| - var wasHeaderKnown = header.sourceURL && !!this._completeSourceMapURLForCSSURL[header.sourceURL]; |
| this.removeHeader(header); |
| - if (wasHeaderKnown) |
| - header.updateLocations(); |
| + }, |
| + |
| + /** |
| + * @param {WebInspector.Event} event |
| + */ |
| + _toggleSourceMapSupport: function(event) |
| + { |
| + var enabled = /** @type {boolean} */ (event.data); |
| + if (enabled === this._mappingsEnabled) |
| + return; |
| + this._mappingsEnabled = enabled; |
| + var headers = this._cssModel.styleSheetHeaders(); |
| + for (var i = 0; i < headers.length; ++i) { |
| + if (enabled) |
| + this.addHeader(headers[i]); |
| + else |
| + this.removeHeader(headers[i]); |
| + } |
| }, |
| /** |
| @@ -369,7 +386,7 @@ WebInspector.SASSSourceMapping.prototype = { |
| */ |
| addHeader: function(header) |
| { |
| - if (!header.sourceMapURL || !header.sourceURL || header.isInline || !WebInspector.experimentsSettings.sass.isEnabled()) |
| + if (!header.sourceMapURL || !header.sourceURL || header.isInline || !WebInspector.settings.cssSourceMapsEnabled.get()) |
| return; |
| var completeSourceMapURL = WebInspector.ParsedURL.completeURL(header.sourceURL, header.sourceMapURL); |
| if (!completeSourceMapURL) |
| @@ -397,6 +414,7 @@ WebInspector.SASSSourceMapping.prototype = { |
| var completeSourceMapURL = WebInspector.ParsedURL.completeURL(sourceURL, header.sourceMapURL); |
| if (completeSourceMapURL) |
| delete this._sourceMapByURL[completeSourceMapURL]; |
| + header.updateLocations(); |
| }, |
| /** |