[csswg-drafts] [css-pseudo] allowing ::search-text:current its own overlay (#10527)

delan has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-pseudo] allowing ::search-text:current its own overlay ==
#10212 resolved that ::search-text (#3812) will be a single highlight pseudo with two states, which currently implies a single highlight overlay ([css-pseudo #highlight-bounds](https://drafts.csswg.org/css-pseudo/#highlight-bounds)).

But while working on the [::search-text paint impl](https://crrev.com/c/5541338) in Chromium, we found that splitting :current and :not(:current) into separate highlight overlays for paint [makes the impl a lot less complicated](https://crrev.com/c/5541338/18..19). [With a single overlay](https://crrev.com/c/5541338/18), the highlight overlay code needs to explicitly track where ::search-text was :current, so we can store and switch between two sets of computed and resolved styles for ::search-text (and ::selection). [With two overlays](https://crrev.com/c/5541338/19), it’s all encoded in which overlay we choose.

We propose allowing impls to paint ::search-text:current and ::search-text:not(:current) in separate highlight overlays. This would have minor painting order side effects, like backgrounds of :current overlapping text shadows of :not(:current), but the rendering would otherwise be roughly the same.

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10527 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 4 July 2024 11:06:27 UTC