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

Unified Diff: components/scheduler/renderer/renderer_scheduler.cc

Issue 1424053002: Adds a flag to support "Virtual Time" to the blink scheduler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 5 years, 1 month 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: components/scheduler/renderer/renderer_scheduler.cc
diff --git a/components/scheduler/renderer/renderer_scheduler.cc b/components/scheduler/renderer/renderer_scheduler.cc
index 20d663437a961ce27d4ff5dd8bc90dc52a13247f..8a32b8b617bfaaf2aae953822c72261230b544b3 100644
--- a/components/scheduler/renderer/renderer_scheduler.cc
+++ b/components/scheduler/renderer/renderer_scheduler.cc
@@ -4,10 +4,14 @@
#include "components/scheduler/renderer/renderer_scheduler.h"
+#include "base/command_line.h"
#include "base/message_loop/message_loop.h"
+#include "base/time/default_tick_clock.h"
#include "base/trace_event/trace_event.h"
#include "base/trace_event/trace_event_impl.h"
-#include "components/scheduler/child/scheduler_task_runner_delegate_impl.h"
+#include "components/scheduler/child/scheduler_tqm_delegate_impl.h"
+#include "components/scheduler/child/virtual_time_tqm_delegate.h"
+#include "components/scheduler/common/scheduler_switches.h"
#include "components/scheduler/renderer/renderer_scheduler_impl.h"
namespace scheduler {
@@ -30,8 +34,15 @@ scoped_ptr<RendererScheduler> RendererScheduler::Create() {
TRACE_DISABLED_BY_DEFAULT("renderer.scheduler.debug"));
base::MessageLoop* message_loop = base::MessageLoop::current();
- return make_scoped_ptr(new RendererSchedulerImpl(
- SchedulerTaskRunnerDelegateImpl::Create(message_loop)));
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ if (command_line->HasSwitch(switches::kEnableVirtualizedTime)) {
+ return make_scoped_ptr(new RendererSchedulerImpl(
+ VirtualTimeTqmDelegate::Create(message_loop, base::TimeTicks::Now())));
+ } else {
+ return make_scoped_ptr(
+ new RendererSchedulerImpl(SchedulerTqmDelegateImpl::Create(
+ message_loop, make_scoped_ptr(new base::DefaultTickClock()))));
+ }
}
// static
« no previous file with comments | « components/scheduler/renderer/idle_time_estimator_unittest.cc ('k') | components/scheduler/renderer/renderer_scheduler_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698