Skip to content

Commit

Permalink
Make ModulatorImpl execution-context-agnostic
Browse files Browse the repository at this point in the history
This CL enables Worklet to reuse ModulatorImpl for its script loading.

This is split from https://codereview.chromium.org/2826313003/

BUG=627945

Review-Url: https://codereview.chromium.org/2865003002
Cr-Commit-Position: refs/heads/master@{#469924}
  • Loading branch information
nhiroki authored and Commit bot committed May 8, 2017
1 parent 31756b9 commit 32ad656
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 12 deletions.
2 changes: 1 addition & 1 deletion third_party/WebKit/Source/core/dom/Modulator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Modulator* Modulator::From(ScriptState* script_state) {
static_cast<Modulator*>(per_context_data->GetData(kPerContextDataKey));
if (!modulator) {
if (Document* document = ToDocument(ExecutionContext::From(script_state))) {
modulator = ModulatorImpl::Create(script_state, *document);
modulator = ModulatorImpl::Create(script_state, document->Fetcher());
Modulator::SetModulator(script_state, modulator);
}
}
Expand Down
12 changes: 4 additions & 8 deletions third_party/WebKit/Source/core/dom/ModulatorImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

#include "core/dom/ModulatorImpl.h"

#include "core/dom/Document.h"
#include "core/dom/ExecutionContext.h"
#include "core/dom/ModuleMap.h"
#include "core/dom/ModuleScript.h"
Expand All @@ -19,18 +18,15 @@
namespace blink {

ModulatorImpl* ModulatorImpl::Create(RefPtr<ScriptState> script_state,
Document& document) {
return new ModulatorImpl(
std::move(script_state),
TaskRunnerHelper::Get(TaskType::kNetworking, &document),
document.Fetcher());
ResourceFetcher* resource_fetcher) {
return new ModulatorImpl(std::move(script_state), resource_fetcher);
}

ModulatorImpl::ModulatorImpl(RefPtr<ScriptState> script_state,
RefPtr<WebTaskRunner> task_runner,
ResourceFetcher* fetcher)
: script_state_(std::move(script_state)),
task_runner_(std::move(task_runner)),
task_runner_(
TaskRunnerHelper::Get(TaskType::kNetworking, script_state_.Get())),
fetcher_(fetcher),
map_(this, ModuleMap::Create(this)),
loader_registry_(ModuleScriptLoaderRegistry::Create()),
Expand Down
5 changes: 2 additions & 3 deletions third_party/WebKit/Source/core/dom/ModulatorImpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@

namespace blink {

class Document;
class ExecutionContext;
class ModuleMap;
class ModuleScriptLoaderRegistry;
Expand All @@ -29,7 +28,7 @@ class WebTaskRunner;
// components together.
class ModulatorImpl final : public Modulator {
public:
static ModulatorImpl* Create(RefPtr<ScriptState>, Document&);
static ModulatorImpl* Create(RefPtr<ScriptState>, ResourceFetcher*);

virtual ~ModulatorImpl();
DECLARE_TRACE();
Expand Down Expand Up @@ -67,7 +66,7 @@ class ModulatorImpl final : public Modulator {
Vector<String> ModuleRequestsFromScriptModule(ScriptModule) override;
void ExecuteModule(const ModuleScript*) override;

ModulatorImpl(RefPtr<ScriptState>, RefPtr<WebTaskRunner>, ResourceFetcher*);
ModulatorImpl(RefPtr<ScriptState>, ResourceFetcher*);

ExecutionContext* GetExecutionContext() const;

Expand Down

0 comments on commit 32ad656

Please sign in to comment.