OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ | 5 #ifndef COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ |
6 #define COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ | 6 #define COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ |
7 | 7 |
8 #include "base/atomicops.h" | 8 #include "base/atomicops.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/synchronization/lock.h" | 10 #include "base/synchronization/lock.h" |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 | 99 |
100 void AddWebViewScheduler(WebViewSchedulerImpl* web_view_scheduler); | 100 void AddWebViewScheduler(WebViewSchedulerImpl* web_view_scheduler); |
101 void RemoveWebViewScheduler(WebViewSchedulerImpl* web_view_scheduler); | 101 void RemoveWebViewScheduler(WebViewSchedulerImpl* web_view_scheduler); |
102 | 102 |
103 // Test helpers. | 103 // Test helpers. |
104 SchedulerHelper* GetSchedulerHelperForTesting(); | 104 SchedulerHelper* GetSchedulerHelperForTesting(); |
105 TaskCostEstimator* GetLoadingTaskCostEstimatorForTesting(); | 105 TaskCostEstimator* GetLoadingTaskCostEstimatorForTesting(); |
106 TaskCostEstimator* GetTimerTaskCostEstimatorForTesting(); | 106 TaskCostEstimator* GetTimerTaskCostEstimatorForTesting(); |
107 IdleTimeEstimator* GetIdleTimeEstimatorForTesting(); | 107 IdleTimeEstimator* GetIdleTimeEstimatorForTesting(); |
108 base::TimeTicks CurrentIdleTaskDeadlineForTesting() const; | 108 base::TimeTicks CurrentIdleTaskDeadlineForTesting() const; |
| 109 void RunIdleTasksForTesting(const base::Closure& callback); |
| 110 void EndIdlePeriodForTesting(const base::Closure& callback, |
| 111 base::TimeTicks time_remaining); |
109 | 112 |
110 base::TickClock* tick_clock() const; | 113 base::TickClock* tick_clock() const; |
111 | 114 |
112 RealTimeDomain* real_time_domain() const { | 115 RealTimeDomain* real_time_domain() const { |
113 return helper_.real_time_domain(); | 116 return helper_.real_time_domain(); |
114 } | 117 } |
115 | 118 |
116 ThrottlingHelper* throttling_helper() { return throttling_helper_.get(); } | 119 ThrottlingHelper* throttling_helper() { return throttling_helper_.get(); } |
117 | 120 |
118 private: | 121 private: |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 bool was_shutdown; | 339 bool was_shutdown; |
337 bool loading_tasks_seem_expensive; | 340 bool loading_tasks_seem_expensive; |
338 bool timer_tasks_seem_expensive; | 341 bool timer_tasks_seem_expensive; |
339 bool touchstart_expected_soon; | 342 bool touchstart_expected_soon; |
340 bool have_seen_a_begin_main_frame; | 343 bool have_seen_a_begin_main_frame; |
341 bool have_reported_blocking_intervention_in_current_policy; | 344 bool have_reported_blocking_intervention_in_current_policy; |
342 bool have_reported_blocking_intervention_since_navigation; | 345 bool have_reported_blocking_intervention_since_navigation; |
343 bool has_visible_render_widget_with_touch_handler; | 346 bool has_visible_render_widget_with_touch_handler; |
344 bool begin_frame_not_expected_soon; | 347 bool begin_frame_not_expected_soon; |
345 bool expensive_task_blocking_allowed; | 348 bool expensive_task_blocking_allowed; |
| 349 bool in_idle_period_for_testing; |
346 std::set<WebViewSchedulerImpl*> web_view_schedulers_; // Not owned. | 350 std::set<WebViewSchedulerImpl*> web_view_schedulers_; // Not owned. |
347 }; | 351 }; |
348 | 352 |
349 struct AnyThread { | 353 struct AnyThread { |
350 AnyThread(); | 354 AnyThread(); |
351 ~AnyThread(); | 355 ~AnyThread(); |
352 | 356 |
353 base::TimeTicks last_idle_period_end_time; | 357 base::TimeTicks last_idle_period_end_time; |
354 base::TimeTicks rails_loading_priority_deadline; | 358 base::TimeTicks rails_loading_priority_deadline; |
355 base::TimeTicks fling_compositor_escalation_deadline; | 359 base::TimeTicks fling_compositor_escalation_deadline; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 | 415 |
412 PollableThreadSafeFlag policy_may_need_update_; | 416 PollableThreadSafeFlag policy_may_need_update_; |
413 base::WeakPtrFactory<RendererSchedulerImpl> weak_factory_; | 417 base::WeakPtrFactory<RendererSchedulerImpl> weak_factory_; |
414 | 418 |
415 DISALLOW_COPY_AND_ASSIGN(RendererSchedulerImpl); | 419 DISALLOW_COPY_AND_ASSIGN(RendererSchedulerImpl); |
416 }; | 420 }; |
417 | 421 |
418 } // namespace scheduler | 422 } // namespace scheduler |
419 | 423 |
420 #endif // COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ | 424 #endif // COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ |
OLD | NEW |