haikuwebkit/LayoutTests/fast/css/is-specificity-5.html

36 lines
801 B
HTML
Raw Permalink Normal View History

[CSS Selectors 4] Add support for `:is()` with the same logic for the existing `:matches()` https://bugs.webkit.org/show_bug.cgi?id=209707 Reviewed by Antti Koivisto. LayoutTests/imported/w3c: * web-platform-tests/css/selectors/invalidation/is-expected.txt: Source/WebCore: Add `PseudoClassType::PseudoClassIs` and use it where `PseudoClassTyle::PseudoClassMatches` is already used now. Tests: fast/css/is-specificity-1.html fast/css/is-specificity-2.html fast/css/is-specificity-3.html fast/css/is-specificity-4.html fast/css/is-specificity-5.html fast/css/is-specificity-6.html fast/css/is-specificity-7.html fast/css/is-specificity-8.html fast/css/is-specificity-9.html fast/css/is-specificity-10.html fast/css/parsing-css-is-1.html fast/css/parsing-css-is-2.html fast/css/parsing-css-is-3.html fast/css/parsing-css-is-4.html fast/css/parsing-css-is-5.html fast/css/parsing-css-is-6.html fast/css/parsing-css-is-7.html fast/css/parsing-css-is-8.html fast/selectors/is-backtracking.html fast/selectors/is-complex.html fast/selectors/is-selector-list.html fast/selectors/is-selector-list-ending-with-never-matching-selectors.html fast/selectors/is-with-pseudo-element.html fast/selectors/pseudo-element-inside-is.html fast/selectors/querySelector-is.html imported/w3c/web-platform-tests/css/selectors/invalidation/is.html imported/w3c/web-platform-tests/css/selectors/is-nested.html imported/w3c/web-platform-tests/css/selectors/is-specificity.html * css/CSSSelector.h: * css/CSSSelector.cpp: (WebCore::simpleSelectorSpecificityInternal): (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity): (WebCore::CSSSelector::selectorText const): * css/SelectorChecker.cpp: (WebCore::SelectorChecker::matchRecursively const): * css/SelectorPseudoClassAndCompatibilityElementMap.in: * css/parser/CSSSelectorParser.cpp: (WebCore::isOnlyPseudoClassFunction): (WebCore::CSSSelectorParser::consumePseudo): * cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::addPseudoClassType): (WebCore::SelectorChecker::checkOne const): * inspector/InspectorStyleSheet.cpp: (WebCore::hasDynamicSpecificity): * features.json: LayoutTests: * fast/css/css-selector-text.html: * fast/css/css-selector-text-expected.txt: * fast/css/css-set-selector-text.html: * fast/css/css-set-selector-text-expected.txt: * fast/css/is-specificity-1.html: Copied from fast/css/matches-specificity-1.html. * fast/css/is-specificity-1-expected.html: Copied from fast/css/matches-specificity-1-expected.html. * fast/css/is-specificity-2.html: Copied from fast/css/matches-specificity-2.html. * fast/css/is-specificity-2-expected.html: Copied from fast/css/matches-specificity-2-expected.html. * fast/css/is-specificity-3.html: Copied from fast/css/matches-specificity-3.html. * fast/css/is-specificity-3-expected.html: Copied from fast/css/matches-specificity-3-expected.html. * fast/css/is-specificity-4.html: Copied from fast/css/matches-specificity-4.html. * fast/css/is-specificity-4-expected.html: Copied from fast/css/matches-specificity-4-expected.html. * fast/css/is-specificity-5.html: Copied from fast/css/matches-specificity-5.html. * fast/css/is-specificity-5-expected.html: Copied from fast/css/matches-specificity-5-expected.html. * fast/css/is-specificity-6.html: Copied from fast/css/matches-specificity-6.html. * fast/css/is-specificity-6-expected.html: Copied from fast/css/matches-specificity-6-expected.html. * fast/css/is-specificity-7.html: Copied from fast/css/matches-specificity-7.html. * fast/css/is-specificity-7-expected.html: Copied from fast/css/matches-specificity-7-expected.html. * fast/css/is-specificity-8.html: Copied from fast/css/matches-specificity-8.html. * fast/css/is-specificity-8-expected.html: Copied from fast/css/matches-specificity-8-expected.html. * fast/css/is-specificity-9.html: Copied from fast/css/matches-specificity-9.html. * fast/css/is-specificity-9-expected.html: Copied from fast/css/matches-specificity-9-expected.html. * fast/css/is-specificity-10.html: Copied from fast/css/matches-specificity-10.html. * fast/css/is-specificity-10-expected.html: Copied from fast/css/matches-specificity-10-expected.html. * fast/css/parsing-css-attribute-case-insensitive-value-1.html: * fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt: * fast/css/parsing-css-attribute-case-insensitive-value-4.html: * fast/css/parsing-css-attribute-case-insensitive-value-4-expected.txt: * fast/css/parsing-css-is-1.html: Coped from fast/css/parsing-css-matches-1.html. * fast/css/parsing-css-is-1-expected.txt: Coped from fast/css/parsing-css-matches-1-expected.txt. * fast/css/parsing-css-is-2.html: Coped from fast/css/parsing-css-matches-2.html. * fast/css/parsing-css-is-2-expected.txt: Coped from fast/css/parsing-css-matches-2-expected.txt. * fast/css/parsing-css-is-3.html: Coped from fast/css/parsing-css-matches-3.html. * fast/css/parsing-css-is-3-expected.txt: Coped from fast/css/parsing-css-matches-3-expected.txt. * fast/css/parsing-css-is-4.html: Coped from fast/css/parsing-css-matches-4.html. * fast/css/parsing-css-is-4-expected.txt: Coped from fast/css/parsing-css-matches-4-expected.txt. * fast/css/parsing-css-is-5.html: Coped from fast/css/parsing-css-matches-5.html. * fast/css/parsing-css-is-5-expected.txt: Coped from fast/css/parsing-css-matches-5-expected.txt. * fast/css/parsing-css-is-6.html: Coped from fast/css/parsing-css-matches-6.html. * fast/css/parsing-css-is-6-expected.txt: Coped from fast/css/parsing-css-matches-6-expected.txt. * fast/css/parsing-css-is-7.html: Coped from fast/css/parsing-css-matches-7.html. * fast/css/parsing-css-is-7-expected.txt: Coped from fast/css/parsing-css-matches-7-expected.txt. * fast/css/parsing-css-is-8.html: Coped from fast/css/parsing-css-matches-8.html. * fast/css/parsing-css-is-8-expected.txt: Coped from fast/css/parsing-css-matches-8-expected.txt. * fast/css/parsing-css-not-1.html: * fast/css/parsing-css-not-1-expected.txt: * fast/css/parsing-css-not-2.html: * fast/css/parsing-css-not-2-expected.txt: * fast/css/parsing-css-not-5.html: * fast/css/parsing-css-not-5-expected.txt: * fast/css/parsing-css-not-6.html: * fast/css/parsing-css-not-6-expected.txt: * fast/css/parsing-css-not-7.html: * fast/css/parsing-css-not-7-expected.txt: * fast/css/parsing-css-not-8.html: * fast/css/parsing-css-not-8-expected.txt: * fast/css/parsing-css-not-9.html: * fast/css/parsing-css-not-9-expected.txt: * fast/css/parsing-css-nth-child-of-4.html: * fast/css/parsing-css-nth-child-of-4-expected.txt: * fast/css/parsing-css-nth-last-child-of-4.html: * fast/css/parsing-css-nth-last-child-of-4-expected.txt: * fast/selectors/case-insensitive-attribute-register-requirement-1.html: * fast/selectors/case-insensitive-attribute-register-requirement-1-expected.txt: * fast/selectors/element-matches-attribute-ascii-case-insensitive-html-expected.txt: * fast/selectors/element-matches-attribute-ascii-case-insensitive-html.html: * fast/selectors/is-backtracking.html: Copied from fast/selectors/matches-backtracking.html. * fast/selectors/is-backtracking-expected.txt: Copied from fast/selectors/matches-backtracking-expected.txt. * fast/selectors/is-complex.html: Copied from fast/selectors/matches-complex.html. * fast/selectors/is-complex-expected.txt: Copied from fast/selectors/matches-complex-expected.txt. * fast/selectors/is-selector-list.html: Copied from fast/selectors/matches-selector-list.html. * fast/selectors/is-selector-list-expected.txt: Copied from fast/selectors/matches-selector-list-expected.txt. * fast/selectors/is-selector-list-ending-with-never-matching-selectors.html: Copied from fast/selectors/matches-selector-list-ending-with-never-matching-selectors.html. * fast/selectors/is-selector-list-ending-with-never-matching-selectors-expected.txt: Copied from fast/selectors/matches-selector-list-ending-with-never-matching-selectors-expected.txt. * fast/selectors/is-with-pseudo-element.html: Copied from fast/selectors/matches-with-pseudo-element.html. * fast/selectors/is-with-pseudo-element-expected.html: Copied from fast/selectors/matches-with-pseudo-element-expected.html. * fast/selectors/pseudo-element-inside-is.html: Copied from fast/selectors/pseudo-element-inside-matches.html. * fast/selectors/pseudo-element-inside-is-expected.html: Copied from fast/selectors/pseudo-element-inside-matches-expected.html. * fast/selectors/querySelector-attribute-ascii-case-insensitive-html.html: * fast/selectors/querySelector-attribute-ascii-case-insensitive-html-expected.txt: * fast/selectors/querySelector-is.html: Copied from fast/selectors/querySelector-matches.html. * fast/selectors/querySelector-is-expected.txt: Copied from fast/selectors/querySelector-matches-expected.txt. * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-html.html: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-html-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-xhtml.xhtml: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-xhtml-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-html.html: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-html-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-xhtml.xhtml: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-xhtml-expected.txt: * inspector/css/selector-dynamic-specificity.html: * inspector/css/selector-dynamic-specificity-expected.txt: * TestExpectations: * platform/wincairo/TestExpectations: * platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/222706@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259261 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-31 00:52:56 +00:00
<!doctype html>
<html>
<head>
<style>
.target::before {
content: "Target";
}
.target:is(*, target, .target, *, target)::before {
background-color: green;
}
target:is(*, target, .target, *, target)::before {
color: white;
}
.target:is(*)::before {
background-color: red;
color: blue;
border: none;
}
target:is(*, target, *)::before {
border: 25px solid purple;
}
[CSS Selectors] Selectors Level 4 specificity calculation for pseudo classes https://bugs.webkit.org/show_bug.cgi?id=210419 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/selectors/invalidation/is-expected.txt: Source/WebCore: CSS selector specification drafts at some point had a concept of "dynamic specificity" where the specificity of a selector depended on the element it matched. It was only ever used with :matches and :nth-child pseudo classes and has subsequently been removed. Selector specificity can now always be computed statically. There is a ton of code to support this obsolete feature. Remove it. https://drafts.csswg.org/selectors-4/#specificity-rules "The specificity of an :is(), :not(), or :has() pseudo-class is replaced by the specificity of the most specific complex selector in its selector list argument. Analogously, the specificity of an :nth-child() or :nth-last-child() selector is the specificity of the pseudo class itself (counting as one pseudo-class selector) plus the specificity of the most specific complex selector in its selector list argument (if any)." * css/html.css: Reorganize a :matches rule into a selector list to keep the exact specificites. It matters here to select between listbox and menulist correctly based on the 'size' and 'multiple' attributes. * css/CSSSelector.cpp: (WebCore::selectorSpecificity): (WebCore::maxSpecificity): (WebCore::simpleSelectorSpecificityInternal): (WebCore::CSSSelector::simpleSelectorSpecificity const): Also handle nth here. (WebCore::CSSSelector::specificity const): (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity): Deleted. (WebCore::functionalPseudoClassStaticSpecificity): Deleted. (WebCore::staticSpecificityInternal): Deleted. (WebCore::CSSSelector::staticSpecificity const): Deleted. Rename to just computeSpecificity(), there is no other kind than static. * css/CSSSelector.h: * css/SelectorChecker.cpp: (WebCore::SelectorChecker::match const): (WebCore::SelectorChecker::matchHostPseudoClass const): (WebCore::SelectorChecker::matchRecursively const): (WebCore::SelectorChecker::checkOne const): (WebCore::SelectorChecker::matchSelectorList const): SelectorChecker doesn't need to deal with specificity anymore. * css/SelectorChecker.h: * cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::addNthChildType): (WebCore::SelectorCompiler::addPseudoClassType): (WebCore::SelectorCompiler::constructFragmentsInternal): (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker): (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching): Neither does SelectorCompiler. * cssjit/SelectorCompiler.h: * dom/SelectorQuery.cpp: (WebCore::SelectorDataList::selectorMatches const): (WebCore::SelectorDataList::selectorClosest const): * inspector/InspectorStyleSheet.cpp: (WebCore::buildObjectForSelectorHelper): (WebCore::selectorsFromSource): (WebCore::InspectorStyleSheet::buildObjectForSelector): (WebCore::InspectorStyleSheet::buildObjectForSelectorList): (WebCore::InspectorStyleSheet::buildObjectForRule): (WebCore::InspectorStyleSheet::buildArrayForRuleList): (WebCore::hasDynamicSpecificity): Deleted. * inspector/InspectorStyleSheet.h: * inspector/agents/InspectorCSSAgent.cpp: (WebCore::InspectorCSSAgent::setRuleSelector): (WebCore::InspectorCSSAgent::addRule): (WebCore::InspectorCSSAgent::buildObjectForRule): (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList): * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::highlightSelector): * style/ElementRuleCollector.cpp: (WebCore::Style::ElementRuleCollector::ruleMatches): Switch to get the specificity from the selector instead of computing it during selector checking. * style/ElementRuleCollector.h: LayoutTests: Update specificity tests for static behavior, trying to also keep them useful. * fast/css/is-specificity-10-expected.html: * fast/css/is-specificity-10.html: * fast/css/is-specificity-2-expected.html: * fast/css/is-specificity-2.html: * fast/css/is-specificity-3-expected.html: * fast/css/is-specificity-3.html: * fast/css/is-specificity-4-expected.html: * fast/css/is-specificity-4.html: * fast/css/is-specificity-5.html: * fast/css/matches-specificity-10-expected.html: * fast/css/matches-specificity-10.html: * fast/css/matches-specificity-2-expected.html: * fast/css/matches-specificity-2.html: * fast/css/matches-specificity-3-expected.html: * fast/css/matches-specificity-3.html: * fast/css/matches-specificity-4-expected.html: * fast/css/matches-specificity-4.html: * fast/css/matches-specificity-5.html: * fast/css/nth-child-specificity-2-expected.html: * fast/css/nth-child-specificity-2.html: * fast/css/nth-child-specificity-3-expected.html: * fast/css/nth-child-specificity-3.html: * fast/css/nth-child-specificity-4-expected.html: * fast/css/nth-child-specificity-4.html: * fast/css/nth-last-child-specificity-2-expected.html: * fast/css/nth-last-child-specificity-2.html: * fast/css/nth-last-child-specificity-3-expected.html: * fast/css/nth-last-child-specificity-3.html: * fast/css/nth-last-child-specificity-4-expected.html: * fast/css/nth-last-child-specificity-4.html: Canonical link: https://commits.webkit.org/223365@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260069 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-14 11:37:40 +00:00
:is(foo, target)::before {
[CSS Selectors 4] Add support for `:is()` with the same logic for the existing `:matches()` https://bugs.webkit.org/show_bug.cgi?id=209707 Reviewed by Antti Koivisto. LayoutTests/imported/w3c: * web-platform-tests/css/selectors/invalidation/is-expected.txt: Source/WebCore: Add `PseudoClassType::PseudoClassIs` and use it where `PseudoClassTyle::PseudoClassMatches` is already used now. Tests: fast/css/is-specificity-1.html fast/css/is-specificity-2.html fast/css/is-specificity-3.html fast/css/is-specificity-4.html fast/css/is-specificity-5.html fast/css/is-specificity-6.html fast/css/is-specificity-7.html fast/css/is-specificity-8.html fast/css/is-specificity-9.html fast/css/is-specificity-10.html fast/css/parsing-css-is-1.html fast/css/parsing-css-is-2.html fast/css/parsing-css-is-3.html fast/css/parsing-css-is-4.html fast/css/parsing-css-is-5.html fast/css/parsing-css-is-6.html fast/css/parsing-css-is-7.html fast/css/parsing-css-is-8.html fast/selectors/is-backtracking.html fast/selectors/is-complex.html fast/selectors/is-selector-list.html fast/selectors/is-selector-list-ending-with-never-matching-selectors.html fast/selectors/is-with-pseudo-element.html fast/selectors/pseudo-element-inside-is.html fast/selectors/querySelector-is.html imported/w3c/web-platform-tests/css/selectors/invalidation/is.html imported/w3c/web-platform-tests/css/selectors/is-nested.html imported/w3c/web-platform-tests/css/selectors/is-specificity.html * css/CSSSelector.h: * css/CSSSelector.cpp: (WebCore::simpleSelectorSpecificityInternal): (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity): (WebCore::CSSSelector::selectorText const): * css/SelectorChecker.cpp: (WebCore::SelectorChecker::matchRecursively const): * css/SelectorPseudoClassAndCompatibilityElementMap.in: * css/parser/CSSSelectorParser.cpp: (WebCore::isOnlyPseudoClassFunction): (WebCore::CSSSelectorParser::consumePseudo): * cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::addPseudoClassType): (WebCore::SelectorChecker::checkOne const): * inspector/InspectorStyleSheet.cpp: (WebCore::hasDynamicSpecificity): * features.json: LayoutTests: * fast/css/css-selector-text.html: * fast/css/css-selector-text-expected.txt: * fast/css/css-set-selector-text.html: * fast/css/css-set-selector-text-expected.txt: * fast/css/is-specificity-1.html: Copied from fast/css/matches-specificity-1.html. * fast/css/is-specificity-1-expected.html: Copied from fast/css/matches-specificity-1-expected.html. * fast/css/is-specificity-2.html: Copied from fast/css/matches-specificity-2.html. * fast/css/is-specificity-2-expected.html: Copied from fast/css/matches-specificity-2-expected.html. * fast/css/is-specificity-3.html: Copied from fast/css/matches-specificity-3.html. * fast/css/is-specificity-3-expected.html: Copied from fast/css/matches-specificity-3-expected.html. * fast/css/is-specificity-4.html: Copied from fast/css/matches-specificity-4.html. * fast/css/is-specificity-4-expected.html: Copied from fast/css/matches-specificity-4-expected.html. * fast/css/is-specificity-5.html: Copied from fast/css/matches-specificity-5.html. * fast/css/is-specificity-5-expected.html: Copied from fast/css/matches-specificity-5-expected.html. * fast/css/is-specificity-6.html: Copied from fast/css/matches-specificity-6.html. * fast/css/is-specificity-6-expected.html: Copied from fast/css/matches-specificity-6-expected.html. * fast/css/is-specificity-7.html: Copied from fast/css/matches-specificity-7.html. * fast/css/is-specificity-7-expected.html: Copied from fast/css/matches-specificity-7-expected.html. * fast/css/is-specificity-8.html: Copied from fast/css/matches-specificity-8.html. * fast/css/is-specificity-8-expected.html: Copied from fast/css/matches-specificity-8-expected.html. * fast/css/is-specificity-9.html: Copied from fast/css/matches-specificity-9.html. * fast/css/is-specificity-9-expected.html: Copied from fast/css/matches-specificity-9-expected.html. * fast/css/is-specificity-10.html: Copied from fast/css/matches-specificity-10.html. * fast/css/is-specificity-10-expected.html: Copied from fast/css/matches-specificity-10-expected.html. * fast/css/parsing-css-attribute-case-insensitive-value-1.html: * fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt: * fast/css/parsing-css-attribute-case-insensitive-value-4.html: * fast/css/parsing-css-attribute-case-insensitive-value-4-expected.txt: * fast/css/parsing-css-is-1.html: Coped from fast/css/parsing-css-matches-1.html. * fast/css/parsing-css-is-1-expected.txt: Coped from fast/css/parsing-css-matches-1-expected.txt. * fast/css/parsing-css-is-2.html: Coped from fast/css/parsing-css-matches-2.html. * fast/css/parsing-css-is-2-expected.txt: Coped from fast/css/parsing-css-matches-2-expected.txt. * fast/css/parsing-css-is-3.html: Coped from fast/css/parsing-css-matches-3.html. * fast/css/parsing-css-is-3-expected.txt: Coped from fast/css/parsing-css-matches-3-expected.txt. * fast/css/parsing-css-is-4.html: Coped from fast/css/parsing-css-matches-4.html. * fast/css/parsing-css-is-4-expected.txt: Coped from fast/css/parsing-css-matches-4-expected.txt. * fast/css/parsing-css-is-5.html: Coped from fast/css/parsing-css-matches-5.html. * fast/css/parsing-css-is-5-expected.txt: Coped from fast/css/parsing-css-matches-5-expected.txt. * fast/css/parsing-css-is-6.html: Coped from fast/css/parsing-css-matches-6.html. * fast/css/parsing-css-is-6-expected.txt: Coped from fast/css/parsing-css-matches-6-expected.txt. * fast/css/parsing-css-is-7.html: Coped from fast/css/parsing-css-matches-7.html. * fast/css/parsing-css-is-7-expected.txt: Coped from fast/css/parsing-css-matches-7-expected.txt. * fast/css/parsing-css-is-8.html: Coped from fast/css/parsing-css-matches-8.html. * fast/css/parsing-css-is-8-expected.txt: Coped from fast/css/parsing-css-matches-8-expected.txt. * fast/css/parsing-css-not-1.html: * fast/css/parsing-css-not-1-expected.txt: * fast/css/parsing-css-not-2.html: * fast/css/parsing-css-not-2-expected.txt: * fast/css/parsing-css-not-5.html: * fast/css/parsing-css-not-5-expected.txt: * fast/css/parsing-css-not-6.html: * fast/css/parsing-css-not-6-expected.txt: * fast/css/parsing-css-not-7.html: * fast/css/parsing-css-not-7-expected.txt: * fast/css/parsing-css-not-8.html: * fast/css/parsing-css-not-8-expected.txt: * fast/css/parsing-css-not-9.html: * fast/css/parsing-css-not-9-expected.txt: * fast/css/parsing-css-nth-child-of-4.html: * fast/css/parsing-css-nth-child-of-4-expected.txt: * fast/css/parsing-css-nth-last-child-of-4.html: * fast/css/parsing-css-nth-last-child-of-4-expected.txt: * fast/selectors/case-insensitive-attribute-register-requirement-1.html: * fast/selectors/case-insensitive-attribute-register-requirement-1-expected.txt: * fast/selectors/element-matches-attribute-ascii-case-insensitive-html-expected.txt: * fast/selectors/element-matches-attribute-ascii-case-insensitive-html.html: * fast/selectors/is-backtracking.html: Copied from fast/selectors/matches-backtracking.html. * fast/selectors/is-backtracking-expected.txt: Copied from fast/selectors/matches-backtracking-expected.txt. * fast/selectors/is-complex.html: Copied from fast/selectors/matches-complex.html. * fast/selectors/is-complex-expected.txt: Copied from fast/selectors/matches-complex-expected.txt. * fast/selectors/is-selector-list.html: Copied from fast/selectors/matches-selector-list.html. * fast/selectors/is-selector-list-expected.txt: Copied from fast/selectors/matches-selector-list-expected.txt. * fast/selectors/is-selector-list-ending-with-never-matching-selectors.html: Copied from fast/selectors/matches-selector-list-ending-with-never-matching-selectors.html. * fast/selectors/is-selector-list-ending-with-never-matching-selectors-expected.txt: Copied from fast/selectors/matches-selector-list-ending-with-never-matching-selectors-expected.txt. * fast/selectors/is-with-pseudo-element.html: Copied from fast/selectors/matches-with-pseudo-element.html. * fast/selectors/is-with-pseudo-element-expected.html: Copied from fast/selectors/matches-with-pseudo-element-expected.html. * fast/selectors/pseudo-element-inside-is.html: Copied from fast/selectors/pseudo-element-inside-matches.html. * fast/selectors/pseudo-element-inside-is-expected.html: Copied from fast/selectors/pseudo-element-inside-matches-expected.html. * fast/selectors/querySelector-attribute-ascii-case-insensitive-html.html: * fast/selectors/querySelector-attribute-ascii-case-insensitive-html-expected.txt: * fast/selectors/querySelector-is.html: Copied from fast/selectors/querySelector-matches.html. * fast/selectors/querySelector-is-expected.txt: Copied from fast/selectors/querySelector-matches-expected.txt. * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-html.html: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-html-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-xhtml.xhtml: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-xhtml-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-html.html: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-html-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-xhtml.xhtml: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-xhtml-expected.txt: * inspector/css/selector-dynamic-specificity.html: * inspector/css/selector-dynamic-specificity-expected.txt: * TestExpectations: * platform/wincairo/TestExpectations: * platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/222706@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259261 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-31 00:52:56 +00:00
content: "Not Target";
}
</style>
</head>
<body>
<p>This test checks the specificity of the rules inside :is() applying to the pseudo element ::before. The test succeed if the text "Target" is displayed in white on a green background.</p>
<target class="target"></target>
</body>
</html>