Automatic update from web-platform-tests
Reland "Match SVG attribute values case-sensitively when applying style"
This is a reland of commit 2444231e37abdda7001cbc427ec6163efc7c9fbb
The original change moved the legacy case-insensitive value decision
into SelectorQuery::MatchCompound(), which runs once per visited
element. That added a per-element RuntimeEnabledFeatures lookup (and
bloated the hot function) and regressed
blink_perf.parser/query-selector-all-class by ~11% on mac-m1
(b/528200852), even though that benchmark never takes the attribute
branch.
This reland keeps the behavior change but avoids the per-element
RuntimeEnabledFeatures lookup entirely. attr_case_insensitive is
computed once in FillMissingData() (where the document is known). The
legacy case-insensitive rule additionally depends on whether the matched
element is an HTML element, which the fast exact-attribute path can't
decide on its own; for that rare case FillMissingData() sets
need_full_check_ and defers to the full SelectorChecker path.
MatchCompound() then just reads the precomputed bool, so the hot path is
back to its original shape.
Original change's description:
> Match SVG attribute values case-sensitively when applying style
>
> Legacy ASCII case-insensitive attribute value matching now requires the
> element to be an HTML element, not just in an HTML document, so SVG and
> empty-namespace elements compare attribute values case-sensitively.
>
> Bug: 41089999
> Change-Id: Ic67055a9cc5f52575a1992279bd53061141be661
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7956604
> Reviewed-by: Fredrik Söderquist <fs@opera.com>
> Commit-Queue: Helmut Januschka <helmut@januschka.com>
> Cr-Commit-Position: refs/heads/main@{#1652801}
Bug: 41089999
Change-Id: I6fb0ef50ad2113021a9f234829d57119c82688c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8010611
Commit-Queue: Helmut Januschka <helmut@januschka.com>
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/main@{#1655612}
--
wpt-commits: f9c92d2763226ff0a151039ebdaefff5231b4b21
wpt-pr: 61024