Index: media/blink/run_all_unittests.cc |
diff --git a/media/blink/run_all_unittests.cc b/media/blink/run_all_unittests.cc |
index 6ee49b50da5a1451ee9190db099ca84ce972103a..d84a1af06f15510ba62340eb25a07dba4f5985f6 100644 |
--- a/media/blink/run_all_unittests.cc |
+++ b/media/blink/run_all_unittests.cc |
@@ -7,6 +7,11 @@ |
#include "base/test/launcher/unit_test_launcher.h" |
#include "base/test/test_suite.h" |
#include "build/build_config.h" |
+#include "components/scheduler/child/scheduler_task_runner_delegate_impl.h" |
+#include "components/scheduler/child/web_task_runner_impl.h" |
+#include "components/scheduler/renderer/renderer_scheduler_impl.h" |
+#include "components/scheduler/renderer/renderer_web_scheduler_impl.h" |
+#include "components/scheduler/test/lazy_scheduler_message_loop_delegate_for_tests.h" |
#include "media/base/media.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "third_party/WebKit/public/platform/WebScheduler.h" |
@@ -24,53 +29,38 @@ |
#include "gin/v8_initializer.h" |
#endif |
-class SimpleWebTaskRunner : public blink::WebTaskRunner { |
- public: |
- void postTask(const blink::WebTraceLocation& ignored, Task* task) override { |
- base::MessageLoop::current()->PostTask(FROM_HERE, base::Bind(&RunIt, task)); |
- } |
- |
- void postDelayedTask(const blink::WebTraceLocation&, |
- Task* task, |
- long long delayMs) override { |
- base::MessageLoop::current()->PostDelayedTask( |
- FROM_HERE, base::Bind(&RunIt, base::Owned(task)), |
- base::TimeDelta::FromMilliseconds(delayMs)); |
- }; |
- |
- private: |
- static void RunIt(Task* task) { task->run(); } |
-}; |
- |
-class SimpleWebScheduler : public blink::WebScheduler { |
- public: |
- SimpleWebScheduler(blink::WebTaskRunner* task_runner) |
- : task_runner_(task_runner) {} |
- blink::WebTaskRunner* loadingTaskRunner() override { return task_runner_; } |
- |
- blink::WebTaskRunner* timerTaskRunner() override { return task_runner_; } |
- |
- private: |
- blink::WebTaskRunner* task_runner_; |
-}; |
- |
class CurrentThreadMock : public blink::WebThread { |
public: |
- CurrentThreadMock() : m_taskRunner(), m_webScheduler(&m_taskRunner) {} |
+ CurrentThreadMock() |
+ : task_runner_delegate_( |
+ scheduler::LazySchedulerMessageLoopDelegateForTests::Create()), |
+ scheduler_( |
+ new scheduler::RendererSchedulerImpl(task_runner_delegate_.get())), |
+ web_scheduler_( |
+ new scheduler::RendererWebSchedulerImpl(scheduler_.get())), |
+ web_task_runner_( |
+ new scheduler::WebTaskRunnerImpl(scheduler_->DefaultTaskRunner())) { |
+ } |
- ~CurrentThreadMock() override {} |
+ ~CurrentThreadMock() override { |
+ scheduler_->Shutdown(); |
+ } |
- blink::WebTaskRunner* taskRunner() override { return &m_taskRunner; } |
+ blink::WebTaskRunner* taskRunner() override { return web_task_runner_.get(); } |
bool isCurrentThread() const override { return true; } |
blink::PlatformThreadId threadId() const override { return 17; } |
- blink::WebScheduler* scheduler() const override { return &m_webScheduler; } |
+ blink::WebScheduler* scheduler() const override { |
+ return web_scheduler_.get(); |
+ } |
private: |
- SimpleWebTaskRunner m_taskRunner; |
- mutable SimpleWebScheduler m_webScheduler; |
+ scoped_refptr<scheduler::SchedulerTaskRunnerDelegate> task_runner_delegate_; |
+ scoped_ptr<scheduler::RendererScheduler> scheduler_; |
+ scoped_ptr<blink::WebScheduler> web_scheduler_; |
+ scoped_ptr<blink::WebTaskRunner> web_task_runner_; |
}; |
class TestBlinkPlatformSupport : NON_EXPORTED_BASE(public blink::Platform) { |