Index: components/scheduler/renderer/renderer_scheduler_impl.cc |
diff --git a/components/scheduler/renderer/renderer_scheduler_impl.cc b/components/scheduler/renderer/renderer_scheduler_impl.cc |
index 18a1665416e6d01a2f31e1ba0d07ef5dceb9c5a8..00a0426706bab6c32a24201a7c7061c3c84bf0a9 100644 |
--- a/components/scheduler/renderer/renderer_scheduler_impl.cc |
+++ b/components/scheduler/renderer/renderer_scheduler_impl.cc |
@@ -16,7 +16,6 @@ |
#include "components/scheduler/base/task_queue_selector.h" |
#include "components/scheduler/base/virtual_time_domain.h" |
#include "components/scheduler/child/scheduler_tqm_delegate.h" |
-#include "components/scheduler/renderer/auto_advancing_virtual_time_domain.h" |
#include "components/scheduler/renderer/web_view_scheduler_impl.h" |
#include "components/scheduler/renderer/webthread_impl_for_renderer_scheduler.h" |
@@ -96,9 +95,6 @@ |
timer_queue->RemoveTaskObserver( |
&MainThreadOnly().timer_task_cost_estimator); |
} |
- |
- if (virtual_time_domain_) |
- UnregisterTimeDomain(virtual_time_domain_.get()); |
// Ensure the renderer scheduler was shut down explicitly, because otherwise |
// we could end up having stale pointers to the Blink heap which has been |
@@ -142,7 +138,6 @@ |
begin_frame_not_expected_soon(false), |
expensive_task_blocking_allowed(true), |
in_idle_period_for_testing(false), |
- use_virtual_time(false), |
rail_mode_observer(nullptr) {} |
RendererSchedulerImpl::MainThreadOnly::~MainThreadOnly() {} |
@@ -206,9 +201,7 @@ |
const char* name) { |
helper_.CheckOnValidThread(); |
scoped_refptr<TaskQueue> loading_task_queue(helper_.NewTaskQueue( |
- TaskQueue::Spec(name).SetShouldMonitorQuiescence(true).SetTimeDomain( |
- MainThreadOnly().use_virtual_time ? GetVirtualTimeDomain() |
- : nullptr))); |
+ TaskQueue::Spec(name).SetShouldMonitorQuiescence(true))); |
loading_task_runners_.insert(loading_task_queue); |
loading_task_queue->SetQueueEnabled( |
MainThreadOnly().current_policy.loading_queue_policy.is_enabled); |
@@ -226,14 +219,10 @@ |
scoped_refptr<TaskQueue> RendererSchedulerImpl::NewTimerTaskRunner( |
const char* name) { |
helper_.CheckOnValidThread(); |
- // TODO(alexclarke): Consider using ApplyTaskQueuePolicy() for brevity. |
scoped_refptr<TaskQueue> timer_task_queue( |
helper_.NewTaskQueue(TaskQueue::Spec(name) |
.SetShouldMonitorQuiescence(true) |
- .SetShouldReportWhenExecutionBlocked(true) |
- .SetTimeDomain(MainThreadOnly().use_virtual_time |
- ? GetVirtualTimeDomain() |
- : nullptr))); |
+ .SetShouldReportWhenExecutionBlocked(true))); |
timer_task_runners_.insert(timer_task_queue); |
timer_task_queue->SetQueueEnabled( |
MainThreadOnly().current_policy.timer_queue_policy.is_enabled); |
@@ -252,10 +241,7 @@ |
const char* name) { |
helper_.CheckOnValidThread(); |
scoped_refptr<TaskQueue> unthrottled_task_queue(helper_.NewTaskQueue( |
- TaskQueue::Spec(name).SetShouldMonitorQuiescence(true).SetTimeDomain( |
- MainThreadOnly().use_virtual_time ? GetVirtualTimeDomain() |
- : nullptr))); |
- unthrottled_task_runners_.insert(unthrottled_task_queue); |
+ TaskQueue::Spec(name).SetShouldMonitorQuiescence(true))); |
return unthrottled_task_queue; |
} |
@@ -277,9 +263,6 @@ |
timer_task_runners_.end()) { |
task_queue->RemoveTaskObserver(&MainThreadOnly().timer_task_cost_estimator); |
timer_task_runners_.erase(task_queue); |
- } else if (unthrottled_task_runners_.find(task_queue) != |
- unthrottled_task_runners_.end()) { |
- unthrottled_task_runners_.erase(task_queue); |
} |
} |
@@ -879,26 +862,18 @@ |
} |
break; |
} |
+ |
MainThreadOnly().expensive_task_policy = expensive_task_policy; |
if (MainThreadOnly().timer_queue_suspend_count != 0 || |
MainThreadOnly().timer_queue_suspended_when_backgrounded) { |
new_policy.timer_queue_policy.is_enabled = false; |
- // TODO(alexclarke): Figure out if we really need to do this. |
new_policy.timer_queue_policy.time_domain_type = TimeDomainType::REAL; |
} |
if (MainThreadOnly().renderer_suspended) { |
new_policy.loading_queue_policy.is_enabled = false; |
DCHECK(!new_policy.timer_queue_policy.is_enabled); |
- } |
- |
- if (MainThreadOnly().use_virtual_time) { |
- new_policy.compositor_queue_policy.time_domain_type = |
- TimeDomainType::VIRTUAL; |
- new_policy.default_queue_policy.time_domain_type = TimeDomainType::VIRTUAL; |
- new_policy.loading_queue_policy.time_domain_type = TimeDomainType::VIRTUAL; |
- new_policy.timer_queue_policy.time_domain_type = TimeDomainType::VIRTUAL; |
} |
// Tracing is done before the early out check, because it's quite possible we |
@@ -976,15 +951,11 @@ |
if (old_task_queue_policy.time_domain_type != |
new_task_queue_policy.time_domain_type) { |
- if (old_task_queue_policy.time_domain_type == TimeDomainType::THROTTLED) { |
+ if (new_task_queue_policy.time_domain_type == TimeDomainType::THROTTLED) { |
+ throttling_helper_->IncreaseThrottleRefCount(task_queue); |
+ } else if (old_task_queue_policy.time_domain_type == |
+ TimeDomainType::THROTTLED) { |
throttling_helper_->DecreaseThrottleRefCount(task_queue); |
- } else if (new_task_queue_policy.time_domain_type == |
- TimeDomainType::THROTTLED) { |
- throttling_helper_->IncreaseThrottleRefCount(task_queue); |
- } else if (new_task_queue_policy.time_domain_type == |
- TimeDomainType::VIRTUAL) { |
- DCHECK(virtual_time_domain_); |
- task_queue->SetTimeDomain(virtual_time_domain_.get()); |
} |
} |
} |
@@ -1438,28 +1409,6 @@ |
queueing_time.InMillisecondsF()); |
} |
-AutoAdvancingVirtualTimeDomain* RendererSchedulerImpl::GetVirtualTimeDomain() { |
- if (!virtual_time_domain_) { |
- virtual_time_domain_.reset( |
- new AutoAdvancingVirtualTimeDomain(tick_clock()->NowTicks())); |
- RegisterTimeDomain(virtual_time_domain_.get()); |
- } |
- return virtual_time_domain_.get(); |
-} |
- |
-void RendererSchedulerImpl::EnableVirtualTime() { |
- MainThreadOnly().use_virtual_time = true; |
- |
- // The |unthrottled_task_runners_| are not actively managed by UpdatePolicy(). |
- AutoAdvancingVirtualTimeDomain* time_domain = GetVirtualTimeDomain(); |
- for (const scoped_refptr<TaskQueue>& task_queue : unthrottled_task_runners_) |
- task_queue->SetTimeDomain(time_domain); |
- |
- throttling_helper_->EnableVirtualTime(); |
- |
- ForceUpdatePolicy(); |
-} |
- |
// static |
const char* RendererSchedulerImpl::UseCaseToString(UseCase use_case) { |
switch (use_case) { |