script: Ensure notify_invalidations() is always called when modifying stylesheets (#38530)

This change supplements the missing stylesheet invalidation
notifications to fix some bugs that the modification of stylesheet does
not take effect. Additionally, this PR add a RAII thing to mark the
modification scope of stylesheet rules, which will facilitate to add
extra logic before the modification happens.

Fixes: there is relevant issue #38211 , but it can't be fixed by this
PR.
Testing: This fixes some subtests in
`/css/cssom/CSSStyleSheet-constructable.html`.

Signed-off-by: sharpshooter_pt <ibluegalaxy_taoj@163.com>
This commit is contained in:
JoeDow 2025-08-15 17:14:34 +08:00 committed by GitHub
parent aca4bde93d
commit 8b574539d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 8 additions and 11 deletions

View file

@ -11,18 +11,9 @@
[Re-attaching shadow host with adopted stylesheets work]
expected: FAIL
[Changes to constructed stylesheets through CSSOM is reflected]
expected: FAIL
[Constructed stylesheet can be used and modified in multiple TreeScopes]
expected: FAIL
[Stylesheets constructed on the main Document cannot be used in iframes]
expected: FAIL
[Stylesheet constructed on iframe cannot be used in the main Document]
expected: FAIL
[CSSStyleSheet.replaceSync correctly updates the style of its adopters synchronously]
expected: FAIL