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

Unified Diff: third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp

Issue 2811993007: Worker: Remove cross-thread PostTask functions from WorkerLoaderProxy (Closed)
Patch Set: address review comments Created 3 years, 8 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/ThreadableLoaderTest.cpp
diff --git a/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp b/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
index 614317a6315df8bad0fd97c92342850651fbb8ff..240f59d2ba1cfed80e7a70cfe6371670a95ecbec 100644
--- a/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
+++ b/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
@@ -181,7 +181,7 @@ class WorkerThreadableLoaderTestHelper : public ThreadableLoaderTestHelper,
CrossOriginRequestPolicy cross_origin_request_policy) override {
std::unique_ptr<WaitableEvent> completion_event =
WTF::MakeUnique<WaitableEvent>();
- PostTaskToWorkerGlobalScope(
+ worker_loading_task_runner_->PostTask(
BLINK_FROM_HERE,
CrossThreadBind(&WorkerThreadableLoaderTestHelper::WorkerCreateLoader,
CrossThreadUnretained(this),
@@ -194,7 +194,7 @@ class WorkerThreadableLoaderTestHelper : public ThreadableLoaderTestHelper,
void StartLoader(const ResourceRequest& request) override {
std::unique_ptr<WaitableEvent> completion_event =
WTF::MakeUnique<WaitableEvent>();
- PostTaskToWorkerGlobalScope(
+ worker_loading_task_runner_->PostTask(
BLINK_FROM_HERE,
CrossThreadBind(&WorkerThreadableLoaderTestHelper::WorkerStartLoader,
CrossThreadUnretained(this),
@@ -231,7 +231,7 @@ class WorkerThreadableLoaderTestHelper : public ThreadableLoaderTestHelper,
std::unique_ptr<WaitableEvent> completion_event =
WTF::MakeUnique<WaitableEvent>();
- PostTaskToWorkerGlobalScope(
+ worker_loading_task_runner_->PostTask(
BLINK_FROM_HERE,
CrossThreadBind(&WorkerThreadableLoaderTestHelper::WorkerCallCheckpoint,
CrossThreadUnretained(this),
@@ -252,17 +252,19 @@ class WorkerThreadableLoaderTestHelper : public ThreadableLoaderTestHelper,
"//fake source code",
parent_frame_task_runners_.Get());
worker_thread_->WaitForInit();
+ worker_loading_task_runner_ =
+ TaskRunnerHelper::Get(TaskType::kUnspecedLoading, worker_thread_.get());
}
void OnServeRequests() override { testing::RunPendingTasks(); }
void OnTearDown() override {
- PostTaskToWorkerGlobalScope(
+ worker_loading_task_runner_->PostTask(
BLINK_FROM_HERE,
CrossThreadBind(&WorkerThreadableLoaderTestHelper::ClearLoader,
CrossThreadUnretained(this)));
WaitableEvent event;
- PostTaskToWorkerGlobalScope(
+ worker_loading_task_runner_->PostTask(
BLINK_FROM_HERE,
CrossThreadBind(&WaitableEvent::Signal, CrossThreadUnretained(&event)));
event.Wait();
@@ -320,23 +322,6 @@ class WorkerThreadableLoaderTestHelper : public ThreadableLoaderTestHelper,
}
// WorkerLoaderProxyProvider methods.
- void PostTaskToLoader(
- const WebTraceLocation& location,
- std::unique_ptr<WTF::CrossThreadClosure> task) override {
- DCHECK(worker_thread_);
- DCHECK(worker_thread_->IsCurrentThread());
- parent_frame_task_runners_->Get(TaskType::kNetworking)
- ->PostTask(BLINK_FROM_HERE, std::move(task));
- }
-
- void PostTaskToWorkerGlobalScope(
- const WebTraceLocation& location,
- std::unique_ptr<WTF::CrossThreadClosure> task) override {
- DCHECK(worker_thread_);
- TaskRunnerHelper::Get(TaskType::kNetworking, worker_thread_.get())
- ->PostTask(location, std::move(task));
- }
-
ThreadableLoadingContext* GetThreadableLoadingContext() override {
return loading_context_.Get();
}
@@ -348,6 +333,7 @@ class WorkerThreadableLoaderTestHelper : public ThreadableLoaderTestHelper,
std::unique_ptr<DummyPageHolder> dummy_page_holder_;
// Accessed cross-thread when worker thread posts tasks to the parent.
CrossThreadPersistent<ParentFrameTaskRunners> parent_frame_task_runners_;
+ RefPtr<WebTaskRunner> worker_loading_task_runner_;
Checkpoint checkpoint_;
// |m_loader| must be touched only from the worker thread only.
CrossThreadPersistent<ThreadableLoader> loader_;

Powered by Google App Engine
This is Rietveld 408576698