Commit 4b656fac authored by Gyuyoung Kim's avatar Gyuyoung Kim Committed by Commit Bot

OnionSoup: Remove all uses of Blink's WaitableEvent in WorkerSchedulerProxyTest

This CL replaces all uses of Blink's WaitableEvent with base::WaitableEvent
in worker_scheduler_proxy_unittests.cc. To remove all uses of it, this CL needs
change the type of |throtting_state_changed| from a reference to std::unique_ptr
in order to apply the initial arguments, because Blink's WaitableEvent has used
a different initial argument.

Bug: 919388
Change-Id: I0f24c94f0a59a04e691f02a5a7ac7d0c2595ac7d
Reviewed-on: https://chromium-review.googlesource.com/c/1481282Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Gyuyoung Kim <gyuyoung@igalia.com>
Cr-Commit-Position: refs/heads/master@{#634470}
parent fcfce88f
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include "third_party/blink/renderer/platform/scheduler/worker/worker_scheduler_proxy.h" #include "third_party/blink/renderer/platform/scheduler/worker/worker_scheduler_proxy.h"
#include "base/bind.h" #include "base/bind.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/synchronization/waitable_event.h"
#include "base/task/sequence_manager/test/sequence_manager_for_test.h" #include "base/task/sequence_manager/test/sequence_manager_for_test.h"
#include "base/test/scoped_task_environment.h" #include "base/test/scoped_task_environment.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
...@@ -15,7 +16,6 @@ ...@@ -15,7 +16,6 @@
#include "third_party/blink/renderer/platform/scheduler/public/worker_scheduler.h" #include "third_party/blink/renderer/platform/scheduler/public/worker_scheduler.h"
#include "third_party/blink/renderer/platform/scheduler/worker/worker_thread.h" #include "third_party/blink/renderer/platform/scheduler/worker/worker_thread.h"
#include "third_party/blink/renderer/platform/scheduler/worker/worker_thread_scheduler.h" #include "third_party/blink/renderer/platform/scheduler/worker/worker_thread_scheduler.h"
#include "third_party/blink/renderer/platform/waitable_event.h"
namespace blink { namespace blink {
namespace scheduler { namespace scheduler {
...@@ -27,7 +27,7 @@ class WorkerThreadSchedulerForTest : public WorkerThreadScheduler { ...@@ -27,7 +27,7 @@ class WorkerThreadSchedulerForTest : public WorkerThreadScheduler {
WorkerThreadSchedulerForTest( WorkerThreadSchedulerForTest(
std::unique_ptr<base::sequence_manager::SequenceManager> manager, std::unique_ptr<base::sequence_manager::SequenceManager> manager,
WorkerSchedulerProxy* proxy, WorkerSchedulerProxy* proxy,
WaitableEvent* throtting_state_changed) base::WaitableEvent* throtting_state_changed)
: WorkerThreadScheduler(WebThreadType::kTestThread, : WorkerThreadScheduler(WebThreadType::kTestThread,
std::move(manager), std::move(manager),
proxy), proxy),
...@@ -43,13 +43,13 @@ class WorkerThreadSchedulerForTest : public WorkerThreadScheduler { ...@@ -43,13 +43,13 @@ class WorkerThreadSchedulerForTest : public WorkerThreadScheduler {
using WorkerThreadScheduler::lifecycle_state; using WorkerThreadScheduler::lifecycle_state;
private: private:
WaitableEvent* throtting_state_changed_; base::WaitableEvent* throtting_state_changed_;
}; };
class WorkerThreadForTest : public WorkerThread { class WorkerThreadForTest : public WorkerThread {
public: public:
WorkerThreadForTest(FrameScheduler* frame_scheduler, WorkerThreadForTest(FrameScheduler* frame_scheduler,
WaitableEvent* throtting_state_changed) base::WaitableEvent* throtting_state_changed)
: WorkerThread(ThreadCreationParams(WebThreadType::kTestThread) : WorkerThread(ThreadCreationParams(WebThreadType::kTestThread)
.SetFrameOrWorkerScheduler(frame_scheduler)), .SetFrameOrWorkerScheduler(frame_scheduler)),
throtting_state_changed_(throtting_state_changed) {} throtting_state_changed_(throtting_state_changed) {}
...@@ -90,14 +90,14 @@ class WorkerThreadForTest : public WorkerThread { ...@@ -90,14 +90,14 @@ class WorkerThreadForTest : public WorkerThread {
WorkerThreadSchedulerForTest* GetWorkerScheduler() { return scheduler_; } WorkerThreadSchedulerForTest* GetWorkerScheduler() { return scheduler_; }
private: private:
WaitableEvent* throtting_state_changed_; // NOT OWNED base::WaitableEvent* throtting_state_changed_; // NOT OWNED
WorkerThreadSchedulerForTest* scheduler_ = nullptr; // NOT OWNED WorkerThreadSchedulerForTest* scheduler_ = nullptr; // NOT OWNED
std::unique_ptr<WorkerScheduler> worker_scheduler_ = nullptr; std::unique_ptr<WorkerScheduler> worker_scheduler_ = nullptr;
}; };
std::unique_ptr<WorkerThreadForTest> CreateWorkerThread( std::unique_ptr<WorkerThreadForTest> CreateWorkerThread(
FrameScheduler* frame_scheduler, FrameScheduler* frame_scheduler,
WaitableEvent* throtting_state_changed) { base::WaitableEvent* throtting_state_changed) {
auto thread = std::make_unique<WorkerThreadForTest>(frame_scheduler, auto thread = std::make_unique<WorkerThreadForTest>(frame_scheduler,
throtting_state_changed); throtting_state_changed);
thread->Init(); thread->Init();
...@@ -144,7 +144,9 @@ class WorkerSchedulerProxyTest : public testing::Test { ...@@ -144,7 +144,9 @@ class WorkerSchedulerProxyTest : public testing::Test {
}; };
TEST_F(WorkerSchedulerProxyTest, VisibilitySignalReceived) { TEST_F(WorkerSchedulerProxyTest, VisibilitySignalReceived) {
WaitableEvent throtting_state_changed; base::WaitableEvent throtting_state_changed(
base::WaitableEvent::ResetPolicy::AUTOMATIC,
base::WaitableEvent::InitialState::NOT_SIGNALED);
auto worker_thread = auto worker_thread =
CreateWorkerThread(frame_scheduler_.get(), &throtting_state_changed); CreateWorkerThread(frame_scheduler_.get(), &throtting_state_changed);
...@@ -174,7 +176,9 @@ TEST_F(WorkerSchedulerProxyTest, VisibilitySignalReceived) { ...@@ -174,7 +176,9 @@ TEST_F(WorkerSchedulerProxyTest, VisibilitySignalReceived) {
// Tests below check that no crashes occur during different shutdown sequences. // Tests below check that no crashes occur during different shutdown sequences.
TEST_F(WorkerSchedulerProxyTest, FrameSchedulerDestroyed) { TEST_F(WorkerSchedulerProxyTest, FrameSchedulerDestroyed) {
WaitableEvent throtting_state_changed; base::WaitableEvent throtting_state_changed(
base::WaitableEvent::ResetPolicy::AUTOMATIC,
base::WaitableEvent::InitialState::NOT_SIGNALED);
auto worker_thread = auto worker_thread =
CreateWorkerThread(frame_scheduler_.get(), &throtting_state_changed); CreateWorkerThread(frame_scheduler_.get(), &throtting_state_changed);
...@@ -195,7 +199,9 @@ TEST_F(WorkerSchedulerProxyTest, FrameSchedulerDestroyed) { ...@@ -195,7 +199,9 @@ TEST_F(WorkerSchedulerProxyTest, FrameSchedulerDestroyed) {
} }
TEST_F(WorkerSchedulerProxyTest, ThreadDestroyed) { TEST_F(WorkerSchedulerProxyTest, ThreadDestroyed) {
WaitableEvent throtting_state_changed; base::WaitableEvent throtting_state_changed(
base::WaitableEvent::ResetPolicy::AUTOMATIC,
base::WaitableEvent::InitialState::NOT_SIGNALED);
auto worker_thread = auto worker_thread =
CreateWorkerThread(frame_scheduler_.get(), &throtting_state_changed); CreateWorkerThread(frame_scheduler_.get(), &throtting_state_changed);
......
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