diff --git a/Libraries/LibWeb/CSS/Selector.cpp b/Libraries/LibWeb/CSS/Selector.cpp index d0dc85681cb..6dd9646c77d 100644 --- a/Libraries/LibWeb/CSS/Selector.cpp +++ b/Libraries/LibWeb/CSS/Selector.cpp @@ -348,6 +348,8 @@ String Selector::SimpleSelector::serialize() const if (attribute.qualified_name.namespace_type == QualifiedName::NamespaceType::Named) { serialize_an_identifier(s, attribute.qualified_name.namespace_); s.append('|'); + } else if (attribute.qualified_name.namespace_type == QualifiedName::NamespaceType::Any) { + s.append("*|"sv); } // 3. Append the serialization of the attribute name as an identifier to s. diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/cssom/selectorSerialize.txt b/Tests/LibWeb/Text/expected/wpt-import/css/cssom/selectorSerialize.txt index 83c13b75ee2..9d3ab089121 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/css/cssom/selectorSerialize.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/css/cssom/selectorSerialize.txt @@ -2,8 +2,8 @@ Harness status: OK Found 23 tests -19 Pass -4 Fail +20 Pass +3 Fail Pass :nth-child serialization produces canonical form Pass single universal selector shows '*' when serialized. Pass single type (simple) selector in the sequence of simple selectors that is not a universal selector @@ -19,7 +19,7 @@ Pass single pseudo (simple) selector ":not" which accepts arguments in the seque Pass escaped character in attribute name Fail escaped character as code point in attribute name Pass escaped character (@) in attribute name -Fail escaped character in attribute name with any namespace +Pass escaped character in attribute name with any namespace Pass escaped character in attribute prefix Pass escaped character in both attribute prefix and name Pass escaped character (\) in element name diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/attribute-selectors/attribute-case/cssom.txt b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/attribute-selectors/attribute-case/cssom.txt index 62af9a24a95..a8af7c0f074 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/css/selectors/attribute-selectors/attribute-case/cssom.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/css/selectors/attribute-selectors/attribute-case/cssom.txt @@ -2,8 +2,7 @@ Harness status: OK Found 72 tests -60 Pass -12 Fail +72 Pass Pass [foo="bar"] /* sanity check */ insertRule Pass [foo="bar"] /* sanity check */ getting CSSRule#cssText Pass [foo="bar"] /* sanity check */ getting CSSStyleRule#selectorText @@ -37,13 +36,13 @@ Pass [foo="bar"/**/i] getting CSSRule#cssText in @media Pass [foo="bar"/**/i] getting CSSStyleRule#selectorText in @media Pass [foo="bar"/**/i] setting CSSStyleRule#selectorText in @media Pass [*|foo="bar" i] insertRule -Fail [*|foo="bar" i] getting CSSRule#cssText -Fail [*|foo="bar" i] getting CSSStyleRule#selectorText -Fail [*|foo="bar" i] setting CSSStyleRule#selectorText +Pass [*|foo="bar" i] getting CSSRule#cssText +Pass [*|foo="bar" i] getting CSSStyleRule#selectorText +Pass [*|foo="bar" i] setting CSSStyleRule#selectorText Pass [*|foo="bar" i] insertRule in @media -Fail [*|foo="bar" i] getting CSSRule#cssText in @media -Fail [*|foo="bar" i] getting CSSStyleRule#selectorText in @media -Fail [*|foo="bar" i] setting CSSStyleRule#selectorText in @media +Pass [*|foo="bar" i] getting CSSRule#cssText in @media +Pass [*|foo="bar" i] getting CSSStyleRule#selectorText in @media +Pass [*|foo="bar" i] setting CSSStyleRule#selectorText in @media Pass [foo="bar" s] insertRule Pass [foo="bar" s] getting CSSRule#cssText Pass [foo="bar" s] getting CSSStyleRule#selectorText @@ -69,10 +68,10 @@ Pass [foo="bar"/**/s] getting CSSRule#cssText in @media Pass [foo="bar"/**/s] getting CSSStyleRule#selectorText in @media Pass [foo="bar"/**/s] setting CSSStyleRule#selectorText in @media Pass [*|foo="bar" s] insertRule -Fail [*|foo="bar" s] getting CSSRule#cssText -Fail [*|foo="bar" s] getting CSSStyleRule#selectorText -Fail [*|foo="bar" s] setting CSSStyleRule#selectorText +Pass [*|foo="bar" s] getting CSSRule#cssText +Pass [*|foo="bar" s] getting CSSStyleRule#selectorText +Pass [*|foo="bar" s] setting CSSStyleRule#selectorText Pass [*|foo="bar" s] insertRule in @media -Fail [*|foo="bar" s] getting CSSRule#cssText in @media -Fail [*|foo="bar" s] getting CSSStyleRule#selectorText in @media -Fail [*|foo="bar" s] setting CSSStyleRule#selectorText in @media \ No newline at end of file +Pass [*|foo="bar" s] getting CSSRule#cssText in @media +Pass [*|foo="bar" s] getting CSSStyleRule#selectorText in @media +Pass [*|foo="bar" s] setting CSSStyleRule#selectorText in @media \ No newline at end of file