diff options
Diffstat (limited to '')
-rw-r--r-- | devtools/server/actors/style-rule.js | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/devtools/server/actors/style-rule.js b/devtools/server/actors/style-rule.js index 9ddd6a380c..2be6e981ea 100644 --- a/devtools/server/actors/style-rule.js +++ b/devtools/server/actors/style-rule.js @@ -9,7 +9,9 @@ const { styleRuleSpec, } = require("resource://devtools/shared/specs/style-rule.js"); -const { getCSSLexer } = require("resource://devtools/shared/css/lexer.js"); +const { + InspectorCSSParserWrapper, +} = require("resource://devtools/shared/css/lexer.js"); const TrackChangeEmitter = require("resource://devtools/server/actors/utils/track-change-emitter.js"); const { getRuleText, @@ -502,6 +504,12 @@ class StyleRuleActor extends Actor { // Flag that will be set to true if the rule has a non-at-rule parent rule let computeDesugaredSelector = false; + // We don't want to compute ancestor rules for keyframe rule, as they can only be + // in @keyframes rules. + if (this.ruleClassName === "CSSKeyframeRule") { + return { ancestorData, computeDesugaredSelector }; + } + // Go through all ancestor so we can build an array of all the media queries and // layers this rule is in. for (const ancestorRule of this.ancestorRules) { @@ -1316,23 +1324,20 @@ function getSelectorOffsets(initialText, line, column) { line, column ); - const lexer = getCSSLexer(text); + const lexer = new InspectorCSSParserWrapper(text); // Search forward for the opening brace. let endOffset; - while (true) { - const token = lexer.nextToken(); - if (!token) { - break; - } - if (token.tokenType === "symbol" && token.text === "{") { + let token; + while ((token = lexer.nextToken())) { + if (token.tokenType === "CurlyBracketBlock") { if (endOffset === undefined) { break; } return [textOffset, textOffset + endOffset]; } // Preserve comments and whitespace just before the "{". - if (token.tokenType !== "comment" && token.tokenType !== "whitespace") { + if (token.tokenType !== "Comment" && token.tokenType !== "WhiteSpace") { endOffset = token.endOffset; } } |