pull/10491/head
Rich Harris 3 years ago
parent 7a728dc81b
commit c682dab290

@ -269,7 +269,7 @@ function relative_selector_might_apply_to_node(relative_selector, rule, node, st
const name = selector.name.replace(regex_backslash_and_following_character, '$1');
switch (selector.type) {
case 'PseudoClassSelector':
case 'PseudoClassSelector': {
if (name === 'host' || name === 'root') {
return NO_MATCH;
}
@ -294,11 +294,13 @@ function relative_selector_might_apply_to_node(relative_selector, rule, node, st
}
break;
}
case 'PseudoElementSelector':
case 'PseudoElementSelector': {
break;
}
case 'AttributeSelector':
case 'AttributeSelector': {
const whitelisted = whitelist_attribute_selector.get(node.name.toLowerCase());
if (
!whitelisted?.includes(selector.name.toLowerCase()) &&
@ -313,8 +315,9 @@ function relative_selector_might_apply_to_node(relative_selector, rule, node, st
return NO_MATCH;
}
break;
}
case 'ClassSelector':
case 'ClassSelector': {
if (
!attribute_matches(node, 'class', name, '~=', false) &&
!node.attributes.some(
@ -325,15 +328,17 @@ function relative_selector_might_apply_to_node(relative_selector, rule, node, st
}
break;
}
case 'IdSelector':
case 'IdSelector': {
if (!attribute_matches(node, 'id', name, '=', false)) {
return NO_MATCH;
}
break;
}
case 'TypeSelector':
case 'TypeSelector': {
if (
node.name.toLowerCase() !== name.toLowerCase() &&
name !== '*' &&
@ -343,8 +348,9 @@ function relative_selector_might_apply_to_node(relative_selector, rule, node, st
}
break;
}
case 'NestingSelector':
case 'NestingSelector': {
let matched = false;
const parent = rule.metadata.parent_rule;
@ -362,6 +368,7 @@ function relative_selector_might_apply_to_node(relative_selector, rule, node, st
}
break;
}
default:
return UNKNOWN_SELECTOR;

Loading…
Cancel
Save