JSON modules browser integration
Categories
(Core :: JavaScript Engine, enhancement, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox132 | --- | fixed |
People
(Reporter: jon4t4n, Assigned: jon4t4n)
References
(Blocks 2 open bugs)
Details
(Keywords: dev-doc-needed)
Attachments
(20 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 1•1 year ago
|
||
Updated•1 year ago
|
| Assignee | ||
Comment 2•1 year ago
|
||
The module maps (mFetchingModules and mFetchedModules) in
ModuleLoaderBase was previously only keyed by the URL and used the
nsURIHashKey hashtable key class. This is no longer sufficient, and the key
should also contain the module type.
This patch introduces a new hashtable key class called ModuleMapKey and
changes mFetchingModules and mFetchedModules to use the new key type.
To make this a bit easier to review, this first patch only introduces the new
key type and hard-codes the type to Javascript where the key is constructed.
The hard-corded module types will be fixed in later patches.
| Assignee | ||
Comment 3•1 year ago
|
||
| Assignee | ||
Comment 4•1 year ago
|
||
We need to change JSONFullParseHandler::reportError (when compiling JSON
modules), so that we create syntax errors with the required metadata attached
(line, column, filename).
Depends on D160386
| Assignee | ||
Comment 5•1 year ago
|
||
Depends on D204174
| Assignee | ||
Comment 6•1 year ago
|
||
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 7•1 year ago
|
||
| Assignee | ||
Comment 8•1 year ago
|
||
| Assignee | ||
Comment 9•1 year ago
|
||
We need to encode content_type by calling encodeURIComponent. Otherwise,
the plus sign is treated as a space.
| Assignee | ||
Comment 10•1 year ago
|
||
This patch is a small step towards the end goal, so we hardcoded the module
type to JS::ModuleType::JavaScript, but that will get changed in a later
patch.
| Assignee | ||
Comment 11•1 year ago
|
||
This patch gets rid of most hard-coded JS::ModuleType::JavaScript in
js/loader/ModuleLoaderBase.cpp. However, the module type is still hard-coded
when constructing the ModuleLoadRequest (will be addressed in a later patch).
| Assignee | ||
Comment 12•1 year ago
|
||
This patch adds the new parameter to the NewVisitedSetForTopLevelImport
method, but we hard-code the module type (which will be addressed in a later
patch)
| Assignee | ||
Comment 13•1 year ago
|
||
This patch adds a module type parameter to
ModuleLoaderBase::{CreateStaticImport,CreateDynamicImport}, and gets rid of a
bunch of hard-coded JS::ModuleType::JavaScript. However, the module type is
still hard-coded when we call CreateDynamicImport and CreateStaticImport.
| Assignee | ||
Comment 14•1 year ago
|
||
| Assignee | ||
Comment 15•1 year ago
|
||
| Assignee | ||
Comment 16•1 year ago
|
||
| Assignee | ||
Comment 17•1 year ago
|
||
Synthetic modules do not have a module private.
| Assignee | ||
Comment 18•1 year ago
|
||
Synthetic modules do not have any dependencies, so calling
GetRequestedModulesCount results in cash. This patch fixes this by making
ResolveRequestedModules return early for synthetic modules.
| Assignee | ||
Comment 19•1 year ago
|
||
Sync does not have GetModuleScript
| Assignee | ||
Comment 20•1 year ago
|
||
This is something we may want to investigate and implement, but it felt out of
scope for the initial implementation.
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 21•1 year ago
|
||
Updated•1 year ago
|
Comment 23•1 year ago
|
||
Backed out 20 changesets (Bug 1877792) for causing wpt failures at importscripts_mime_local.any.sharedworker.html
Backout: https://hg.mozilla.org/integration/autoland/rev/d3fc59306685de28fb32bbb0111b27564f4b43be
Failure logs:
https://treeherder.mozilla.org/logviewer?job_id=471367151&repo=autoland&lineNumber=2606
https://treeherder.mozilla.org/logviewer?job_id=471367172&repo=autoland&lineNumber=2607
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 25•1 year ago
|
||
Now, when the code freeze has been lifted, we can try to re-land these patches. Jon, can you queue this for landing again?
Updated•1 year ago
|
Comment 26•1 year ago
|
||
Comment 27•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/1de3f8d89dec
https://hg.mozilla.org/mozilla-central/rev/67c5323f1554
https://hg.mozilla.org/mozilla-central/rev/0c5bcdad91ed
https://hg.mozilla.org/mozilla-central/rev/579d484a8683
https://hg.mozilla.org/mozilla-central/rev/0e95f906a999
https://hg.mozilla.org/mozilla-central/rev/67b7056ae5db
https://hg.mozilla.org/mozilla-central/rev/f0e296342474
https://hg.mozilla.org/mozilla-central/rev/28035acf7788
https://hg.mozilla.org/mozilla-central/rev/b83c58b4a868
https://hg.mozilla.org/mozilla-central/rev/9b247d7d4dd3
https://hg.mozilla.org/mozilla-central/rev/eb947a73a97f
https://hg.mozilla.org/mozilla-central/rev/3457e8d54eb5
https://hg.mozilla.org/mozilla-central/rev/3fdcdf158eb7
https://hg.mozilla.org/mozilla-central/rev/a0db4567cf83
https://hg.mozilla.org/mozilla-central/rev/66c4ccedeecb
https://hg.mozilla.org/mozilla-central/rev/d99e07f9cbeb
https://hg.mozilla.org/mozilla-central/rev/c005e9f8e985
https://hg.mozilla.org/mozilla-central/rev/a6641dc244fa
https://hg.mozilla.org/mozilla-central/rev/cd4e9f2dfdae
https://hg.mozilla.org/mozilla-central/rev/b0bf3998767e
Comment 29•1 year ago
|
||
Is this something we should call out in the Fx132 relnotes?
| Assignee | ||
Comment 30•1 year ago
|
||
I don't know anything about how and when the release notes are handled, so I will defer to Dan here. That said, this is currently nightly only, and shipping is tracked under bug 1777526, so I don't think we want to mention this in the relnotes for Fx132.
Comment 31•1 year ago
|
||
Yes, I think we can wait on the release notes until bug 1777526, unless we normally call out experimental features like this, which I'm not sure we do.
Comment 32•1 year ago
|
||
We do have the ability to add Nightly-only release notes if you want to call it out there to encourage testing. Totally up to you, though.
Description
•