Bug 191466

Summary: CSS @imports in HTML missing quote marks are mistakenly hidden from the Preload Scanner
Product: WebKit Reporter: Harry Roberts <csswizardry>
Component: Page LoadingAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: beidson, colin, koivisto, simon.fraser, webkit-bug-importer, yoav
Priority: P2 Keywords: InRadar
Version: Safari 12   
Hardware: Unspecified   
OS: Unspecified   

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
<rdar://problem/46031271>
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.