1 // Copyright 2020 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "third_party/blink/renderer/platform/scheduler/main_thread/non_waking_time_domain.h" 6 7 namespace blink { 8 namespace scheduler { 9 NonWakingTimeDomain(const base::TickClock * tick_clock)10NonWakingTimeDomain::NonWakingTimeDomain(const base::TickClock* tick_clock) 11 : tick_clock_(tick_clock) {} 12 13 NonWakingTimeDomain::~NonWakingTimeDomain() = default; 14 CreateLazyNow() const15base::sequence_manager::LazyNow NonWakingTimeDomain::CreateLazyNow() const { 16 return base::sequence_manager::LazyNow(tick_clock_); 17 } 18 Now() const19base::TimeTicks NonWakingTimeDomain::Now() const { 20 return tick_clock_->NowTicks(); 21 } 22 DelayTillNextTask(base::sequence_manager::LazyNow * lazy_now)23base::Optional<base::TimeDelta> NonWakingTimeDomain::DelayTillNextTask( 24 base::sequence_manager::LazyNow* lazy_now) { 25 // NonWakingTimeDomain should never generate wakeups on its own. 26 return base::nullopt; 27 } 28 MaybeFastForwardToNextTask(bool quit_when_idle_requested)29bool NonWakingTimeDomain::MaybeFastForwardToNextTask( 30 bool quit_when_idle_requested) { 31 return false; 32 } 33 GetName() const34const char* NonWakingTimeDomain::GetName() const { 35 return "non_waking_time_domain"; 36 } 37 SetNextDelayedDoWork(base::sequence_manager::LazyNow * lazy_now,base::TimeTicks run_time)38void NonWakingTimeDomain::SetNextDelayedDoWork( 39 base::sequence_manager::LazyNow* lazy_now, 40 base::TimeTicks run_time) { 41 // Do not request a wake-up, unlike a regular TimeDomain. 42 } 43 44 } // namespace scheduler 45 } // namespace blink 46