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

Unified Diff: third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc

Issue 2841463003: scheduler: Make virtual time expiration deterministic (Closed)
Patch Set: Review comments Created 3 years, 8 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/renderer/web_view_scheduler_impl.cc
diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc b/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
index 36fb95f9c0855dd395796582acb2fb2a6db685a6..bba2063de41328bffea931211893b0df02f07aeb 100644
--- a/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
+++ b/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
@@ -100,6 +100,8 @@ WebViewSchedulerImpl::WebViewSchedulerImpl(
: intervention_reporter_(intervention_reporter),
renderer_scheduler_(renderer_scheduler),
virtual_time_policy_(VirtualTimePolicy::ADVANCE),
+ control_task_runner_(
+ WebTaskRunnerImpl::Create(renderer_scheduler->ControlTaskQueue())),
background_parser_count_(0),
page_visible_(true),
should_throttle_frames_(false),
@@ -260,6 +262,15 @@ void WebViewSchedulerImpl::SetVirtualTimePolicy(VirtualTimePolicy policy) {
}
}
+void WebViewSchedulerImpl::GrantVirtualTimeBudget(
+ base::TimeDelta budget,
+ std::unique_ptr<WTF::Closure> budget_exhausted_callback) {
+ virtual_time_budget_expired_task_handle_ =
+ control_task_runner_->PostDelayedCancellableTask(
+ BLINK_FROM_HERE, std::move(budget_exhausted_callback),
+ budget.InMilliseconds());
+}
+
void WebViewSchedulerImpl::AudioStateChanged(bool is_audio_playing) {
is_audio_playing_ = is_audio_playing;
renderer_scheduler_->OnAudioStateChanged();

Powered by Google App Engine
This is Rietveld 408576698