Bug 191466 - CSS @imports in HTML missing quote marks are mistakenly hidden from the Preload Scanner
Summary: CSS @imports in HTML missing quote marks are mistakenly hidden from the Prelo...
Alias: None
Product: WebKit
Classification: Unclassified
Component: Page Loading (show other bugs)
Version: Safari 12
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
Keywords: InRadar, WPTImpact
Depends on:
Reported: 2018-11-09 05:25 PST by Harry Roberts
Modified: 2023-03-05 21:50 PST (History)
7 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Harry Roberts 2018-11-09 05:25:20 PST
**Example URL:**

https://csswizardry.com/demos/2018/11/import/blocked-by-css.html OR https://csswizardry.com/demos/2018/11/import/blocked-by-js.html

**Steps to reproduce the problem:**

1. Have a page with a synchronous `<link rel="stylesheet" />` and/or synchronous `<script src="">` BEFORE an in-page `@import url(style.css)` that omits the optional quote marks.
2. Reload page with Network panel open
3. Note lack of parallelisation: files are serialised
4. Edit `@import url(style.css)` to be `@import url("style.css")` (note addition of quote marks)
5. Refresh and observe waterfall
6. Parallelisation!

**What is the expected behaviour?**

I would expect the Preload Scanner to identify the IMPORT regardless of the presence of quote marks

**What went wrong?**

The Preload Scanner isn’t noticing @import URLs that omit OPTIONAL quotes
Comment 1 Radar WebKit Bug Importer 2018-11-13 09:34:06 PST
Comment 2 Yoav Weiss 2018-11-19 04:44:35 PST
I'm currently fixing a similar (identical?) issue in Chromium's CSSPreloadScanner. Patch is up at https://chromium-review.googlesource.com/c/chromium/src/+/1331042/3

At the very least, the tests can be reused here.
Comment 5 Ahmad Saleem 2023-02-19 07:41:04 PST
PR - https://github.com/WebKit/WebKit/pull/10346
Comment 6 EWS 2023-03-05 21:50:26 PST
Committed 261254@main (6851ca14bf62): <https://commits.webkit.org/261254@main>

Reviewed commits have been landed. Closing PR #10346 and removing active labels.