| 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) {
|
|
|