summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/scheduler/worker/compositor_thread_scheduler.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/scheduler/worker/compositor_thread_scheduler.h')
-rw-r--r--chromium/third_party/blink/renderer/platform/scheduler/worker/compositor_thread_scheduler.h38
1 files changed, 17 insertions, 21 deletions
diff --git a/chromium/third_party/blink/renderer/platform/scheduler/worker/compositor_thread_scheduler.h b/chromium/third_party/blink/renderer/platform/scheduler/worker/compositor_thread_scheduler.h
index 40b0819c71a..08f0dcec537 100644
--- a/chromium/third_party/blink/renderer/platform/scheduler/worker/compositor_thread_scheduler.h
+++ b/chromium/third_party/blink/renderer/platform/scheduler/worker/compositor_thread_scheduler.h
@@ -11,46 +11,42 @@
#include "third_party/blink/public/platform/scheduler/single_thread_idle_task_runner.h"
#include "third_party/blink/public/platform/web_thread_type.h"
#include "third_party/blink/renderer/platform/platform_export.h"
-#include "third_party/blink/renderer/platform/scheduler/child/compositor_metrics_helper.h"
-#include "third_party/blink/renderer/platform/scheduler/public/non_main_thread_scheduler.h"
#include "third_party/blink/renderer/platform/scheduler/util/task_duration_metric_reporter.h"
-
-namespace base {
-class Thread;
-}
+#include "third_party/blink/renderer/platform/scheduler/worker/compositor_metrics_helper.h"
+#include "third_party/blink/renderer/platform/scheduler/worker/non_main_thread_scheduler_impl.h"
namespace blink {
namespace scheduler {
class PLATFORM_EXPORT CompositorThreadScheduler
- : public NonMainThreadScheduler,
+ : public NonMainThreadSchedulerImpl,
public SingleThreadIdleTaskRunner::Delegate {
public:
- CompositorThreadScheduler(
- base::Thread* thread,
- std::unique_ptr<base::sequence_manager::TaskQueueManager>
- task_queue_manager);
+ explicit CompositorThreadScheduler(
+ std::unique_ptr<base::sequence_manager::SequenceManager>
+ sequence_manager);
~CompositorThreadScheduler() override;
- // NonMainThreadScheduler:
- scoped_refptr<WorkerTaskQueue> DefaultTaskQueue() override;
- void OnTaskCompleted(WorkerTaskQueue* worker_task_queue,
+ // NonMainThreadSchedulerImpl:
+ scoped_refptr<NonMainThreadTaskQueue> DefaultTaskQueue() override;
+ void OnTaskCompleted(NonMainThreadTaskQueue* worker_task_queue,
const base::sequence_manager::TaskQueue::Task& task,
- base::TimeTicks start,
- base::TimeTicks end,
- base::Optional<base::TimeDelta> thread_time) override;
+ const base::sequence_manager::TaskQueue::TaskTiming&
+ task_timing) override;
// WebThreadScheduler:
- scoped_refptr<base::SingleThreadTaskRunner> DefaultTaskRunner() override;
scoped_refptr<scheduler::SingleThreadIdleTaskRunner> IdleTaskRunner()
override;
- scoped_refptr<base::SingleThreadTaskRunner> IPCTaskRunner() override;
+ scoped_refptr<base::SingleThreadTaskRunner> V8TaskRunner() override;
+ scoped_refptr<base::SingleThreadTaskRunner> CompositorTaskRunner() override;
+ scoped_refptr<base::SingleThreadTaskRunner> InputTaskRunner() 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 AddRAILModeObserver(RAILModeObserver*) override {}
void Shutdown() override;
// SingleThreadIdleTaskRunner::Delegate:
@@ -64,10 +60,10 @@ class PLATFORM_EXPORT CompositorThreadScheduler
void InitImpl() override;
private:
- base::Thread* thread_;
+ scoped_refptr<NonMainThreadTaskQueue> input_task_queue_;
+ scoped_refptr<base::SingleThreadTaskRunner> input_task_runner_;
CompositorMetricsHelper compositor_metrics_helper_;
- scoped_refptr<base::SingleThreadTaskRunner> default_task_runner_;
DISALLOW_COPY_AND_ASSIGN(CompositorThreadScheduler);
};