| 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..500c89a5ab96c5d9bc8bfdef2f391d834e7d20f3 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
|
| @@ -179,6 +179,8 @@ void WebViewSchedulerImpl::EnableVirtualTime() {
|
| allow_virtual_time_to_advance_);
|
|
|
| renderer_scheduler_->EnableVirtualTime();
|
| + virtual_time_control_task_queue_ = WebTaskRunnerImpl::Create(
|
| + renderer_scheduler_->VirtualTimeControlTaskQueue());
|
| ApplyVirtualTimePolicyToTimers();
|
| }
|
|
|
| @@ -187,6 +189,7 @@ void WebViewSchedulerImpl::DisableVirtualTimeForTesting() {
|
| return;
|
| virtual_time_ = false;
|
| renderer_scheduler_->DisableVirtualTimeForTesting();
|
| + virtual_time_control_task_queue_ = nullptr;
|
| ApplyVirtualTimePolicyToTimers();
|
| }
|
|
|
| @@ -260,6 +263,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_ =
|
| + virtual_time_control_task_queue_->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();
|
|
|