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_ |