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

Unified Diff: components/scheduler/renderer/web_frame_scheduler_impl.cc

Issue 2246493002: Revert of Change VirtualTimePolicy::PAUSE_IF_NETWORK_FETCHES_PENDING (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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: components/scheduler/renderer/web_frame_scheduler_impl.cc
diff --git a/components/scheduler/renderer/web_frame_scheduler_impl.cc b/components/scheduler/renderer/web_frame_scheduler_impl.cc
index cbf66774a3fc3df49a0498a85e224bf4d3d2f0bd..d6a6ca6eafc50742bddb84c38fb7fa99e9cb66f7 100644
--- a/components/scheduler/renderer/web_frame_scheduler_impl.cc
+++ b/components/scheduler/renderer/web_frame_scheduler_impl.cc
@@ -61,6 +61,10 @@
loading_task_queue_ =
renderer_scheduler_->NewLoadingTaskRunner("frame_loading_tq");
loading_task_queue_->SetBlameContext(blame_context_);
+ if (parent_web_view_scheduler_->virtual_time_domain()) {
+ loading_task_queue_->SetTimeDomain(
+ parent_web_view_scheduler_->virtual_time_domain());
+ }
loading_web_task_runner_.reset(new WebTaskRunnerImpl(loading_task_queue_));
}
return loading_web_task_runner_.get();
@@ -72,7 +76,10 @@
timer_task_queue_ =
renderer_scheduler_->NewTimerTaskRunner("frame_timer_tq");
timer_task_queue_->SetBlameContext(blame_context_);
- if (!page_visible_) {
+ if (parent_web_view_scheduler_->virtual_time_domain()) {
+ timer_task_queue_->SetTimeDomain(
+ parent_web_view_scheduler_->virtual_time_domain());
+ } else if (!page_visible_) {
renderer_scheduler_->throttling_helper()->IncreaseThrottleRefCount(
timer_task_queue_.get());
}
@@ -87,6 +94,10 @@
unthrottled_task_queue_ =
renderer_scheduler_->NewUnthrottledTaskRunner("frame_unthrottled_tq");
unthrottled_task_queue_->SetBlameContext(blame_context_);
+ if (parent_web_view_scheduler_->virtual_time_domain()) {
+ unthrottled_task_queue_->SetTimeDomain(
+ parent_web_view_scheduler_->virtual_time_domain());
+ }
unthrottled_web_task_runner_.reset(
new WebTaskRunnerImpl(unthrottled_task_queue_));
}
@@ -122,8 +133,10 @@
page_visible_ = page_visible;
- if (!timer_web_task_runner_)
+ if (!timer_web_task_runner_ ||
+ parent_web_view_scheduler_->virtual_time_domain()) {
return;
+ }
if (page_visible_) {
renderer_scheduler_->throttling_helper()->DecreaseThrottleRefCount(
@@ -134,4 +147,21 @@
}
}
+void WebFrameSchedulerImpl::OnVirtualTimeDomainChanged() {
+ DCHECK(parent_web_view_scheduler_);
+ DCHECK(parent_web_view_scheduler_->virtual_time_domain());
+
+ if (timer_task_queue_) {
+ renderer_scheduler_->throttling_helper()->UnregisterTaskQueue(
+ timer_task_queue_.get());
+ timer_task_queue_->SetTimeDomain(
+ parent_web_view_scheduler_->virtual_time_domain());
+ }
+
+ if (loading_task_queue_) {
+ loading_task_queue_->SetTimeDomain(
+ parent_web_view_scheduler_->virtual_time_domain());
+ }
+}
+
} // namespace scheduler
« no previous file with comments | « components/scheduler/renderer/web_frame_scheduler_impl.h ('k') | components/scheduler/renderer/web_view_scheduler_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698