Skip to content

[css-values] "fetch a style resource" should fall back to the CSSStyleSheet's location #12068

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
AtkinsSJ opened this issue Apr 11, 2025 · 2 comments

Comments

@AtkinsSJ
Copy link
Contributor

In step 2 of "fetch a style resource" we have:

Let base be sheet’s stylesheet base URL if it is not null, otherwise environmentSettings’s API base URL. [CSSOM]

However, only stylesheets constructed from JS have a base URL set. For those that don't, I believe we should fall back to sheet's location, and only afterwards use the API base URL. As an example:

index.html

<!DOCTYPE html>
<style>
     @import url("data/sheet.css");
</style>
<div id="checkerboard"></div>

data/sheet.css

#checkerboard {
    background: url("image.png");
}

With the current algorithm, sheet has no base URL, so it would fall back to the API base URL, which is the document's location. It would thus try to load image.png instead of data/image.png. Inserting the sheet's location as a fallback means that it would load relative to data/sheet.css, and so get data/image.png.

@weinig
Copy link
Contributor

weinig commented Apr 15, 2025

cc @fantasai, @tabatkins, @noamr, @annevk

@noamr
Copy link
Collaborator

noamr commented Apr 17, 2025

Makes sense, Happy to fix this once #12074 is merged (will do an overhaul of a few of these bugs in one go)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants