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

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/renderer/throttling_helper.cc

Issue 2118903002: scheduler: Move the Blink scheduler into Blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 4 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
OLDNEW
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 #include "components/scheduler/renderer/throttling_helper.h" 5 #include "platform/scheduler/renderer/throttling_helper.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "components/scheduler/base/real_time_domain.h" 8 #include "platform/scheduler/base/real_time_domain.h"
9 #include "components/scheduler/child/scheduler_tqm_delegate.h" 9 #include "platform/scheduler/child/scheduler_tqm_delegate.h"
10 #include "components/scheduler/renderer/auto_advancing_virtual_time_domain.h" 10 #include "platform/scheduler/renderer/auto_advancing_virtual_time_domain.h"
11 #include "components/scheduler/renderer/renderer_scheduler_impl.h" 11 #include "platform/scheduler/renderer/renderer_scheduler_impl.h"
12 #include "components/scheduler/renderer/throttled_time_domain.h" 12 #include "platform/scheduler/renderer/throttled_time_domain.h"
13 #include "components/scheduler/renderer/web_frame_scheduler_impl.h" 13 #include "platform/scheduler/renderer/web_frame_scheduler_impl.h"
14 #include "third_party/WebKit/public/platform/WebFrameScheduler.h" 14 #include "public/platform/WebFrameScheduler.h"
15 15
16 namespace blink {
16 namespace scheduler { 17 namespace scheduler {
17 18
18 ThrottlingHelper::ThrottlingHelper(RendererSchedulerImpl* renderer_scheduler, 19 ThrottlingHelper::ThrottlingHelper(RendererSchedulerImpl* renderer_scheduler,
19 const char* tracing_category) 20 const char* tracing_category)
20 : task_runner_(renderer_scheduler->ControlTaskRunner()), 21 : task_runner_(renderer_scheduler->ControlTaskRunner()),
21 renderer_scheduler_(renderer_scheduler), 22 renderer_scheduler_(renderer_scheduler),
22 tick_clock_(renderer_scheduler->tick_clock()), 23 tick_clock_(renderer_scheduler->tick_clock()),
23 tracing_category_(tracing_category), 24 tracing_category_(tracing_category),
24 time_domain_(new ThrottledTimeDomain(this, tracing_category)), 25 time_domain_(new ThrottledTimeDomain(this, tracing_category)),
25 virtual_time_(false), 26 virtual_time_(false),
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 MaybeSchedulePumpThrottledTasksLocked(FROM_HERE, lazy_low.Now(), 162 MaybeSchedulePumpThrottledTasksLocked(FROM_HERE, lazy_low.Now(),
162 next_scheduled_delayed_task); 163 next_scheduled_delayed_task);
163 } 164 }
164 } 165 }
165 166
166 /* static */ 167 /* static */
167 base::TimeTicks ThrottlingHelper::ThrottledRunTime( 168 base::TimeTicks ThrottlingHelper::ThrottledRunTime(
168 base::TimeTicks unthrottled_runtime) { 169 base::TimeTicks unthrottled_runtime) {
169 const base::TimeDelta one_second = base::TimeDelta::FromSeconds(1); 170 const base::TimeDelta one_second = base::TimeDelta::FromSeconds(1);
170 return unthrottled_runtime + one_second - 171 return unthrottled_runtime + one_second -
171 ((unthrottled_runtime - base::TimeTicks()) % one_second); 172 ((unthrottled_runtime - base::TimeTicks()) % one_second);
172 } 173 }
173 174
174 void ThrottlingHelper::MaybeSchedulePumpThrottledTasksLocked( 175 void ThrottlingHelper::MaybeSchedulePumpThrottledTasksLocked(
175 const tracked_objects::Location& from_here, 176 const tracked_objects::Location& from_here,
176 base::TimeTicks now, 177 base::TimeTicks now,
177 base::TimeTicks unthrottled_runtime) { 178 base::TimeTicks unthrottled_runtime) {
178 if (virtual_time_) 179 if (virtual_time_)
179 return; 180 return;
180 181
181 base::TimeTicks throttled_runtime = 182 base::TimeTicks throttled_runtime =
(...skipping 28 matching lines...) Expand all
210 211
211 throttled_queues_.erase(throttled_queues_.begin()); 212 throttled_queues_.erase(throttled_queues_.begin());
212 213
213 task_queue->SetTimeDomain(renderer_scheduler_->GetVirtualTimeDomain()); 214 task_queue->SetTimeDomain(renderer_scheduler_->GetVirtualTimeDomain());
214 task_queue->SetPumpPolicy(TaskQueue::PumpPolicy::AUTO); 215 task_queue->SetPumpPolicy(TaskQueue::PumpPolicy::AUTO);
215 task_queue->SetQueueEnabled(enabled); 216 task_queue->SetQueueEnabled(enabled);
216 } 217 }
217 } 218 }
218 219
219 } // namespace scheduler 220 } // namespace scheduler
221 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698