Commit 8e3d8489 authored by Hajime Hoshi's avatar Hajime Hoshi Committed by Commit Bot

Replace WebTaskRunner* with RefPtr<WebTaskRunner>

This CL is a preparation for the change that WebTaskRunnerImpl will
always be created for each call of WebFrameSchedulerImpl::
*TaskRunner(). This CL replaces WebTaskRunner* with
RefPtr<WebTaskRunner>.

This is part of the big CL for changing WebFrameSchedulerImpl::
*TaskRunner() to create WebTaskRunnerImpl anytime:
https://chromium-review.googlesource.com/c/chromium/src/+/704459

Bug: 762453
Change-Id: Iad2b4ae62bbc73d5c20a90c79c2a1fc947bbd3cc
Reviewed-on: https://chromium-review.googlesource.com/722861
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Reviewed-by: default avatarAlexander Timin <altimin@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarTakeshi Yoshino <tyoshino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509701}
parent 4e020173
...@@ -56,11 +56,10 @@ ClipboardPromise::ClipboardPromise(ScriptState* script_state) ...@@ -56,11 +56,10 @@ ClipboardPromise::ClipboardPromise(ScriptState* script_state)
script_promise_resolver_(ScriptPromiseResolver::Create(script_state)), script_promise_resolver_(ScriptPromiseResolver::Create(script_state)),
buffer_(WebClipboard::kBufferStandard) {} buffer_(WebClipboard::kBufferStandard) {}
WebTaskRunner* ClipboardPromise::GetTaskRunner() { RefPtr<WebTaskRunner> ClipboardPromise::GetTaskRunner() {
// TODO(garykac): Replace MiscPlatformAPI with TaskType specific to clipboard. // TODO(garykac): Replace MiscPlatformAPI with TaskType specific to clipboard.
return TaskRunnerHelper::Get(TaskType::kMiscPlatformAPI, return TaskRunnerHelper::Get(TaskType::kMiscPlatformAPI,
GetExecutionContext()) GetExecutionContext());
.get();
} }
// TODO(garykac): This currently only handles plain text. // TODO(garykac): This currently only handles plain text.
......
...@@ -34,7 +34,7 @@ class ClipboardPromise final ...@@ -34,7 +34,7 @@ class ClipboardPromise final
private: private:
ClipboardPromise(ScriptState*); ClipboardPromise(ScriptState*);
WebTaskRunner* GetTaskRunner(); RefPtr<WebTaskRunner> GetTaskRunner();
void HandleRead(); void HandleRead();
void HandleReadText(); void HandleReadText();
......
...@@ -1091,7 +1091,7 @@ TextCheckerClient& LocalFrameClientImpl::GetTextCheckerClient() const { ...@@ -1091,7 +1091,7 @@ TextCheckerClient& LocalFrameClientImpl::GetTextCheckerClient() const {
std::unique_ptr<blink::WebURLLoader> LocalFrameClientImpl::CreateURLLoader( std::unique_ptr<blink::WebURLLoader> LocalFrameClientImpl::CreateURLLoader(
const ResourceRequest& request, const ResourceRequest& request,
WebTaskRunner* task_runner) { RefPtr<WebTaskRunner> task_runner) {
WrappedResourceRequest wrapped(request); WrappedResourceRequest wrapped(request);
return web_frame_->CreateURLLoader(wrapped, return web_frame_->CreateURLLoader(wrapped,
task_runner->ToSingleThreadTaskRunner()); task_runner->ToSingleThreadTaskRunner());
......
...@@ -235,7 +235,7 @@ class LocalFrameClientImpl final : public LocalFrameClient { ...@@ -235,7 +235,7 @@ class LocalFrameClientImpl final : public LocalFrameClient {
TextCheckerClient& GetTextCheckerClient() const override; TextCheckerClient& GetTextCheckerClient() const override;
std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&, std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
WebTaskRunner*) override; RefPtr<WebTaskRunner>) override;
service_manager::InterfaceProvider* GetInterfaceProvider() override; service_manager::InterfaceProvider* GetInterfaceProvider() override;
......
...@@ -1089,8 +1089,8 @@ void LocalFrame::MaybeAllowImagePlaceholder(FetchParameters& params) const { ...@@ -1089,8 +1089,8 @@ void LocalFrame::MaybeAllowImagePlaceholder(FetchParameters& params) const {
std::unique_ptr<WebURLLoader> LocalFrame::CreateURLLoader( std::unique_ptr<WebURLLoader> LocalFrame::CreateURLLoader(
const ResourceRequest& request, const ResourceRequest& request,
WebTaskRunner* task_runner) { RefPtr<WebTaskRunner> task_runner) {
return Client()->CreateURLLoader(request, task_runner); return Client()->CreateURLLoader(request, std::move(task_runner));
} }
WebPluginContainerImpl* LocalFrame::GetWebPluginContainer(Node* node) const { WebPluginContainerImpl* LocalFrame::GetWebPluginContainer(Node* node) const {
......
...@@ -251,7 +251,7 @@ class CORE_EXPORT LocalFrame final : public Frame, ...@@ -251,7 +251,7 @@ class CORE_EXPORT LocalFrame final : public Frame,
void MaybeAllowImagePlaceholder(FetchParameters&) const; void MaybeAllowImagePlaceholder(FetchParameters&) const;
std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&, std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
WebTaskRunner*); RefPtr<WebTaskRunner>);
bool IsInert() const { return is_inert_; } bool IsInert() const { return is_inert_; }
......
...@@ -354,8 +354,9 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { ...@@ -354,8 +354,9 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
virtual TextCheckerClient& GetTextCheckerClient() const = 0; virtual TextCheckerClient& GetTextCheckerClient() const = 0;
virtual std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&, virtual std::unique_ptr<WebURLLoader> CreateURLLoader(
WebTaskRunner*) = 0; const ResourceRequest&,
RefPtr<WebTaskRunner>) = 0;
virtual void AnnotatedRegionsChanged() = 0; virtual void AnnotatedRegionsChanged() = 0;
......
...@@ -366,7 +366,7 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { ...@@ -366,7 +366,7 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
TextCheckerClient& GetTextCheckerClient() const override; TextCheckerClient& GetTextCheckerClient() const override;
std::unique_ptr<WebURLLoader> CreateURLLoader( std::unique_ptr<WebURLLoader> CreateURLLoader(
const ResourceRequest& request, const ResourceRequest& request,
WebTaskRunner* task_runner) override { RefPtr<WebTaskRunner> task_runner) override {
// TODO(yhirano): Stop using Platform::CreateURLLoader() here. // TODO(yhirano): Stop using Platform::CreateURLLoader() here.
WrappedResourceRequest wrapped(request); WrappedResourceRequest wrapped(request);
return Platform::Current()->CreateURLLoader( return Platform::Current()->CreateURLLoader(
......
...@@ -1155,7 +1155,7 @@ void FrameFetchContext::ParseAndPersistClientHints( ...@@ -1155,7 +1155,7 @@ void FrameFetchContext::ParseAndPersistClientHints(
std::unique_ptr<WebURLLoader> FrameFetchContext::CreateURLLoader( std::unique_ptr<WebURLLoader> FrameFetchContext::CreateURLLoader(
const ResourceRequest& request, const ResourceRequest& request,
WebTaskRunner* task_runner) { RefPtr<WebTaskRunner> task_runner) {
DCHECK(!IsDetached()); DCHECK(!IsDetached());
if (MasterDocumentLoader()->GetServiceWorkerNetworkProvider()) { if (MasterDocumentLoader()->GetServiceWorkerNetworkProvider()) {
WrappedResourceRequest webreq(request); WrappedResourceRequest webreq(request);
......
...@@ -153,7 +153,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext { ...@@ -153,7 +153,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext {
MHTMLArchive* Archive() const override; MHTMLArchive* Archive() const override;
std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&, std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
WebTaskRunner*) override; RefPtr<WebTaskRunner>) override;
bool IsDetached() const override { return frozen_state_; } bool IsDetached() const override { return frozen_state_; }
......
...@@ -217,7 +217,7 @@ SecurityOrigin* WorkerFetchContext::GetSecurityOrigin() const { ...@@ -217,7 +217,7 @@ SecurityOrigin* WorkerFetchContext::GetSecurityOrigin() const {
std::unique_ptr<WebURLLoader> WorkerFetchContext::CreateURLLoader( std::unique_ptr<WebURLLoader> WorkerFetchContext::CreateURLLoader(
const ResourceRequest& request, const ResourceRequest& request,
WebTaskRunner* task_runner) { RefPtr<WebTaskRunner> task_runner) {
CountUsage(WebFeature::kOffMainThreadFetch); CountUsage(WebFeature::kOffMainThreadFetch);
WrappedResourceRequest wrapped(request); WrappedResourceRequest wrapped(request);
return web_context_->CreateURLLoader(wrapped, return web_context_->CreateURLLoader(wrapped,
......
...@@ -65,7 +65,7 @@ class WorkerFetchContext final : public BaseFetchContext { ...@@ -65,7 +65,7 @@ class WorkerFetchContext final : public BaseFetchContext {
// FetchContext implementation: // FetchContext implementation:
SecurityOrigin* GetSecurityOrigin() const override; SecurityOrigin* GetSecurityOrigin() const override;
std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&, std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
WebTaskRunner*) override; RefPtr<WebTaskRunner>) override;
void PrepareRequest(ResourceRequest&, RedirectType) override; void PrepareRequest(ResourceRequest&, RedirectType) override;
bool IsControlledByServiceWorker() const override; bool IsControlledByServiceWorker() const override;
int ApplicationCacheHostID() const override; int ApplicationCacheHostID() const override;
......
...@@ -217,7 +217,7 @@ class PLATFORM_EXPORT FetchContext ...@@ -217,7 +217,7 @@ class PLATFORM_EXPORT FetchContext
} }
virtual std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&, virtual std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
WebTaskRunner*) { RefPtr<WebTaskRunner>) {
NOTREACHED(); NOTREACHED();
return nullptr; return nullptr;
} }
......
...@@ -55,10 +55,10 @@ ...@@ -55,10 +55,10 @@
namespace blink { namespace blink {
static WebTaskRunner* GetTaskRunnerFor(const ResourceRequest& request, static RefPtr<WebTaskRunner> GetTaskRunnerFor(const ResourceRequest& request,
FetchContext& context) { FetchContext& context) {
if (!request.GetKeepalive()) if (!request.GetKeepalive())
return context.GetLoadingTaskRunner().get(); return context.GetLoadingTaskRunner();
// The loader should be able to work after the frame destruction, so we // The loader should be able to work after the frame destruction, so we
// cannot use the task runner associated with the frame. // cannot use the task runner associated with the frame.
return Platform::Current()->CurrentThread()->Scheduler()->LoadingTaskRunner(); return Platform::Current()->CurrentThread()->Scheduler()->LoadingTaskRunner();
......
...@@ -81,7 +81,7 @@ class MockFetchContext : public FetchContext { ...@@ -81,7 +81,7 @@ class MockFetchContext : public FetchContext {
std::unique_ptr<WebURLLoader> CreateURLLoader( std::unique_ptr<WebURLLoader> CreateURLLoader(
const ResourceRequest& request, const ResourceRequest& request,
WebTaskRunner* task_runner) override { RefPtr<WebTaskRunner> task_runner) override {
WrappedResourceRequest wrapped(request); WrappedResourceRequest wrapped(request);
return Platform::Current()->CreateURLLoader( return Platform::Current()->CreateURLLoader(
wrapped, task_runner->ToSingleThreadTaskRunner()); wrapped, task_runner->ToSingleThreadTaskRunner());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment