Skip to content

[CSS Modules] Update fetching strategy#59805

Merged
chromium-wpt-export-bot merged 1 commit into
masterfrom
chromium-export-cl-7709812
May 12, 2026
Merged

[CSS Modules] Update fetching strategy#59805
chromium-wpt-export-bot merged 1 commit into
masterfrom
chromium-export-cl-7709812

Conversation

@chromium-wpt-export-bot
Copy link
Copy Markdown
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented May 12, 2026

This change updates the fetch behavior to match
whatwg/html#12339. Note that this modifies the
code for existing import, import(), and modulepreload for consistency,
but the existing behavior for these API's does not change in any
circumstance. The only observable change is in the
shadowrootadoptedstylesheets fetching behavior.

By modifying the CSS module fetching to first create the CSSStyleSheet
before fetching and calling replaceSync upon completion, we are able to
remove the placeholder stylesheets that were being inserted for
shadowrootadoptedstylesheets. This simplifies the logic considerably and
will be more performant.

Unlike the other API's for fetching a CSS Module Script,
shadowrootadoptedstylesheets will leave behind an empty CSSStyleSheet in
adoptedStyleSheets if the fetch fails. This simplifies the logic and
seems like a reasonable trade off for a rare condition. Earlier versions
of this CL removed it upon failure, but the implementation was
considerably more complex and had other side effects.

Change-Id: If00445458983f5062a1ca2d83ed0253cc171d1ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7709812
Reviewed-by: Dan Clark <[email protected]>
Commit-Queue: Kurt Catti-Schmidt <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1629010}

This change updates the fetch behavior to match
whatwg/html#12339. Note that this modifies the
code for existing import, import(), and modulepreload for consistency,
but the existing behavior for these API's does *not* change in any
circumstance. The only observable change is in the
shadowrootadoptedstylesheets fetching behavior.

By modifying the CSS module fetching to first create the CSSStyleSheet
before fetching and calling replaceSync upon completion, we are able to
remove the placeholder stylesheets that were being inserted for
shadowrootadoptedstylesheets. This simplifies the logic considerably and
will be more performant.

Unlike the other API's for fetching a CSS Module Script,
shadowrootadoptedstylesheets will leave behind an empty CSSStyleSheet in
adoptedStyleSheets if the fetch fails. This simplifies the logic and
seems like a reasonable trade off for a rare condition. Earlier versions
of this CL removed it upon failure, but the implementation was
considerably more complex and had other side effects.

Change-Id: If00445458983f5062a1ca2d83ed0253cc171d1ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7709812
Reviewed-by: Dan Clark <[email protected]>
Commit-Queue: Kurt Catti-Schmidt <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1629010}
Copy link
Copy Markdown
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

@chromium-wpt-export-bot chromium-wpt-export-bot merged commit e564867 into master May 12, 2026
24 checks passed
@chromium-wpt-export-bot chromium-wpt-export-bot deleted the chromium-export-cl-7709812 branch May 12, 2026 06:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants