OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_CHILD_WEB_SCHEDULER_IMPL_H_ | 5 #ifndef THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_CHILD_WEB_SCHEDULER_IMPL_H_ |
6 #define THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_CHILD_WEB_SCHEDULER_IMPL_H_ | 6 #define THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_CHILD_WEB_SCHEDULER_IMPL_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "base/memory/ref_counted.h" | 11 #include "base/memory/ref_counted.h" |
12 #include "base/time/time.h" | 12 #include "base/time/time.h" |
13 #include "platform/scheduler/base/task_queue.h" | 13 #include "platform/scheduler/base/task_queue.h" |
| 14 #include "platform/scheduler/child/web_scheduler.h" |
14 #include "public/platform/WebCommon.h" | 15 #include "public/platform/WebCommon.h" |
15 #include "public/platform/WebScheduler.h" | |
16 #include "public/platform/WebThread.h" | 16 #include "public/platform/WebThread.h" |
17 | 17 |
18 namespace blink { | 18 namespace blink { |
19 namespace scheduler { | 19 namespace scheduler { |
20 | 20 |
21 class ChildScheduler; | 21 class ChildScheduler; |
22 class SingleThreadIdleTaskRunner; | 22 class SingleThreadIdleTaskRunner; |
23 class WebTaskRunnerImpl; | 23 class WebTaskRunnerImpl; |
24 | 24 |
25 class BLINK_PLATFORM_EXPORT WebSchedulerImpl : public WebScheduler { | 25 class BLINK_PLATFORM_EXPORT WebSchedulerImpl : public WebScheduler { |
(...skipping 12 matching lines...) Expand all Loading... |
38 WebThread::IdleTask* task) override; | 38 WebThread::IdleTask* task) override; |
39 void PostNonNestableIdleTask(const WebTraceLocation& location, | 39 void PostNonNestableIdleTask(const WebTraceLocation& location, |
40 WebThread::IdleTask* task) override; | 40 WebThread::IdleTask* task) override; |
41 WebTaskRunner* LoadingTaskRunner() override; | 41 WebTaskRunner* LoadingTaskRunner() override; |
42 WebTaskRunner* TimerTaskRunner() override; | 42 WebTaskRunner* TimerTaskRunner() override; |
43 std::unique_ptr<WebViewScheduler> CreateWebViewScheduler( | 43 std::unique_ptr<WebViewScheduler> CreateWebViewScheduler( |
44 InterventionReporter*, | 44 InterventionReporter*, |
45 WebViewScheduler::WebViewSchedulerSettings*) override; | 45 WebViewScheduler::WebViewSchedulerSettings*) override; |
46 void SuspendTimerQueue() override {} | 46 void SuspendTimerQueue() override {} |
47 void ResumeTimerQueue() override {} | 47 void ResumeTimerQueue() override {} |
48 void AddPendingNavigation(WebScheduler::NavigatingFrameType type) override {} | 48 void AddPendingNavigation( |
| 49 scheduler::RendererScheduler::NavigatingFrameType type) override {} |
49 void RemovePendingNavigation( | 50 void RemovePendingNavigation( |
50 WebScheduler::NavigatingFrameType type) override {} | 51 scheduler::RendererScheduler::NavigatingFrameType type) override {} |
51 | 52 |
52 private: | 53 private: |
53 static void RunIdleTask(std::unique_ptr<WebThread::IdleTask> task, | 54 static void RunIdleTask(std::unique_ptr<WebThread::IdleTask> task, |
54 base::TimeTicks deadline); | 55 base::TimeTicks deadline); |
55 | 56 |
56 ChildScheduler* child_scheduler_; // NOT OWNED | 57 ChildScheduler* child_scheduler_; // NOT OWNED |
57 scoped_refptr<SingleThreadIdleTaskRunner> idle_task_runner_; | 58 scoped_refptr<SingleThreadIdleTaskRunner> idle_task_runner_; |
58 scoped_refptr<TaskQueue> timer_task_runner_; | 59 scoped_refptr<TaskQueue> timer_task_runner_; |
59 RefPtr<WebTaskRunnerImpl> loading_web_task_runner_; | 60 RefPtr<WebTaskRunnerImpl> loading_web_task_runner_; |
60 RefPtr<WebTaskRunnerImpl> timer_web_task_runner_; | 61 RefPtr<WebTaskRunnerImpl> timer_web_task_runner_; |
61 | 62 |
62 DISALLOW_COPY_AND_ASSIGN(WebSchedulerImpl); | 63 DISALLOW_COPY_AND_ASSIGN(WebSchedulerImpl); |
63 }; | 64 }; |
64 | 65 |
65 } // namespace scheduler | 66 } // namespace scheduler |
66 } // namespace blink | 67 } // namespace blink |
67 | 68 |
68 #endif // THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_CHILD_WEB_SCHEDULER_IMPL
_H_ | 69 #endif // THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_CHILD_WEB_SCHEDULER_IMPL
_H_ |
OLD | NEW |