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

Unified Diff: third_party/WebKit/Source/platform/scheduler/base/time_domain.cc

Issue 2653643002: Move has_incoming_immediate_work to the TaskQueueManager (Closed)
Patch Set: Don't try to be quite so clever in TaskQueueManager::ComputeDelayTillNextTask Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/scheduler/base/time_domain.cc
diff --git a/third_party/WebKit/Source/platform/scheduler/base/time_domain.cc b/third_party/WebKit/Source/platform/scheduler/base/time_domain.cc
index c94546e3bb19b4e1b93ee24a62004abf1341b36b..0e4a333c36fbf1d29d43ec0581456e113c1dc236 100644
--- a/third_party/WebKit/Source/platform/scheduler/base/time_domain.cc
+++ b/third_party/WebKit/Source/platform/scheduler/base/time_domain.cc
@@ -28,11 +28,6 @@ void TimeDomain::UnregisterQueue(internal::TaskQueueImpl* queue) {
DCHECK(main_thread_checker_.CalledOnValidThread());
DCHECK_EQ(queue->GetTimeDomain(), this);
- {
- base::AutoLock lock(has_incoming_immediate_work_lock_);
- has_incoming_immediate_work_.erase(queue);
- }
-
CancelDelayedWork(queue);
}
@@ -42,19 +37,6 @@ void TimeDomain::MigrateQueue(internal::TaskQueueImpl* queue,
DCHECK_EQ(queue->GetTimeDomain(), this);
DCHECK(destination_time_domain);
- // Make sure we remember to update |queue| if it's got incoming immediate
- // work.
- bool has_incoming_immediate_work;
- {
- base::AutoLock lock(has_incoming_immediate_work_lock_);
- has_incoming_immediate_work = has_incoming_immediate_work_.erase(queue);
- }
- if (has_incoming_immediate_work) {
- base::AutoLock lock(
- destination_time_domain->has_incoming_immediate_work_lock_);
- destination_time_domain->has_incoming_immediate_work_.insert(queue);
- }
-
// If no wakeup has been requested then bail out.
if (!queue->heap_handle().IsValid())
return;
@@ -99,13 +81,7 @@ void TimeDomain::ScheduleDelayedWork(internal::TaskQueueImpl* queue,
observer_->OnTimeDomainHasDelayedWork(queue);
}
-void TimeDomain::OnQueueHasIncomingImmediateWork(
- internal::TaskQueueImpl* queue) {
- {
- base::AutoLock lock(has_incoming_immediate_work_lock_);
- has_incoming_immediate_work_.insert(queue);
- }
-
+void TimeDomain::OnQueueHasImmediateWork(internal::TaskQueueImpl* queue) {
if (observer_)
observer_->OnTimeDomainHasImmediateWork(queue);
}
@@ -124,23 +100,6 @@ void TimeDomain::CancelDelayedWork(internal::TaskQueueImpl* queue) {
delayed_wakeup_queue_.erase(queue->heap_handle());
}
-void TimeDomain::UpdateWorkQueues(LazyNow* lazy_now) {
- DCHECK(main_thread_checker_.CalledOnValidThread());
-
- // Move any ready delayed tasks into the Incoming queues.
- WakeupReadyDelayedQueues(lazy_now);
-
- std::set<internal::TaskQueueImpl*> queues_to_reload_if_empty;
-
- {
- base::AutoLock lock(has_incoming_immediate_work_lock_);
- std::swap(queues_to_reload_if_empty, has_incoming_immediate_work_);
- }
-
- for (internal::TaskQueueImpl* queue : queues_to_reload_if_empty)
- queue->ReloadImmediateWorkQueueIfEmpty();
-}
-
void TimeDomain::WakeupReadyDelayedQueues(LazyNow* lazy_now) {
DCHECK(main_thread_checker_.CalledOnValidThread());
// Wake up any queues with pending delayed work. Note std::multipmap stores
@@ -185,13 +144,6 @@ bool TimeDomain::NextScheduledTaskQueue(TaskQueue** out_task_queue) const {
void TimeDomain::AsValueInto(base::trace_event::TracedValue* state) const {
state->BeginDictionary();
state->SetString("name", GetName());
- {
- base::AutoLock lock(has_incoming_immediate_work_lock_);
- state->BeginArray("has_incoming_immediate_work");
- for (internal::TaskQueueImpl* queue : has_incoming_immediate_work_)
- state->AppendString(queue->GetName());
- state->EndArray();
- }
state->SetInteger("registered_delay_count", delayed_wakeup_queue_.size());
if (!delayed_wakeup_queue_.empty()) {
base::TimeDelta delay = delayed_wakeup_queue_.min().time - Now();

Powered by Google App Engine
This is Rietveld 408576698