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

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

Issue 2778123003: [scheduler] Add WakeupBudgetPool. (Closed)
Patch Set: Addressed comments from alexclarke@ Created 3 years, 7 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "platform/scheduler/renderer/throttled_time_domain.h" 5 #include "platform/scheduler/renderer/throttled_time_domain.h"
6 6
7 namespace blink { 7 namespace blink {
8 namespace scheduler { 8 namespace scheduler {
9 9
10 ThrottledTimeDomain::ThrottledTimeDomain(const char* tracing_category) 10 ThrottledTimeDomain::ThrottledTimeDomain(const char* tracing_category)
11 : RealTimeDomain(tracing_category) {} 11 : RealTimeDomain(tracing_category) {}
12 12
13 ThrottledTimeDomain::~ThrottledTimeDomain() {} 13 ThrottledTimeDomain::~ThrottledTimeDomain() {}
14 14
15 const char* ThrottledTimeDomain::GetName() const { 15 const char* ThrottledTimeDomain::GetName() const {
16 return "ThrottledTimeDomain"; 16 return "ThrottledTimeDomain";
17 } 17 }
18 18
19 void ThrottledTimeDomain::RequestWakeUpAt(base::TimeTicks now, 19 void ThrottledTimeDomain::RequestWakeUpAt(base::TimeTicks now,
20 base::TimeTicks run_time) { 20 base::TimeTicks run_time) {
21 // We assume the owner (i.e. TaskQueueThrottler) will manage wake-ups on our 21 // We assume the owner (i.e. TaskQueueThrottler) will manage wake-ups on our
22 // behalf. 22 // behalf.
23 } 23 }
24 24
25 void ThrottledTimeDomain::CancelWakeUpAt(base::TimeTicks run_time) { 25 void ThrottledTimeDomain::CancelWakeUpAt(base::TimeTicks run_time) {
26 // We ignore this because RequestWakeUpAt is a NOP. 26 // We ignore this because RequestWakeUpAt is a NOP.
27 } 27 }
28 28
29 void ThrottledTimeDomain::SetNextTaskRunTime(base::TimeTicks run_time) {
30 next_task_ = run_time;
Sami 2017/04/29 17:43:02 nit: next_task_run_time_
altimin 2017/05/02 18:16:58 Done.
31 }
32
29 base::Optional<base::TimeDelta> ThrottledTimeDomain::DelayTillNextTask( 33 base::Optional<base::TimeDelta> ThrottledTimeDomain::DelayTillNextTask(
30 LazyNow* lazy_now) { 34 LazyNow* lazy_now) {
35 if (next_task_ && next_task_ > lazy_now->Now())
36 return next_task_.value() - lazy_now->Now();
37
31 base::TimeTicks next_run_time; 38 base::TimeTicks next_run_time;
32 if (!NextScheduledRunTime(&next_run_time)) 39 if (!NextScheduledRunTime(&next_run_time))
33 return base::nullopt; 40 return base::nullopt;
34 41
35 base::TimeTicks now = lazy_now->Now(); 42 base::TimeTicks now = lazy_now->Now();
36 if (now >= next_run_time) 43 if (now >= next_run_time)
37 return base::TimeDelta(); // Makes DoWork post an immediate continuation. 44 return base::TimeDelta(); // Makes DoWork post an immediate continuation.
38 45
39 // We assume the owner (i.e. TaskQueueThrottler) will manage wake-ups on our 46 // We assume the owner (i.e. TaskQueueThrottler) will manage wake-ups on our
40 // behalf. 47 // behalf.
41 return base::nullopt; 48 return base::nullopt;
42 } 49 }
43 50
44 } // namespace scheduler 51 } // namespace scheduler
45 } // namespace blink 52 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698