Index: content/browser/renderer_host/render_widget_host_impl.cc |
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc |
index 0de4c1ccee5673c27c9c669932b0a384c714e02b..3d48995854539b740f4abf044e02d3c659d31ecb 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) { |