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 31% |
| copy from content/renderer/scheduler/null_renderer_scheduler.h |
| copy to content/child/scheduler/worker_scheduler_impl.h |
| index 7df8a2bb3853f2ea43e3805fee08a5927adabbf9..7d4a251aa9afa49138f96c5cf6f153b2e2713d0a 100644 |
| --- a/content/renderer/scheduler/null_renderer_scheduler.h |
| +++ b/content/child/scheduler/worker_scheduler_impl.h |
| @@ -1,45 +1,59 @@ |
| -// 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 { |
| public: |
| - NullRendererScheduler(); |
| - ~NullRendererScheduler() override; |
| + WorkerSchedulerImpl( |
| + scoped_refptr<NestableSingleThreadTaskRunner> main_task_runner); |
| + ~WorkerSchedulerImpl() override; |
| + // WorkerScheduler implementation: |
| 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); |
| + base::TimeTicks CurrentIdleTaskDeadlineForTesting() const; |
| + |
| 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_; |
| + bool initalized_; |
|
Sami
2015/04/09 12:02:43
typo: initialized_
Also looks like we could wrap
alex clarke (OOO till 29th)
2015/04/10 11:41:31
Done.
|
| - 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_ |