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

Unified Diff: media/blink/run_all_unittests.cc

Issue 1340343003: scheduler: Implement WebFrameScheduler and WebPageScheduler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased + fixed gn build. Created 5 years, 3 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
« no previous file with comments | « media/blink/media_blink.gyp ('k') | third_party/WebKit/Source/core/dom/Document.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {
« no previous file with comments | « media/blink/media_blink.gyp ('k') | third_party/WebKit/Source/core/dom/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698