| Index: components/scheduler/base/time_domain.cc
|
| diff --git a/components/scheduler/base/time_domain.cc b/components/scheduler/base/time_domain.cc
|
| index 2abfb522ce86f0d788285b03eb3127d4f1f56de9..4d94add6d04e5bbe241a39b42d7cdc338c6ee986 100644
|
| --- a/components/scheduler/base/time_domain.cc
|
| +++ b/components/scheduler/base/time_domain.cc
|
| @@ -12,7 +12,7 @@
|
|
|
| namespace scheduler {
|
|
|
| -TimeDomain::TimeDomain() {}
|
| +TimeDomain::TimeDomain(Observer* observer) : observer_(observer) {}
|
|
|
| TimeDomain::~TimeDomain() {}
|
|
|
| @@ -72,13 +72,19 @@ void TimeDomain::ScheduleDelayedWork(internal::TaskQueueImpl* queue,
|
| base::TimeDelta delay =
|
| std::max(base::TimeDelta(), delayed_run_time - lazy_now->Now());
|
| RequestWakeup(lazy_now, delay);
|
| + if (observer_)
|
| + observer_->OnTimeDomainHasDelayedWork();
|
| }
|
| delayed_wakeup_multimap_.insert(std::make_pair(delayed_run_time, queue));
|
| }
|
|
|
| void TimeDomain::RegisterAsUpdatableTaskQueue(internal::TaskQueueImpl* queue) {
|
| - base::AutoLock lock(newly_updatable_lock_);
|
| - newly_updatable_.push_back(queue);
|
| + {
|
| + base::AutoLock lock(newly_updatable_lock_);
|
| + newly_updatable_.push_back(queue);
|
| + }
|
| + if (observer_)
|
| + observer_->OnTimeDomainHasImmediateWork();
|
| }
|
|
|
| void TimeDomain::UnregisterAsUpdatableTaskQueue(
|
|
|