| Index: third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
|
| diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h b/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
|
| index 8ed9ef5107adadf6326f3be80f67021692e64fe7..ed22c4c1f3a6f2aa8f5d3e3a764d3b8cd04102c8 100644
|
| --- a/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
|
| +++ b/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
|
| @@ -101,6 +101,7 @@ class BLINK_PLATFORM_EXPORT RendererSchedulerImpl
|
| void DidAnimateForInputOnCompositorThread() override;
|
| void OnRendererBackgrounded() override;
|
| void OnRendererForegrounded() override;
|
| + void OnAudioStateChanged(bool is_audio_playing) override;
|
| void SuspendRenderer() override;
|
| void AddPendingNavigation(WebScheduler::NavigatingFrameType type) override;
|
| void RemovePendingNavigation(WebScheduler::NavigatingFrameType type) override;
|
| @@ -174,6 +175,8 @@ class BLINK_PLATFORM_EXPORT RendererSchedulerImpl
|
|
|
| AutoAdvancingVirtualTimeDomain* GetVirtualTimeDomain();
|
|
|
| + TimeDomain* GetActiveTimeDomain();
|
| +
|
| TaskQueueThrottler* task_queue_throttler() const {
|
| return task_queue_throttler_.get();
|
| }
|
| @@ -213,13 +216,15 @@ class BLINK_PLATFORM_EXPORT RendererSchedulerImpl
|
| TaskQueuePolicy timer_queue_policy;
|
| TaskQueuePolicy default_queue_policy;
|
| v8::RAILMode rail_mode = v8::PERFORMANCE_ANIMATION;
|
| + bool should_disable_throttling = false;
|
|
|
| bool operator==(const Policy& other) const {
|
| return compositor_queue_policy == other.compositor_queue_policy &&
|
| loading_queue_policy == other.loading_queue_policy &&
|
| timer_queue_policy == other.timer_queue_policy &&
|
| default_queue_policy == other.default_queue_policy &&
|
| - rail_mode == other.rail_mode;
|
| + rail_mode == other.rail_mode &&
|
| + should_disable_throttling == other.should_disable_throttling;
|
| }
|
| };
|
|
|
| @@ -343,6 +348,8 @@ class BLINK_PLATFORM_EXPORT RendererSchedulerImpl
|
| static const char* ExpensiveTaskPolicyToString(
|
| ExpensiveTaskPolicy expensive_task_policy);
|
|
|
| + bool ShouldDisableThrottlingBecauseOfAudio(base::TimeTicks now);
|
| +
|
| SchedulerHelper helper_;
|
| IdleHelper idle_helper_;
|
| std::unique_ptr<TaskQueueThrottler> task_queue_throttler_;
|
| @@ -386,6 +393,8 @@ class BLINK_PLATFORM_EXPORT RendererSchedulerImpl
|
| base::TimeTicks estimated_next_frame_begin;
|
| base::TimeDelta compositor_frame_interval;
|
| base::TimeDelta longest_jank_free_task_duration;
|
| + base::Optional<base::TimeTicks> last_audio_state_change;
|
| + base::TimeDelta throttling_delay_after_audio_is_played;
|
| int timer_queue_suspend_count; // TIMER_TASK_QUEUE suspended if non-zero.
|
| int navigation_task_expected_count;
|
| ExpensiveTaskPolicy expensive_task_policy;
|
| @@ -405,6 +414,7 @@ class BLINK_PLATFORM_EXPORT RendererSchedulerImpl
|
| bool begin_frame_not_expected_soon;
|
| bool in_idle_period_for_testing;
|
| bool use_virtual_time;
|
| + bool is_audio_playing;
|
| std::set<WebViewSchedulerImpl*> web_view_schedulers; // Not owned.
|
| RAILModeObserver* rail_mode_observer; // Not owned.
|
| };
|
|
|