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)
script_promise_resolver_(ScriptPromiseResolver::Create(script_state)),
buffer_(WebClipboard::kBufferStandard) {}
WebTaskRunner* ClipboardPromise::GetTaskRunner() {
RefPtr<WebTaskRunner> ClipboardPromise::GetTaskRunner() {
// TODO(garykac): Replace MiscPlatformAPI with TaskType specific to clipboard.
return TaskRunnerHelper::Get(TaskType::kMiscPlatformAPI,
GetExecutionContext())
.get();
GetExecutionContext());
}
// TODO(garykac): This currently only handles plain text.
......
......@@ -34,7 +34,7 @@ class ClipboardPromise final
private:
ClipboardPromise(ScriptState*);
WebTaskRunner* GetTaskRunner();
RefPtr<WebTaskRunner> GetTaskRunner();
void HandleRead();
void HandleReadText();
......
......@@ -1091,7 +1091,7 @@ TextCheckerClient& LocalFrameClientImpl::GetTextCheckerClient() const {
std::unique_ptr<blink::WebURLLoader> LocalFrameClientImpl::CreateURLLoader(
const ResourceRequest& request,
WebTaskRunner* task_runner) {
RefPtr<WebTaskRunner> task_runner) {
WrappedResourceRequest wrapped(request);
return web_frame_->CreateURLLoader(wrapped,
task_runner->ToSingleThreadTaskRunner());
......
......@@ -235,7 +235,7 @@ class LocalFrameClientImpl final : public LocalFrameClient {
TextCheckerClient& GetTextCheckerClient() const override;
std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
WebTaskRunner*) override;
RefPtr<WebTaskRunner>) override;
service_manager::InterfaceProvider* GetInterfaceProvider() override;
......
......@@ -1089,8 +1089,8 @@ void LocalFrame::MaybeAllowImagePlaceholder(FetchParameters& params) const {
std::unique_ptr<WebURLLoader> LocalFrame::CreateURLLoader(
const ResourceRequest& request,
WebTaskRunner* task_runner) {
return Client()->CreateURLLoader(request, task_runner);
RefPtr<WebTaskRunner> task_runner) {
return Client()->CreateURLLoader(request, std::move(task_runner));
}
WebPluginContainerImpl* LocalFrame::GetWebPluginContainer(Node* node) const {
......
......@@ -251,7 +251,7 @@ class CORE_EXPORT LocalFrame final : public Frame,
void MaybeAllowImagePlaceholder(FetchParameters&) const;
std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
WebTaskRunner*);
RefPtr<WebTaskRunner>);
bool IsInert() const { return is_inert_; }
......
......@@ -354,8 +354,9 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
virtual TextCheckerClient& GetTextCheckerClient() const = 0;
virtual std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
WebTaskRunner*) = 0;
virtual std::unique_ptr<WebURLLoader> CreateURLLoader(
const ResourceRequest&,
RefPtr<WebTaskRunner>) = 0;
virtual void AnnotatedRegionsChanged() = 0;
......
......@@ -366,7 +366,7 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
TextCheckerClient& GetTextCheckerClient() const override;
std::unique_ptr<WebURLLoader> CreateURLLoader(
const ResourceRequest& request,
WebTaskRunner* task_runner) override {
RefPtr<WebTaskRunner> task_runner) override {
// TODO(yhirano): Stop using Platform::CreateURLLoader() here.
WrappedResourceRequest wrapped(request);
return Platform::Current()->CreateURLLoader(
......
......@@ -1155,7 +1155,7 @@ void FrameFetchContext::ParseAndPersistClientHints(
std::unique_ptr<WebURLLoader> FrameFetchContext::CreateURLLoader(
const ResourceRequest& request,
WebTaskRunner* task_runner) {
RefPtr<WebTaskRunner> task_runner) {
DCHECK(!IsDetached());
if (MasterDocumentLoader()->GetServiceWorkerNetworkProvider()) {
WrappedResourceRequest webreq(request);
......
......@@ -153,7 +153,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext {
MHTMLArchive* Archive() const override;
std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
WebTaskRunner*) override;
RefPtr<WebTaskRunner>) override;
bool IsDetached() const override { return frozen_state_; }
......
......@@ -217,7 +217,7 @@ SecurityOrigin* WorkerFetchContext::GetSecurityOrigin() const {
std::unique_ptr<WebURLLoader> WorkerFetchContext::CreateURLLoader(
const ResourceRequest& request,
WebTaskRunner* task_runner) {
RefPtr<WebTaskRunner> task_runner) {
CountUsage(WebFeature::kOffMainThreadFetch);
WrappedResourceRequest wrapped(request);
return web_context_->CreateURLLoader(wrapped,
......
......@@ -65,7 +65,7 @@ class WorkerFetchContext final : public BaseFetchContext {
// FetchContext implementation:
SecurityOrigin* GetSecurityOrigin() const override;
std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
WebTaskRunner*) override;
RefPtr<WebTaskRunner>) override;
void PrepareRequest(ResourceRequest&, RedirectType) override;
bool IsControlledByServiceWorker() const override;
int ApplicationCacheHostID() const override;
......
......@@ -217,7 +217,7 @@ class PLATFORM_EXPORT FetchContext
}
virtual std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
WebTaskRunner*) {
RefPtr<WebTaskRunner>) {
NOTREACHED();
return nullptr;
}
......
......@@ -55,10 +55,10 @@
namespace blink {
static WebTaskRunner* GetTaskRunnerFor(const ResourceRequest& request,
FetchContext& context) {
static RefPtr<WebTaskRunner> GetTaskRunnerFor(const ResourceRequest& request,
FetchContext& context) {
if (!request.GetKeepalive())
return context.GetLoadingTaskRunner().get();
return context.GetLoadingTaskRunner();
// The loader should be able to work after the frame destruction, so we
// cannot use the task runner associated with the frame.
return Platform::Current()->CurrentThread()->Scheduler()->LoadingTaskRunner();
......
......@@ -81,7 +81,7 @@ class MockFetchContext : public FetchContext {
std::unique_ptr<WebURLLoader> CreateURLLoader(
const ResourceRequest& request,
WebTaskRunner* task_runner) override {
RefPtr<WebTaskRunner> task_runner) override {
WrappedResourceRequest wrapped(request);
return Platform::Current()->CreateURLLoader(
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