Index: content/child/scheduler/worker_scheduler_impl.h |
diff --git a/content/test/fake_renderer_scheduler.h b/content/child/scheduler/worker_scheduler_impl.h |
similarity index 33% |
copy from content/test/fake_renderer_scheduler.h |
copy to content/child/scheduler/worker_scheduler_impl.h |
index 9c9e0fae1cb38afd99e50055673739198d915292..d74834a2371e5e00333d09aab9db4fe491c40d57 100644 |
--- a/content/test/fake_renderer_scheduler.h |
+++ b/content/child/scheduler/worker_scheduler_impl.h |
@@ -1,42 +1,56 @@ |
-// 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_TEST_FAKE_RENDERER_SCHEDULER_H_ |
-#define CONTENT_TEST_FAKE_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 FakeRendererScheduler : public RendererScheduler { |
+class NestableSingleThreadTaskRunner; |
+ |
+class CONTENT_EXPORT WorkerSchedulerImpl |
+ : public WorkerScheduler, |
+ public SchedulerHelper::SchedulerHelperDelegate { |
public: |
- FakeRendererScheduler(); |
- ~FakeRendererScheduler() override; |
+ WorkerSchedulerImpl( |
+ scoped_refptr<NestableSingleThreadTaskRunner> main_task_runner); |
+ ~WorkerSchedulerImpl() override; |
- // RendererScheduler implementation. |
+ // Implement WorkerScheduler: |
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 CanExceedIdleDeadlineIfRequired() const override; |
- bool ShouldYieldForHighPriorityWork() override; |
void AddTaskObserver(base::MessageLoop::TaskObserver* task_observer) override; |
void RemoveTaskObserver( |
base::MessageLoop::TaskObserver* task_observer) override; |
void Shutdown() override; |
+ void SetTimeSourceForTesting(scoped_refptr<cc::TestNowSource> time_source); |
+ void SetWorkBatchSizeForTesting(size_t work_batch_size); |
+ |
private: |
- DISALLOW_COPY_AND_ASSIGN(FakeRendererScheduler); |
+ // SchedulerHelperDelegate implementation: |
+ bool CanEnterLongIdlePeriod( |
+ base::TimeTicks now, |
+ base::TimeDelta* next_long_idle_period_delay_out) override; |
+ |
+ void MaybeStartLongIdlePeriod(); |
+ |
+ SchedulerHelper helper_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(WorkerSchedulerImpl); |
}; |
} // namespace content |
-#endif // CONTENT_TEST_FAKE_RENDERER_SCHEDULER_H_ |
+#endif // CONTENT_CHILD_SCHEDULER_WORKER_SCHEDULER_IMPL_H_ |