Index: third_party/WebKit/Source/core/dom/Modulator.h |
diff --git a/third_party/WebKit/Source/core/dom/Modulator.h b/third_party/WebKit/Source/core/dom/Modulator.h |
index b86fc7ca1b81a05a4aa290ab64f3aac1b02bf282..c4909b1635b023ef79dc8dbdf3b1c3e21be1eb4e 100644 |
--- a/third_party/WebKit/Source/core/dom/Modulator.h |
+++ b/third_party/WebKit/Source/core/dom/Modulator.h |
@@ -5,6 +5,7 @@ |
#ifndef Modulator_h |
#define Modulator_h |
+#include "bindings/core/v8/ScriptWrappable.h" |
#include "bindings/core/v8/V8PerContextData.h" |
#include "core/CoreExport.h" |
#include "platform/heap/Handle.h" |
@@ -21,6 +22,7 @@ class ModuleScriptLoaderClient; |
class ScriptModule; |
class ScriptModuleResolver; |
class ScriptState; |
+class ScriptValue; |
class SecurityOrigin; |
class WebTaskRunner; |
@@ -42,7 +44,8 @@ enum class ModuleGraphLevel { kTopLevelModuleFetch, kDependentModuleFetch }; |
// |
// A Modulator also serves as an entry point for various module spec algorithms. |
class CORE_EXPORT Modulator : public GarbageCollectedFinalized<Modulator>, |
- public V8PerContextData::Data { |
+ public V8PerContextData::Data, |
+ public TraceWrapperBase { |
USING_GARBAGE_COLLECTED_MIXIN(Modulator); |
public: |
@@ -59,6 +62,10 @@ class CORE_EXPORT Modulator : public GarbageCollectedFinalized<Modulator>, |
virtual ReferrerPolicy GetReferrerPolicy() = 0; |
virtual SecurityOrigin* GetSecurityOrigin() = 0; |
+ // Synchronously retrieves a single module script from existing module map |
+ // entry. |
+ virtual ModuleScript* GetFetchedModuleScript(const KURL&) = 0; |
+ |
// https://html.spec.whatwg.org/#resolve-a-module-specifier |
static KURL ResolveModuleSpecifier(const String& module_request, |
const KURL& base_url); |
@@ -67,6 +74,12 @@ class CORE_EXPORT Modulator : public GarbageCollectedFinalized<Modulator>, |
const String& url_str, |
AccessControlStatus) = 0; |
+ virtual ScriptValue InstantiateModule(ScriptModule) = 0; |
+ |
+ virtual Vector<String> ModuleRequestsFromScriptModule(ScriptModule) = 0; |
+ |
+ virtual void ExecuteModule(ScriptModule) = 0; |
+ |
private: |
friend class ModuleMap; |