Click here to download the Blitz Browser!

WPT

wpt / css / cssom / CSSStyleSheet-constructable.html

Spec: CSSOM ↗

Runs: Chrome 155.0.8039.0 (wpt@508cc6a62, 2026-09-03) | Firefox 157.0a1 (wpt@508cc6a62, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-56c61 (wpt@8fdda8ce4, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)

View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi

ChromeFirefoxSafariLadybirdServoBlitz
Total32/3232/3232/3230/3212/320/32
SubtestChromeFirefoxSafariLadybirdServoBlitz
document.adoptedStyleSheets should initially have length 0.PASSPASSPASSPASSFAIL
new CSSStyleSheet produces empty CSSStyleSheetPASSPASSPASSPASSFAIL
title can be set in the CSSStyleSheet constructorPASSPASSPASSPASSPASS
CSSStyleSheet.replace produces Promise<CSSStyleSheet>PASSPASSPASSPASSFAIL
Constructed style sheets can be applied on documentPASSPASSPASSPASSFAIL
Constructed style sheets can be applied on shadow rootPASSPASSPASSPASSFAIL
Re-attaching shadow host with adopted stylesheets workPASSPASSPASSPASSFAIL
Attaching a shadow root that already has adopted stylesheets workPASSPASSPASSPASSFAIL
Re-attaching shadow host and updating attributes workPASSPASSPASSPASSFAIL
Changes to constructed stylesheets through CSSOM is reflectedPASSPASSPASSPASSFAIL
Constructed stylesheet can be used and modified in multiple TreeScopesPASSPASSPASSPASSFAIL
Stylesheets constructed on the main Document cannot be used in iframesPASSPASSPASSPASSFAIL
Stylesheet constructed on iframe cannot be used in the main DocumentPASSPASSPASSPASSFAIL
Adding non-constructed stylesheet to AdoptedStyleSheets is not allowed when the owner document of the stylesheet is in the same document tree as the AdoptedStyleSheetsPASSPASSPASSPASSFAIL
Adding non-constructed stylesheet to AdoptedStyleSheets is not allowed when the owner document of the stylesheet and the AdoptedStyleSheets are in different document treesPASSPASSPASSPASSFAIL
CSSStyleSheet.replaceSync replaces stylesheet text synchronouslyPASSPASSPASSPASSPASS
CSSStyleSheet.replaceSync correctly updates the style of its adopters synchronouslyPASSPASSPASSPASSFAIL
Adopted sheets are ordered after non-adopted sheets in the shadow rootPASSPASSPASSPASSFAIL
Adopted sheets are ordered after non-adopted sheets in the documentPASSPASSPASSPASSFAIL
Inserting an @import rule through insertRule on a constructed stylesheet throws an exceptionPASSPASSPASSPASSPASS
CSSStyleSheet.replaceSync should not trigger any loads from @import rulesPASSPASSPASSPASSPASS
CSSStyleSheet.replace allows, but ignores, import rule insidePASSPASSPASSPASSPASS
CSSStyleSheet.replace ignores @import rule but still loads other rulesPASSPASSPASSPASSFAIL
CSSStyleSheet.replaceSync allows, but ignores, import rule insidePASSPASSPASSPASSPASS
CSSStyleSheet.replace does not reject on failed importsPASSPASSPASSPASSPASS
Cloning a shadow host will not clone shadow root, and also adoptedStyleSheetsPASSPASSPASSPASSPASS
Importing a shadow host will not copy shadow root, and also adoptedStyleSheetsPASSPASSPASSPASSPASS
Adopting a shadow host will empty adoptedStyleSheets if adopting to a different documentPASSPASSPASSFAILFAIL
Adopting a shadow host's ancestor will empty adoptedStyleSheets if adopting to a different documentPASSPASSPASSFAILFAIL
Forcing a style update after adding an adopted stylesheet on a disconnected shadow root should not crash.PASSPASSPASSPASSPASS
Modifying an adopted stylesheet on a disconnected shadow root should not crash.PASSPASSPASSPASSPASS
Constructing a sheet with the default base URL uses the constructor document's base URL for CSS rulesPASSPASSPASSPASSPASS
Uncaught JS errorFAIL