| 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 30%
 | 
| copy from content/renderer/scheduler/null_renderer_scheduler.h
 | 
| copy to content/child/scheduler/worker_scheduler_impl.h
 | 
| index 7df8a2bb3853f2ea43e3805fee08a5927adabbf9..186d2bcb53ac0b3483c51560f676be9b040c4957 100644
 | 
| --- a/content/renderer/scheduler/null_renderer_scheduler.h
 | 
| +++ b/content/child/scheduler/worker_scheduler_impl.h
 | 
| @@ -1,45 +1,61 @@
 | 
| -// 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;
 | 
| +  explicit 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;
 | 
| +
 | 
| + protected:
 | 
| +  // SchedulerHelperDelegate implementation:
 | 
| +  bool CanEnterLongIdlePeriod(
 | 
| +      base::TimeTicks now,
 | 
| +      base::TimeDelta* next_long_idle_period_delay_out) override;
 | 
| +  void IsNotQuiescent() override {}
 | 
| +
 | 
|   private:
 | 
| -  scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
 | 
| -  scoped_refptr<SingleThreadIdleTaskRunner> idle_task_runner_;
 | 
| +  void MaybeStartLongIdlePeriod();
 | 
| +
 | 
| +  SchedulerHelper helper_;
 | 
| +  bool initialized_;
 | 
|  
 | 
| -  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_
 | 
| 
 |