From 1453148dd5cad003fc183a1ad53221fd6425f997 Mon Sep 17 00:00:00 2001 From: Steinar H Gunderson Date: Tue, 5 Sep 2023 02:56:33 -0700 Subject: [PATCH] Revert "Reland "Invalidation on stylesheet changes using selector matching"" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit c125361b2841cfc76a48a91896bc4c049f2ace67. Original change's description: > Reland "Invalidation on stylesheet changes using selector matching" > > This is a reland of commit 5d12010188b8fd648efd2279956e8a6cbe20654e. > The revert has been in for ~6 hours and the tests in question still > fail on the Mac builders, so it's unlikely to be the culprit. > It also passes locally on Mac. > > Original change's description: > > Invalidation on stylesheet changes using selector matching > > > > When inserting, deleting or modifying stylesheets, we need to invalidate > > style for some elements, even though the elements themselves did not > > change. Currently, we reuse the concept of InvalidationSets, which are > > mostly designed for changes to elements, for that. This can sometimes > > cause overbroad invalidations, especially if the style is written in > > a “modern” (read: less-than-ideal) fashion. > > > > We replace this by a somewhat slower but more precise and probably > > simpler system; for each candidate element in the DOM, we see if it > > matches any selectors in the old or the new rulesets (by means of > > the same bucketing logic we currently have during element rule > > collection), and if so, we mark it for style recalc. This isn't perfect; > > if we are e.g. adding a single rule to an existing stylesheet, we would > > still invalidate based on all rules in the sheet. We hope to improve > > this in a future patch, but even now, this shows significant > > improvements over most of blink_perf.css, with only a few regressions. > > > > Note that this means the experimental style invalidation information in > > devtools becomes somewhat less useful; it will no longer give reasons > > for invalidations when style sheets change. Fixing this would probably > > involve extending the protocol, although I haven't looked deeply into > > this. > > > > Bug: 1444522 > > Change-Id: Ib95cf8d215bf4e7b58ab1955ebc1f3c7e31aead8 > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4783456 > > Commit-Queue: Steinar H Gunderson > > Reviewed-by: Adithya Srinivasan > > Reviewed-by: Rune Lillesveen > > Cr-Commit-Position: refs/heads/main@{#1190433} > > Bug: 1444522 > Change-Id: I522f99ee0fcc59d52d396d92a9af682f6be67a60 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4830242 > Commit-Queue: Steinar H Gunderson > Reviewed-by: Rune Lillesveen > Bot-Commit: Rubber Stamper > Cr-Commit-Position: refs/heads/main@{#1190656} Bug: 1478343 Change-Id: I5c463e32f547157b6620cda6f324668f4f46a8c7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4839258 Bot-Commit: Rubber Stamper Reviewed-by: Anders Hartvoll Ruud Commit-Queue: Steinar H Gunderson Cr-Commit-Position: refs/heads/main@{#1192349} --- .../invalidation/part-pseudo-ref.html | 13 ----------- css/selectors/invalidation/part-pseudo.html | 23 ------------------- 2 files changed, 36 deletions(-) delete mode 100644 css/selectors/invalidation/part-pseudo-ref.html delete mode 100644 css/selectors/invalidation/part-pseudo.html diff --git a/css/selectors/invalidation/part-pseudo-ref.html b/css/selectors/invalidation/part-pseudo-ref.html deleted file mode 100644 index aeb724778a78e17..000000000000000 --- a/css/selectors/invalidation/part-pseudo-ref.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - CSS Test Reference - - - -
-
-
Should be green
-
-
- diff --git a/css/selectors/invalidation/part-pseudo.html b/css/selectors/invalidation/part-pseudo.html deleted file mode 100644 index a409271762fb41a..000000000000000 --- a/css/selectors/invalidation/part-pseudo.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - CSS Selectors Invalidation: ::part() - - - - - - - -
- -
- -