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

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

Issue 1587663003: scheduler: Turn expensive task blocking into a finch trial (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: html_viewer fix. Created 4 years, 11 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 | « no previous file | components/scheduler/renderer/renderer_scheduler_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..19a7e00b59644ada27456a9c35df6a4f2cd2202c 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,23 @@ 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()))));
+ }
+
+ // Runtime features are not currently available in html_viewer.
+ if (base::FeatureList::GetInstance()) {
+ scheduler->SetExpensiveTaskBlockingAllowed(
+ base::FeatureList::IsEnabled(kExpensiveTaskBlockingPolicyFeature));
}
+ return make_scoped_ptr<RendererScheduler>(scheduler.release());
}
// static
« no previous file with comments | « no previous file | components/scheduler/renderer/renderer_scheduler_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698