summaryrefslogtreecommitdiffstats
path: root/content/browser
diff options
context:
space:
mode:
authorrvargas <rvargas@chromium.org>2014-09-02 19:52:17 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-03 03:16:32 +0000
commit5919f157a98dcdd6473aeeb1ca76a2afb8c04279 (patch)
treee47a79c3cdc78425e7f048d01cb59adc63b64c2c /content/browser
parent8416a6b92504d4e1a3ca183a505b59885d2f3b61 (diff)
downloadchromium_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.cc8
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) {