Name Description Size
ImportMap.cpp 26963
ImportMap.h A helper class to report warning to ScriptLoaderInterface. 4015
LoadContextBase.cpp 2059
LoadContextBase.h LoadContextBase LoadContexts augment the loading of a ScriptLoadRequest. This class is used as a base for all LoadContexts, and provides shared functionality. 2177
LoadedScript.cpp 11962
LoadedScript.h 13770
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. 49438
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. 19753
ModuleLoadRequest.cpp static 8443
ModuleLoadRequest.h 5436
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. 3218
ScriptKind.h 515
ScriptLoadRequest.cpp 7367
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. 12152