Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(851)

Side by Side Diff: components/scheduler/renderer/renderer_scheduler_impl.h

Issue 1832673002: Add testRunner.runIdleTasks() to force idle tasks to run. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/scheduler/BUILD.gn ('k') | components/scheduler/renderer/renderer_scheduler_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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_
OLDNEW
« no previous file with comments | « components/scheduler/BUILD.gn ('k') | components/scheduler/renderer/renderer_scheduler_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698