Chromium Code Reviews| Index: content/child/scheduler/worker_scheduler_impl.h |
| diff --git a/content/renderer/scheduler/null_renderer_scheduler.h b/content/child/scheduler/worker_scheduler_impl.h |
| similarity index 32% |
| copy from content/renderer/scheduler/null_renderer_scheduler.h |
| copy to content/child/scheduler/worker_scheduler_impl.h |
| index 7df8a2bb3853f2ea43e3805fee08a5927adabbf9..96c3d2fb2d02146b86fa85e72684ecb6de124d81 100644 |
| --- a/content/renderer/scheduler/null_renderer_scheduler.h |
| +++ b/content/child/scheduler/worker_scheduler_impl.h |
| @@ -1,45 +1,57 @@ |
| -// 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. |
| -#ifndef CONTENT_RENDERER_SCHEDULER_NULL_RENDERER_SCHEDULER_H_ |
| -#define CONTENT_RENDERER_SCHEDULER_NULL_RENDERER_SCHEDULER_H_ |
| +#ifndef CONTENT_CHILD_SCHEDULER_WORKER_SCHEDULER_IMPL_H_ |
| +#define CONTENT_CHILD_SCHEDULER_WORKER_SCHEDULER_IMPL_H_ |
| -#include "content/renderer/scheduler/renderer_scheduler.h" |
| +#include "content/child/scheduler/worker_scheduler.h" |
| +#include "content/child/scheduler/scheduler_helper.h" |
| + |
| +namespace base { |
| +namespace trace_event { |
| +class ConvertableToTraceFormat; |
| +} |
| +} |
| namespace content { |
| -class NullRendererScheduler : public RendererScheduler { |
| +class NestableSingleThreadTaskRunner; |
| + |
| +class CONTENT_EXPORT WorkerSchedulerImpl |
| + : public WorkerScheduler, |
| + public SchedulerHelper::SchedulerHelperDelegate { |
|
Sami
2015/04/02 10:19:46
I guess the delegate could be inherited privately?
rmcilroy
2015/04/02 11:01:26
+1 (and for RendererSchedulerImpl too if possible)
kinuko
2015/04/02 13:03:08
style-nit: private inheritance is not encouraged b
alex clarke (OOO till 29th)
2015/04/02 15:19:28
In light of the style guide comments I think makin
|
| public: |
| - NullRendererScheduler(); |
| - ~NullRendererScheduler() override; |
| + WorkerSchedulerImpl( |
| + scoped_refptr<NestableSingleThreadTaskRunner> main_task_runner); |
| + ~WorkerSchedulerImpl() override; |
| + // Implement WorkerScheduler: |
|
Sami
2015/04/02 10:19:46
nit: "WorkerScheduler implementation:" is the usua
alex clarke (OOO till 29th)
2015/04/02 15:19:28
Done.
|
| scoped_refptr<base::SingleThreadTaskRunner> DefaultTaskRunner() override; |
| - scoped_refptr<base::SingleThreadTaskRunner> CompositorTaskRunner() override; |
| - scoped_refptr<base::SingleThreadTaskRunner> LoadingTaskRunner() override; |
| scoped_refptr<SingleThreadIdleTaskRunner> IdleTaskRunner() override; |
| - |
| - void WillBeginFrame(const cc::BeginFrameArgs& args) override; |
| - void BeginFrameNotExpectedSoon() override; |
| - void DidCommitFrameToCompositor() override; |
| - void DidReceiveInputEventOnCompositorThread( |
| - const blink::WebInputEvent& web_input_event) override; |
| - void DidAnimateForInputOnCompositorThread() override; |
| - bool IsHighPriorityWorkAnticipated() override; |
| - bool ShouldYieldForHighPriorityWork() override; |
| bool CanExceedIdleDeadlineIfRequired() const override; |
| void AddTaskObserver(base::MessageLoop::TaskObserver* task_observer) override; |
| void RemoveTaskObserver( |
| base::MessageLoop::TaskObserver* task_observer) override; |
| + void Init() override; |
| void Shutdown() override; |
| + void SetTimeSourceForTesting(scoped_refptr<cc::TestNowSource> time_source); |
| + void SetWorkBatchSizeForTesting(size_t work_batch_size); |
| + |
| private: |
| - scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
| - scoped_refptr<SingleThreadIdleTaskRunner> idle_task_runner_; |
| + // SchedulerHelperDelegate implementation: |
| + bool CanEnterLongIdlePeriod( |
| + base::TimeTicks now, |
| + base::TimeDelta* next_long_idle_period_delay_out) override; |
| + |
| + void MaybeStartLongIdlePeriod(); |
| + |
| + SchedulerHelper helper_; |
| - DISALLOW_COPY_AND_ASSIGN(NullRendererScheduler); |
| + DISALLOW_COPY_AND_ASSIGN(WorkerSchedulerImpl); |
| }; |
| } // namespace content |
| -#endif // CONTENT_RENDERER_SCHEDULER_NULL_RENDERER_SCHEDULER_H_ |
| +#endif // CONTENT_CHILD_SCHEDULER_WORKER_SCHEDULER_IMPL_H_ |