| Index: Source/devtools/front_end/sdk/CSSStyleModel.js
|
| diff --git a/Source/devtools/front_end/sdk/CSSStyleModel.js b/Source/devtools/front_end/sdk/CSSStyleModel.js
|
| index febf7efcb6fd2d7ea00dcc260ea6ee6a6d4c1a20..fc457b4f8912a8b1ec4121596cd6c08f46d43e88 100644
|
| --- a/Source/devtools/front_end/sdk/CSSStyleModel.js
|
| +++ b/Source/devtools/front_end/sdk/CSSStyleModel.js
|
| @@ -891,6 +891,39 @@ WebInspector.CSSStyleDeclaration.prototype = {
|
|
|
| /**
|
| * @constructor
|
| + * @param {!CSSAgent.Selector} payload
|
| + */
|
| +WebInspector.CSSRuleSelector = function(payload)
|
| +{
|
| + this.value = payload.value;
|
| + if (payload.range)
|
| + this.range = WebInspector.TextRange.fromObject(payload.range);
|
| +}
|
| +
|
| +/**
|
| + * @param {!CSSAgent.Selector} payload
|
| + * @return {!WebInspector.CSSRuleSelector}
|
| + */
|
| +WebInspector.CSSRuleSelector.parsePayload = function(payload)
|
| +{
|
| + return new WebInspector.CSSRuleSelector(payload)
|
| +}
|
| +
|
| +WebInspector.CSSRuleSelector.prototype = {
|
| + /**
|
| + * @param {!WebInspector.TextRange} oldRange
|
| + * @param {!WebInspector.TextRange} newRange
|
| + */
|
| + sourceStyleRuleEdited: function(oldRange, newRange)
|
| + {
|
| + if (!this.range)
|
| + return;
|
| + this.range = this.range.rebaseAfterTextEdit(oldRange, newRange);
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * @constructor
|
| * @param {!WebInspector.CSSStyleModel} cssModel
|
| * @param {!CSSAgent.CSSRule} payload
|
| * @param {!Array.<number>=} matchingSelectors
|
| @@ -901,11 +934,12 @@ WebInspector.CSSRule = function(cssModel, payload, matchingSelectors)
|
| this.styleSheetId = payload.styleSheetId;
|
| if (matchingSelectors)
|
| this.matchingSelectors = matchingSelectors;
|
| - this.selectors = payload.selectorList.selectors;
|
| - for (var i = 0; i < this.selectors.length; ++i) {
|
| - var selector = this.selectors[i];
|
| - if (selector.range)
|
| - selector.range = WebInspector.TextRange.fromObject(selector.range);
|
| +
|
| + /** @type {!Array.<!WebInspector.CSSRuleSelector>} */
|
| + this.selectors = [];
|
| + for (var i = 0; i < payload.selectorList.selectors.length; ++i) {
|
| + var selectorPayload = payload.selectorList.selectors[i];
|
| + this.selectors.push(WebInspector.CSSRuleSelector.parsePayload(selectorPayload));
|
| }
|
| this.selectorText = this.selectors.select("value").join(", ");
|
|
|
| @@ -948,11 +982,8 @@ WebInspector.CSSRule.prototype = {
|
| if (this.styleSheetId === styleSheetId) {
|
| if (this.selectorRange)
|
| this.selectorRange = this.selectorRange.rebaseAfterTextEdit(oldRange, newRange);
|
| - for (var i = 0; i < this.selectors.length; ++i) {
|
| - var selector = this.selectors[i];
|
| - if (selector.range)
|
| - selector.range = selector.range.rebaseAfterTextEdit(oldRange, newRange);
|
| - }
|
| + for (var i = 0; i < this.selectors.length; ++i)
|
| + this.selectors[i].sourceStyleRuleEdited(oldRange, newRange);
|
| }
|
| if (this.media) {
|
| for (var i = 0; i < this.media.length; ++i)
|
|
|