| Index: content/renderer/scheduler/web_scheduler_impl.cc
|
| diff --git a/content/renderer/scheduler/web_scheduler_impl.cc b/content/renderer/scheduler/web_scheduler_impl.cc
|
| index 29b253b1cfb78f92c8de70f981ba523167d7db77..5c87fa460d9578702edfe921006b36b01a78a8f0 100644
|
| --- a/content/renderer/scheduler/web_scheduler_impl.cc
|
| +++ b/content/renderer/scheduler/web_scheduler_impl.cc
|
| @@ -14,7 +14,8 @@ namespace content {
|
| WebSchedulerImpl::WebSchedulerImpl(RendererScheduler* renderer_scheduler)
|
| : renderer_scheduler_(renderer_scheduler),
|
| idle_task_runner_(renderer_scheduler_->IdleTaskRunner()),
|
| - loading_task_runner_(renderer_scheduler_->LoadingTaskRunner()) {
|
| + loading_task_runner_(renderer_scheduler_->LoadingTaskRunner()),
|
| + timer_task_runner_(renderer_scheduler_->TimerTaskRunner()) {
|
| }
|
|
|
| WebSchedulerImpl::~WebSchedulerImpl() {
|
| @@ -68,6 +69,20 @@ void WebSchedulerImpl::postLoadingTask(
|
| base::Bind(&WebSchedulerImpl::runTask, base::Passed(&scoped_task)));
|
| }
|
|
|
| +void WebSchedulerImpl::postTimerTask(
|
| + const blink::WebTraceLocation& web_location,
|
| + blink::WebThread::Task* task,
|
| + long long delayMs) {
|
| + DCHECK(timer_task_runner_);
|
| + scoped_ptr<blink::WebThread::Task> scoped_task(task);
|
| + tracked_objects::Location location(web_location.functionName(),
|
| + web_location.fileName(), -1, nullptr);
|
| + timer_task_runner_->PostDelayedTask(
|
| + location,
|
| + base::Bind(&WebSchedulerImpl::runTask, base::Passed(&scoped_task)),
|
| + base::TimeDelta::FromMilliseconds(delayMs));
|
| +}
|
| +
|
| void WebSchedulerImpl::shutdown() {
|
| idle_task_runner_ = nullptr;
|
| loading_task_runner_ = nullptr;
|
|
|