summaryrefslogtreecommitdiffstats
path: root/devtools/server/actors/style-rule.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/server/actors/style-rule.js')
-rw-r--r--devtools/server/actors/style-rule.js23
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;
}
}