Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(684)

Unified Diff: third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.h

Issue 2939773005: [POC] Implement "module responses map" concept (Closed)
Patch Set: rebase Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.h
diff --git a/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.h b/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.h
index d10a232a324f01bea9d60241347c15402dc0e4c2..f9a224d64044d84f0eadc73ee4616a770c0ed2ba 100644
--- a/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.h
+++ b/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.h
@@ -6,10 +6,10 @@
#define ModuleScriptLoader_h
#include "core/CoreExport.h"
+#include "core/loader/modulescript/ModuleScriptCreationParams.h"
#include "core/loader/modulescript/ModuleScriptFetchRequest.h"
-#include "core/loader/resource/ScriptResource.h"
+#include "core/loader/modulescript/ModuleScriptFetcher.h"
#include "platform/heap/Handle.h"
-#include "platform/loader/fetch/ResourceOwner.h"
#include "platform/weborigin/KURL.h"
#include "public/platform/WebURLRequest.h"
@@ -19,6 +19,7 @@ class Modulator;
class ModuleScript;
class ModuleScriptLoaderClient;
class ModuleScriptLoaderRegistry;
+class ScriptResource;
enum class ModuleGraphLevel;
// A ModuleScriptLoader is responsible for loading a new single ModuleScript.
@@ -30,10 +31,8 @@ enum class ModuleGraphLevel;
//
// ModuleScriptLoader(s) should only be used via Modulator and its ModuleMap.
class CORE_EXPORT ModuleScriptLoader final
- : public GarbageCollectedFinalized<ModuleScriptLoader>,
- public ResourceOwner<ScriptResource> {
+ : public GarbageCollectedFinalized<ModuleScriptLoader> {
WTF_MAKE_NONCOPYABLE(ModuleScriptLoader);
- USING_GARBAGE_COLLECTED_MIXIN(ModuleScriptLoader);
enum class State {
kInitial,
@@ -51,13 +50,14 @@ class CORE_EXPORT ModuleScriptLoader final
return new ModuleScriptLoader(modulator, registry, client);
}
- ~ModuleScriptLoader() override;
+ ~ModuleScriptLoader();
- // Note: fetch may notify |m_client| synchronously or asynchronously.
void Fetch(const ModuleScriptFetchRequest&,
ResourceFetcher*,
ModuleGraphLevel);
+ void NotifyFetchFinished(WTF::Optional<ModuleScriptCreationParams>);
+
bool IsInitialState() const { return state_ == State::kInitial; }
bool HasFinished() const { return state_ == State::kFinished; }
@@ -73,10 +73,6 @@ class CORE_EXPORT ModuleScriptLoader final
static const char* StateToString(State);
#endif
- // Implements ScriptResourceClient
- void NotifyFinished(Resource*) override;
- String DebugName() const override { return "ModuleScriptLoader"; }
-
Member<Modulator> modulator_;
State state_ = State::kInitial;
String nonce_;
@@ -84,6 +80,7 @@ class CORE_EXPORT ModuleScriptLoader final
Member<ModuleScript> module_script_;
Member<ModuleScriptLoaderRegistry> registry_;
Member<ModuleScriptLoaderClient> client_;
+ Member<ModuleScriptFetcher> module_fetcher_;
#if DCHECK_IS_ON()
KURL url_;
#endif

Powered by Google App Engine
This is Rietveld 408576698