Index: content/child/scheduler/base_web_scheduler.cc |
diff --git a/content/renderer/scheduler/web_scheduler_impl.cc b/content/child/scheduler/base_web_scheduler.cc |
similarity index 60% |
rename from content/renderer/scheduler/web_scheduler_impl.cc |
rename to content/child/scheduler/base_web_scheduler.cc |
index 35988c3b0c0f94e2b1916fd3e2cfcb142eb2728c..9fb624680cb9baa30eb7db84e0c0087cea85aad1 100644 |
--- a/content/renderer/scheduler/web_scheduler_impl.cc |
+++ b/content/child/scheduler/base_web_scheduler.cc |
@@ -1,44 +1,38 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "content/renderer/scheduler/web_scheduler_impl.h" |
+#include "content/child/scheduler/base_web_scheduler.h" |
#include "base/bind.h" |
#include "base/single_thread_task_runner.h" |
-#include "content/renderer/scheduler/renderer_scheduler.h" |
+#include "content/child/scheduler/worker_scheduler.h" |
#include "third_party/WebKit/public/platform/WebTraceLocation.h" |
namespace content { |
-WebSchedulerImpl::WebSchedulerImpl(RendererScheduler* renderer_scheduler) |
- : renderer_scheduler_(renderer_scheduler), |
- idle_task_runner_(renderer_scheduler_->IdleTaskRunner()), |
- loading_task_runner_(renderer_scheduler_->LoadingTaskRunner()), |
- timer_task_runner_(renderer_scheduler_->TimerTaskRunner()) { |
+BaseWebScheduler::BaseWebScheduler( |
+ scoped_refptr<SingleThreadIdleTaskRunner> idle_task_runner, |
+ scoped_refptr<base::SingleThreadTaskRunner> loading_task_runner, |
+ scoped_refptr<base::SingleThreadTaskRunner> timer_task_runner) |
+ : idle_task_runner_(idle_task_runner), |
+ loading_task_runner_(loading_task_runner), |
+ timer_task_runner_(timer_task_runner) { |
} |
-WebSchedulerImpl::~WebSchedulerImpl() { |
+BaseWebScheduler::~BaseWebScheduler() { |
} |
-bool WebSchedulerImpl::shouldYieldForHighPriorityWork() { |
- return renderer_scheduler_->ShouldYieldForHighPriorityWork(); |
-} |
- |
-bool WebSchedulerImpl::canExceedIdleDeadlineIfRequired() { |
- return renderer_scheduler_->CanExceedIdleDeadlineIfRequired(); |
-} |
- |
-void WebSchedulerImpl::runIdleTask(scoped_ptr<blink::WebThread::IdleTask> task, |
+void BaseWebScheduler::runIdleTask(scoped_ptr<blink::WebThread::IdleTask> task, |
base::TimeTicks deadline) { |
task->run((deadline - base::TimeTicks()).InSecondsF()); |
} |
-void WebSchedulerImpl::runTask(scoped_ptr<blink::WebThread::Task> task) { |
+void BaseWebScheduler::runTask(scoped_ptr<blink::WebThread::Task> task) { |
task->run(); |
} |
-void WebSchedulerImpl::postIdleTask(const blink::WebTraceLocation& web_location, |
+void BaseWebScheduler::postIdleTask(const blink::WebTraceLocation& web_location, |
blink::WebThread::IdleTask* task) { |
DCHECK(idle_task_runner_); |
scoped_ptr<blink::WebThread::IdleTask> scoped_task(task); |
@@ -46,10 +40,10 @@ void WebSchedulerImpl::postIdleTask(const blink::WebTraceLocation& web_location, |
web_location.fileName(), -1, nullptr); |
idle_task_runner_->PostIdleTask( |
location, |
- base::Bind(&WebSchedulerImpl::runIdleTask, base::Passed(&scoped_task))); |
+ base::Bind(&BaseWebScheduler::runIdleTask, base::Passed(&scoped_task))); |
} |
-void WebSchedulerImpl::postNonNestableIdleTask( |
+void BaseWebScheduler::postNonNestableIdleTask( |
const blink::WebTraceLocation& web_location, |
blink::WebThread::IdleTask* task) { |
DCHECK(idle_task_runner_); |
@@ -58,10 +52,10 @@ void WebSchedulerImpl::postNonNestableIdleTask( |
web_location.fileName(), -1, nullptr); |
idle_task_runner_->PostNonNestableIdleTask( |
location, |
- base::Bind(&WebSchedulerImpl::runIdleTask, base::Passed(&scoped_task))); |
+ base::Bind(&BaseWebScheduler::runIdleTask, base::Passed(&scoped_task))); |
} |
-void WebSchedulerImpl::postIdleTaskAfterWakeup( |
+void BaseWebScheduler::postIdleTaskAfterWakeup( |
const blink::WebTraceLocation& web_location, |
blink::WebThread::IdleTask* task) { |
DCHECK(idle_task_runner_); |
@@ -70,21 +64,22 @@ void WebSchedulerImpl::postIdleTaskAfterWakeup( |
web_location.fileName(), -1, nullptr); |
idle_task_runner_->PostIdleTaskAfterWakeup( |
location, |
- base::Bind(&WebSchedulerImpl::runIdleTask, base::Passed(&scoped_task))); |
+ base::Bind(&BaseWebScheduler::runIdleTask, base::Passed(&scoped_task))); |
} |
-void WebSchedulerImpl::postLoadingTask( |
- const blink::WebTraceLocation& web_location, blink::WebThread::Task* task) { |
+void BaseWebScheduler::postLoadingTask( |
+ const blink::WebTraceLocation& web_location, |
+ blink::WebThread::Task* task) { |
DCHECK(loading_task_runner_); |
scoped_ptr<blink::WebThread::Task> scoped_task(task); |
tracked_objects::Location location(web_location.functionName(), |
web_location.fileName(), -1, nullptr); |
loading_task_runner_->PostTask( |
location, |
- base::Bind(&WebSchedulerImpl::runTask, base::Passed(&scoped_task))); |
+ base::Bind(&BaseWebScheduler::runTask, base::Passed(&scoped_task))); |
} |
-void WebSchedulerImpl::postTimerTask( |
+void BaseWebScheduler::postTimerTask( |
const blink::WebTraceLocation& web_location, |
blink::WebThread::Task* task, |
long long delayMs) { |
@@ -94,7 +89,7 @@ void WebSchedulerImpl::postTimerTask( |
web_location.fileName(), -1, nullptr); |
timer_task_runner_->PostDelayedTask( |
location, |
- base::Bind(&WebSchedulerImpl::runTask, base::Passed(&scoped_task)), |
+ base::Bind(&BaseWebScheduler::runTask, base::Passed(&scoped_task)), |
base::TimeDelta::FromMilliseconds(delayMs)); |
} |