Chromium Code Reviews| Index: components/scheduler/renderer/renderer_scheduler.cc |
| diff --git a/components/scheduler/renderer/renderer_scheduler.cc b/components/scheduler/renderer/renderer_scheduler.cc |
| index aedc3c6f40bf0c7ba8c43fcf5b13f304a6980503..e39260ead6efd50efa45a0306291f5cf754b0c1c 100644 |
| --- a/components/scheduler/renderer/renderer_scheduler.cc |
| +++ b/components/scheduler/renderer/renderer_scheduler.cc |
| @@ -5,6 +5,7 @@ |
| #include "components/scheduler/renderer/renderer_scheduler.h" |
| #include "base/command_line.h" |
| +#include "base/feature_list.h" |
| #include "base/message_loop/message_loop.h" |
| #include "base/time/default_tick_clock.h" |
| #include "base/trace_event/trace_event.h" |
| @@ -15,6 +16,10 @@ |
| #include "components/scheduler/renderer/renderer_scheduler_impl.h" |
| namespace scheduler { |
| +namespace { |
| +const base::Feature kExpensiveTaskBlockingPolicyFeature{ |
| + "SchedulerExpensiveTaskBlocking", base::FEATURE_DISABLED_BY_DEFAULT}; |
| +} |
| RendererScheduler::RendererScheduler() { |
| } |
| @@ -33,16 +38,20 @@ scoped_ptr<RendererScheduler> RendererScheduler::Create() { |
| base::trace_event::TraceLog::GetCategoryGroupEnabled( |
| TRACE_DISABLED_BY_DEFAULT("renderer.scheduler.debug")); |
| + scoped_ptr<RendererSchedulerImpl> scheduler; |
| base::MessageLoop* message_loop = base::MessageLoop::current(); |
| base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
| if (command_line->HasSwitch(switches::kEnableVirtualizedTime)) { |
| - return make_scoped_ptr(new RendererSchedulerImpl( |
| + scheduler.reset(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())))); |
| + scheduler.reset(new RendererSchedulerImpl(SchedulerTqmDelegateImpl::Create( |
| + message_loop, make_scoped_ptr(new base::DefaultTickClock())))); |
| } |
| + |
| + scheduler->SetExpensiveTaskBlockingAllowed( |
|
alex clarke (OOO till 29th)
2016/01/13 17:18:30
Doesn't have to be this patch but perhaps we might
Sami
2016/01/13 17:25:46
Conveniently this already hooks up to
--enable-fea
|
| + base::FeatureList::IsEnabled(kExpensiveTaskBlockingPolicyFeature)); |
| + return make_scoped_ptr<RendererScheduler>(scheduler.release()); |
| } |
| // static |