[wpt-sync] Sync PR 41813 - Revert "Reland "Invalidation on stylesheet changes using selector matching""
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox119 fixed)
Tracking | Status | |
---|---|---|
firefox119 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 41813 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/41813
Details from upstream follow.
Steinar H Gunderson <sesse@chromium.org> wrote:
Revert "Reland "Invalidation on stylesheet changes using selector matching""
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 \<sesse@chromium.org>
Reviewed-by: Adithya Srinivasan \<adithyas@chromium.org>
Reviewed-by: Rune Lillesveen \<futhark@chromium.org>
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 \<sesse@chromium.org>
Reviewed-by: Rune Lillesveen \<futhark@chromium.org>
Bot-Commit: Rubber Stamper \<rubber-stamper@appspot.gserviceaccount.com>
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 \<rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Anders Hartvoll Ruud \<andruud@chromium.org>
Commit-Queue: Steinar H Gunderson \<sesse@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1192349}
Assignee | ||
Comment 1•1 year ago
|
||
Assignee | ||
Comment 2•1 year ago
|
||
Assignee | ||
Comment 3•1 year ago
|
||
Assignee | ||
Comment 4•1 year ago
|
||
Assignee | ||
Comment 5•1 year ago
|
||
Assignee | ||
Comment 6•1 year ago
|
||
Assignee | ||
Comment 7•1 year ago
|
||
Comment 9•1 year ago
|
||
bugherder |
Description
•