| Index: Source/devtools/front_end/sdk/CSSWorkspaceBinding.js
|
| diff --git a/Source/devtools/front_end/sdk/CSSWorkspaceBinding.js b/Source/devtools/front_end/sdk/CSSWorkspaceBinding.js
|
| deleted file mode 100644
|
| index e32eae29e7ec6c9af5a6e864c10c57dd026ad72e..0000000000000000000000000000000000000000
|
| --- a/Source/devtools/front_end/sdk/CSSWorkspaceBinding.js
|
| +++ /dev/null
|
| @@ -1,401 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -/**
|
| - * @constructor
|
| - * @implements {WebInspector.TargetManager.Observer}
|
| - */
|
| -WebInspector.CSSWorkspaceBinding = function()
|
| -{
|
| - /** @type {!Map.<!WebInspector.Target, !WebInspector.CSSWorkspaceBinding.TargetInfo>} */
|
| - this._targetToTargetInfo = new Map();
|
| - WebInspector.targetManager.observeTargets(this);
|
| -
|
| - WebInspector.targetManager.addModelListener(WebInspector.ResourceTreeModel, WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated, this._mainFrameCreatedOrNavigated, this);
|
| -}
|
| -
|
| -WebInspector.CSSWorkspaceBinding.prototype = {
|
| - /**
|
| - * @param {!WebInspector.Target} target
|
| - */
|
| - targetAdded: function(target)
|
| - {
|
| - this._targetToTargetInfo.put(target, new WebInspector.CSSWorkspaceBinding.TargetInfo(target, WebInspector.workspace, WebInspector.networkWorkspaceBinding));
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Target} target
|
| - */
|
| - targetRemoved: function(target)
|
| - {
|
| - this._targetToTargetInfo.remove(target)._dispose();
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.CSSStyleSheetHeader} header
|
| - * @param {!WebInspector.SourceMapping} mapping
|
| - */
|
| - pushSourceMapping: function(header, mapping)
|
| - {
|
| - this._ensureInfoForHeader(header)._pushSourceMapping(mapping);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.CSSStyleSheetHeader} header
|
| - * @return {?WebInspector.CSSWorkspaceBinding.HeaderInfo}
|
| - */
|
| - _headerInfo: function(header)
|
| - {
|
| - var map = this._targetToTargetInfo.get(header.target());
|
| - return map._headerInfo(header.id) || null;
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.CSSStyleSheetHeader} header
|
| - * @return {!WebInspector.CSSWorkspaceBinding.HeaderInfo}
|
| - */
|
| - _ensureInfoForHeader: function(header)
|
| - {
|
| - var targetInfo = this._targetToTargetInfo.get(header.target());
|
| - if (!targetInfo) {
|
| - targetInfo = new WebInspector.CSSWorkspaceBinding.TargetInfo(header.target(), WebInspector.workspace, WebInspector.networkWorkspaceBinding);
|
| - this._targetToTargetInfo.put(header.target(), targetInfo);
|
| - }
|
| - return targetInfo._ensureInfoForHeader(header);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _mainFrameCreatedOrNavigated: function(event)
|
| - {
|
| - var target = /** @type {!WebInspector.ResourceTreeModel} */ (event.target).target();
|
| - this._targetToTargetInfo.get(target)._reset();
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.CSSStyleSheetHeader} header
|
| - */
|
| - updateLocations: function(header)
|
| - {
|
| - var info = this._headerInfo(header);
|
| - if (info)
|
| - info._updateLocations();
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.CSSLocation} rawLocation
|
| - * @param {function(!WebInspector.UILocation):(boolean|undefined)} updateDelegate
|
| - * @return {!WebInspector.CSSWorkspaceBinding.LiveLocation}
|
| - */
|
| - createLiveLocation: function(rawLocation, updateDelegate)
|
| - {
|
| - var header = rawLocation.styleSheetId ? rawLocation.target().cssModel.styleSheetHeaderForId(rawLocation.styleSheetId) : null;
|
| - return new WebInspector.CSSWorkspaceBinding.LiveLocation(rawLocation.target().cssModel, header, rawLocation, updateDelegate);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.CSSWorkspaceBinding.LiveLocation} location
|
| - */
|
| - _addLiveLocation: function(location)
|
| - {
|
| - this._ensureInfoForHeader(location._header)._addLocation(location);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.CSSWorkspaceBinding.LiveLocation} location
|
| - */
|
| - _removeLiveLocation: function(location)
|
| - {
|
| - var info = this._headerInfo(location._header);
|
| - if (info)
|
| - info._removeLocation(location);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.CSSProperty} cssProperty
|
| - * @param {boolean} forName
|
| - * @return {?WebInspector.UILocation}
|
| - */
|
| - propertyUILocation: function(cssProperty, forName)
|
| - {
|
| - var style = cssProperty.ownerStyle;
|
| - if (!style || !style.parentRule || !style.styleSheetId)
|
| - return null;
|
| -
|
| - var range = cssProperty.range;
|
| - if (!range)
|
| - return null;
|
| -
|
| - var url = style.parentRule.resourceURL();
|
| - if (!url)
|
| - return null;
|
| -
|
| - var line = forName ? range.startLine : range.endLine;
|
| - // End of range is exclusive, so subtract 1 from the end offset.
|
| - var column = forName ? range.startColumn : range.endColumn - (cssProperty.text && cssProperty.text.endsWith(";") ? 2 : 1);
|
| - var rawLocation = new WebInspector.CSSLocation(style.target(), style.styleSheetId, url, line, column);
|
| - return this.rawLocationToUILocation(rawLocation);
|
| - },
|
| -
|
| - /**
|
| - * @param {?WebInspector.CSSLocation} rawLocation
|
| - * @return {?WebInspector.UILocation}
|
| - */
|
| - rawLocationToUILocation: function(rawLocation)
|
| - {
|
| - if (!rawLocation)
|
| - return null;
|
| - var cssModel = rawLocation.target().cssModel;
|
| - var frameIdToSheetIds = cssModel.styleSheetIdsByFrameIdForURL(rawLocation.url);
|
| - if (!Object.values(frameIdToSheetIds).length)
|
| - return null;
|
| - var styleSheetIds = [];
|
| - for (var frameId in frameIdToSheetIds)
|
| - styleSheetIds = styleSheetIds.concat(frameIdToSheetIds[frameId]);
|
| - var uiLocation;
|
| - for (var i = 0; !uiLocation && i < styleSheetIds.length; ++i) {
|
| - var header = cssModel.styleSheetHeaderForId(styleSheetIds[i]);
|
| - if (!header)
|
| - continue;
|
| - var info = this._headerInfo(header);
|
| - if (info)
|
| - uiLocation = info._rawLocationToUILocation(rawLocation.lineNumber, rawLocation.columnNumber);
|
| - }
|
| - return uiLocation || null;
|
| - }
|
| -}
|
| -
|
| -/**
|
| - * @constructor
|
| - * @param {!WebInspector.Target} target
|
| - * @param {!WebInspector.Workspace} workspace
|
| - * @param {!WebInspector.NetworkWorkspaceBinding} networkWorkspaceBinding
|
| - */
|
| -WebInspector.CSSWorkspaceBinding.TargetInfo = function(target, workspace, networkWorkspaceBinding)
|
| -{
|
| - this._target = target;
|
| - this._workspace = workspace;
|
| -
|
| - var cssModel = target.cssModel;
|
| - this._stylesSourceMapping = new WebInspector.StylesSourceMapping(cssModel, workspace);
|
| - this._sassSourceMapping = new WebInspector.SASSSourceMapping(cssModel, workspace, networkWorkspaceBinding);
|
| -
|
| - /** @type {!StringMap.<!WebInspector.CSSWorkspaceBinding.HeaderInfo>} */
|
| - this._headerInfoById = new StringMap();
|
| -
|
| - cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetAdded, this._styleSheetAdded, this);
|
| - cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetRemoved, this._styleSheetRemoved, this);
|
| -}
|
| -
|
| -WebInspector.CSSWorkspaceBinding.TargetInfo.prototype = {
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _styleSheetAdded: function(event)
|
| - {
|
| - var header = /** @type {!WebInspector.CSSStyleSheetHeader} */ (event.data);
|
| - this._stylesSourceMapping.addHeader(header);
|
| - this._sassSourceMapping.addHeader(header);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _styleSheetRemoved: function(event)
|
| - {
|
| - var header = /** @type {!WebInspector.CSSStyleSheetHeader} */ (event.data);
|
| - this._stylesSourceMapping.removeHeader(header);
|
| - this._sassSourceMapping.removeHeader(header);
|
| - this._headerInfoById.remove(header.id);
|
| - },
|
| -
|
| - /**
|
| - * @param {!CSSAgent.StyleSheetId} id
|
| - */
|
| - _headerInfo: function(id)
|
| - {
|
| - return this._headerInfoById.get(id);
|
| - },
|
| -
|
| - _ensureInfoForHeader: function(header)
|
| - {
|
| - var info = this._headerInfoById.get(header.id);
|
| - if (!info) {
|
| - info = new WebInspector.CSSWorkspaceBinding.HeaderInfo(header);
|
| - this._headerInfoById.put(header.id, info);
|
| - }
|
| - return info;
|
| - },
|
| -
|
| - _dispose: function()
|
| - {
|
| - this._reset();
|
| - this._target.cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.StyleSheetAdded, this._styleSheetAdded, this);
|
| - this._target.cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.StyleSheetRemoved, this._styleSheetRemoved, this);
|
| - },
|
| -
|
| - _reset: function()
|
| - {
|
| - this._headerInfoById.clear();
|
| - }
|
| -}
|
| -
|
| -/**
|
| - * @constructor
|
| - * @param {!WebInspector.CSSStyleSheetHeader} header
|
| - */
|
| -WebInspector.CSSWorkspaceBinding.HeaderInfo = function(header)
|
| -{
|
| - this._header = header;
|
| -
|
| - /** @type {!Array.<!WebInspector.SourceMapping>} */
|
| - this._sourceMappings = [];
|
| -
|
| - /** @type {!Set.<!WebInspector.LiveLocation>} */
|
| - this._locations = new Set();
|
| -}
|
| -
|
| -WebInspector.CSSWorkspaceBinding.HeaderInfo.prototype = {
|
| - /**
|
| - * @param {!WebInspector.LiveLocation} location
|
| - */
|
| - _addLocation: function(location)
|
| - {
|
| - this._locations.add(location);
|
| - location.update();
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.LiveLocation} location
|
| - */
|
| - _removeLocation: function(location)
|
| - {
|
| - this._locations.remove(location);
|
| - },
|
| -
|
| - _updateLocations: function()
|
| - {
|
| - var items = this._locations.values();
|
| - for (var i = 0; i < items.length; ++i)
|
| - items[i].update();
|
| - },
|
| -
|
| - /**
|
| - * @param {number} lineNumber
|
| - * @param {number=} columnNumber
|
| - * @return {?WebInspector.UILocation}
|
| - */
|
| - _rawLocationToUILocation: function(lineNumber, columnNumber)
|
| - {
|
| - var uiLocation = null;
|
| - var rawLocation = new WebInspector.CSSLocation(this._header.target(), this._header.id, this._header.resourceURL(), lineNumber, columnNumber);
|
| - for (var i = this._sourceMappings.length - 1; !uiLocation && i >= 0; --i)
|
| - uiLocation = this._sourceMappings[i].rawLocationToUILocation(rawLocation);
|
| - return uiLocation;
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.SourceMapping} sourceMapping
|
| - */
|
| - _pushSourceMapping: function(sourceMapping)
|
| - {
|
| - this._sourceMappings.push(sourceMapping);
|
| - this._updateLocations();
|
| - }
|
| -}
|
| -
|
| -/**
|
| - * @constructor
|
| - * @extends {WebInspector.LiveLocation}
|
| - * @param {!WebInspector.CSSStyleModel} cssModel
|
| - * @param {?WebInspector.CSSStyleSheetHeader} header
|
| - * @param {!WebInspector.CSSLocation} rawLocation
|
| - * @param {function(!WebInspector.UILocation):(boolean|undefined)} updateDelegate
|
| - */
|
| -WebInspector.CSSWorkspaceBinding.LiveLocation = function(cssModel, header, rawLocation, updateDelegate)
|
| -{
|
| - WebInspector.LiveLocation.call(this, rawLocation, updateDelegate);
|
| - this._cssModel = cssModel;
|
| - if (!header)
|
| - this._clearStyleSheet();
|
| - else
|
| - this._setStyleSheet(header);
|
| -}
|
| -
|
| -WebInspector.CSSWorkspaceBinding.LiveLocation.prototype = {
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _styleSheetAdded: function(event)
|
| - {
|
| - console.assert(!this._header);
|
| - var header = /** @type {!WebInspector.CSSStyleSheetHeader} */ (event.data);
|
| - if (header.sourceURL && header.sourceURL === this.rawLocation().url)
|
| - this._setStyleSheet(header);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _styleSheetRemoved: function(event)
|
| - {
|
| - console.assert(this._header);
|
| - var header = /** @type {!WebInspector.CSSStyleSheetHeader} */ (event.data);
|
| - if (this._header !== header)
|
| - return;
|
| - WebInspector.cssWorkspaceBinding._removeLiveLocation(this);
|
| - this._clearStyleSheet();
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.CSSStyleSheetHeader} header
|
| - */
|
| - _setStyleSheet: function(header)
|
| - {
|
| - this._header = header;
|
| - WebInspector.cssWorkspaceBinding._addLiveLocation(this);
|
| - this._cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.StyleSheetAdded, this._styleSheetAdded, this);
|
| - this._cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetRemoved, this._styleSheetRemoved, this);
|
| - },
|
| -
|
| - _clearStyleSheet: function()
|
| - {
|
| - delete this._header;
|
| - this._cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.StyleSheetRemoved, this._styleSheetRemoved, this);
|
| - this._cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetAdded, this._styleSheetAdded, this);
|
| - },
|
| -
|
| - /**
|
| - * @return {?WebInspector.UILocation}
|
| - */
|
| - uiLocation: function()
|
| - {
|
| - var cssLocation = /** @type WebInspector.CSSLocation */ (this.rawLocation());
|
| - if (this._header) {
|
| - var headerInfo = WebInspector.cssWorkspaceBinding._headerInfo(this._header);
|
| - return headerInfo._rawLocationToUILocation(cssLocation.lineNumber, cssLocation.columnNumber);
|
| - }
|
| - var uiSourceCode = WebInspector.workspace.uiSourceCodeForURL(cssLocation.url);
|
| - if (!uiSourceCode)
|
| - return null;
|
| - return uiSourceCode.uiLocation(cssLocation.lineNumber, cssLocation.columnNumber);
|
| - },
|
| -
|
| - dispose: function()
|
| - {
|
| - WebInspector.LiveLocation.prototype.dispose.call(this);
|
| - if (this._header)
|
| - WebInspector.cssWorkspaceBinding._removeLiveLocation(this);
|
| - this._cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.StyleSheetAdded, this._styleSheetAdded, this);
|
| - this._cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.StyleSheetRemoved, this._styleSheetRemoved, this);
|
| - },
|
| -
|
| - __proto__: WebInspector.LiveLocation.prototype
|
| -}
|
| -
|
| -/**
|
| - * @type {!WebInspector.CSSWorkspaceBinding}
|
| - */
|
| -WebInspector.cssWorkspaceBinding;
|
|
|