ImportMap.cpp |
|
26963 |
ImportMap.h |
A helper class to report warning to ScriptLoaderInterface.
|
4015 |
LoadContextBase.cpp |
|
2249 |
LoadContextBase.h |
LoadContextBase
LoadContexts augment the loading of a ScriptLoadRequest. This class
is used as a base for all LoadContexts, and provides shared functionality.
|
2243 |
LoadedScript.cpp |
|
12120 |
LoadedScript.h |
|
14646 |
ModuleLoaderBase.cpp |
Implement the HostResolveImportedModule abstract operation.
Resolve a module specifier string and look this up in the module
map, returning the result. This is only called for previously
loaded modules and always succeeds.
@param aReferencingPrivate A JS::Value which is either undefined
or contains a LoadedScript private pointer.
@param aModuleRequest A module request object.
@returns module This is set to the module found.
|
51282 |
ModuleLoaderBase.h |
[DOMDOC] Shared Classic/Module Script Methods
The ScriptLoaderInterface defines the shared methods needed by both
ScriptLoaders (loading classic scripts) and ModuleLoaders (loading module
scripts). These include:
* Error Logging
* Generating the compile options
* Optional: Bytecode Encoding
ScriptLoaderInterface does not provide any implementations.
It enables the ModuleLoaderBase to reference back to the behavior implemented
by a given ScriptLoader.
Not all methods will be used by all ModuleLoaders. For example, Bytecode
Encoding does not apply to workers, as we only work with source text there.
Fully virtual methods are implemented by all.
|
21346 |
ModuleLoadRequest.cpp |
static |
8594 |
ModuleLoadRequest.h |
|
5624 |
moz.build |
|
787 |
ResolveResult.h |
ResolveResult is used to store the result of 'resolving a module specifier',
which could be an URI on success or a ResolveError on failure.
|
1793 |
ScriptFetchOptions.h |
ScriptFetchOptions loosely corresponds to HTML's "script fetch options",
https://html.spec.whatwg.org/multipage/webappapis.html#script-fetch-options
with the exception of the following properties:
integrity metadata
The integrity metadata used for the initial fetch. This is
implemented in ScriptLoadRequest, as it changes for every
ScriptLoadRequest.
referrerPolicy
For a module script, its referrerPolicy will be updated if there is a
HTTP Response 'REFERRER-POLICY' header, given this value may be different
for every ScriptLoadRequest, so we store it directly in
ScriptLoadRequest.
In the case of classic scripts without dynamic import, this object is
used once. For modules, this object is propogated throughout the module
tree. If there is a dynamically imported module in any type of script,
the ScriptFetchOptions object will be propogated from its importer.
|
3711 |
ScriptKind.h |
|
515 |
ScriptLoadRequest.cpp |
|
8344 |
ScriptLoadRequest.h |
ScriptLoadRequest
ScriptLoadRequest is a generic representation of a JavaScript script that
will be loaded by a Script/Module loader. This representation is used by the
DOM ScriptLoader and will be used by workers and MOZJSComponentLoader.
The ScriptLoadRequest contains information about the kind of script (classic
or module), the URI, and the ScriptFetchOptions associated with the script.
It is responsible for holding the script data once the fetch is complete, or
if the request is cached, the bytecode.
Relationship to ScriptLoadContext:
ScriptLoadRequest and ScriptLoadContexts have a circular pointer. A
ScriptLoadContext augments the loading of a ScriptLoadRequest by providing
additional information regarding the loading and evaluation behavior (see
the ScriptLoadContext class for details). In terms of responsibility,
the ScriptLoadRequest represents "What" is being loaded, and the
ScriptLoadContext represents "How".
TODO: see if we can use it in the jsshell script loader. We need to either
remove ISUPPORTS or find a way to encorporate that in the jsshell. We would
then only have one implementation of the script loader, and it would be
tested whenever jsshell tests are run. This would mean finding another way to
create ScriptLoadRequest lists.
|
13057 |