diff options
author | rvargas <rvargas@chromium.org> | 2014-09-02 19:52:17 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-03 03:16:32 +0000 |
commit | 5919f157a98dcdd6473aeeb1ca76a2afb8c04279 (patch) | |
tree | e47a79c3cdc78425e7f048d01cb59adc63b64c2c /content/browser | |
parent | 8416a6b92504d4e1a3ca183a505b59885d2f3b61 (diff) | |
download | chromium_src-5919f157a98dcdd6473aeeb1ca76a2afb8c04279.zip chromium_src-5919f157a98dcdd6473aeeb1ca76a2afb8c04279.tar.gz chromium_src-5919f157a98dcdd6473aeeb1ca76a2afb8c04279.tar.bz2 |
Extend the hang monitor timeout when an event ack is received.
The hang monitor is supposed to wait for 30 seconds of inactivity before
deciding that a renderer is not responsive. This CL makes sure that when
waiting for multiple input events, receiving an ack is correctly interpreted
as a responsive renderer (for that moment)
BUG=336198
Review URL: https://codereview.chromium.org/535653002
Cr-Commit-Position: refs/heads/master@{#293060}
Diffstat (limited to 'content/browser')
-rw-r--r-- | content/browser/renderer_host/render_widget_host_impl.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc index 0de4c1c..3d48995 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc @@ -1779,9 +1779,13 @@ void RenderWidgetHostImpl::IncrementInFlightEventCount() { void RenderWidgetHostImpl::DecrementInFlightEventCount() { DCHECK_GE(in_flight_event_count_, 0); - // Cancel pending hung renderer checks since the renderer is responsive. - if (decrement_in_flight_event_count() <= 0) + if (decrement_in_flight_event_count() <= 0) { + // Cancel pending hung renderer checks since the renderer is responsive. StopHangMonitorTimeout(); + } else { + // The renderer is responsive, but there are in-flight events to wait for. + RestartHangMonitorTimeout(); + } } void RenderWidgetHostImpl::OnHasTouchEventHandlers(bool has_handlers) { |