Bug 194337 - nomodule scripts are fetched in some cases (with empty cache or in new tab)
Summary: nomodule scripts are fetched in some cases (with empty cache or in new tab)
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: DOM (show other bugs)
Version: Safari Technology Preview
Hardware: Mac macOS 10.13
: P2 Normal
Assignee: Yusuke Suzuki
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-02-06 02:36 PST by Jakub G (dailymotion)
Modified: 2020-01-23 01:52 PST (History)
17 users (show)

See Also:


Attachments
min repro HTML (702 bytes, text/html)
2019-02-06 02:36 PST, Jakub G (dailymotion)
no flags Details
Patch (6.57 KB, patch)
2020-01-22 18:05 PST, Yusuke Suzuki
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jakub G (dailymotion) 2019-02-06 02:36:16 PST
Created attachment 361285 [details]
min repro HTML

Repro:

0. Open Safari (any version, including 12 or TP74; preferably 11+ to have `performance.getEntries()`)
1. Empty the browser cache (alt-cmd-e), or open a new tab (cmd-t)
2. Load https://jg-testpage.github.io/es-modules/module-nomodule/safari.html (also attached to this bug)
3. Observe that `nomodule.js` is listed as one of the loaded resources.

Expected:

3. `nomodule` scripts should never be loaded in a modern browser.

Additional notes:

- Reproducible about 50% of the time in new tab
- Reproducible 100% of the time when when the cache is empty
- When there's no "traditional" script on top of HTML that has neither "nomodule" nor "type=module", I didn't repro (so far)

Other browsers

- Chrome: not affected
- Firefox: not affected
- Edge: affected, but it has bigger problems (it always loads nomodule)
Comment 1 Radar WebKit Bug Importer 2019-04-08 10:33:01 PDT
<rdar://problem/49700924>
Comment 2 Ryosuke Niwa 2019-04-09 16:59:52 PDT
This is probably an issue with the HTML preloader.
Comment 3 Yusuke Suzuki 2020-01-22 16:39:39 PST
This is related to preloader.
Comment 4 Yusuke Suzuki 2020-01-22 18:05:23 PST
Created attachment 388501 [details]
Patch
Comment 5 Yusuke Suzuki 2020-01-23 00:55:17 PST
Comment on attachment 388501 [details]
Patch

Thanks!
Comment 6 WebKit Commit Bot 2020-01-23 01:51:26 PST
The commit-queue encountered the following flaky tests while processing attachment 388501 [details]:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.
Comment 7 WebKit Commit Bot 2020-01-23 01:52:02 PST
Comment on attachment 388501 [details]
Patch

Clearing flags on attachment: 388501

Committed r254970: <https://trac.webkit.org/changeset/254970>
Comment 8 WebKit Commit Bot 2020-01-23 01:52:04 PST
All reviewed patches have been landed.  Closing bug.