mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 02:05:07 +02:00
LibWeb: Don't construct stylesheet when modifying CSSStyleSheet rules
Previously, `CSSStyleSheet.replace()` and `CSSStyleSheet.replaceSync()` parsed the given CSS text into a temporary stylesheet object, from which a list of rules was extracted. Doing this had the unintended side-effect that a fetch request would be started if the given CSS text referenced any external resources. This fetch request would cause a crash, since the temporary stylesheet object didn't set the constructed flag, or constructor document. We now parse the given CSS text as a list of rules without constructing a temporary stylesheet.
This commit is contained in:
committed by
Sam Atkins
parent
955f6fc9cb
commit
ca200142e9
Notes:
github-actions[bot]
2025-04-16 21:04:15 +00:00
Author: https://github.com/tcl3 Commit: https://github.com/LadybirdBrowser/ladybird/commit/ca200142e97 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4371 Reviewed-by: https://github.com/AtkinsSJ ✅
@@ -0,0 +1,8 @@
|
||||
Harness status: OK
|
||||
|
||||
Found 3 tests
|
||||
|
||||
3 Pass
|
||||
Pass Constructing sheet with custom base URL ueses that URL for CSS rules
|
||||
Pass Constructing sheet with relative URL adds to the constructor document's base URL
|
||||
Pass Constructing sheet with invalid base URL throws a NotAllowedError
|
||||
Reference in New Issue
Block a user