Index: content/browser/renderer_host/render_widget_host.cc |
diff --git a/content/browser/renderer_host/render_widget_host.cc b/content/browser/renderer_host/render_widget_host.cc |
index 404ff86093ef97319b1da921c70cda7dfbc631d1..e1bb3f585c28aec9457f0b6da2c5ce061a77f0c2 100644 |
--- a/content/browser/renderer_host/render_widget_host.cc |
+++ b/content/browser/renderer_host/render_widget_host.cc |
@@ -506,19 +506,21 @@ void RenderWidgetHost::StartHangMonitorTimeout(TimeDelta delay) { |
return; |
} |
+ // Set time_when_considered_hung_ if it's null. |
+ Time requested_end_time = Time::Now() + delay; |
+ if (time_when_considered_hung_.is_null()) |
+ time_when_considered_hung_ = requested_end_time; |
+ |
// If we already have a timer that will expire at or before the given delay, |
Charlie Reis
2011/11/11 02:20:10
Maybe we can update this comment to reflect what y
jbates
2011/11/11 02:40:13
Done.
|
- // then we have nothing more to do now. If we have set our end time to null |
- // by calling StopHangMonitorTimeout, though, we will need to restart the |
- // timer. |
+ // then we have nothing more to do now. |
if (hung_renderer_timer_.IsRunning() && |
- hung_renderer_timer_.GetCurrentDelay() <= delay && |
- !time_when_considered_hung_.is_null()) { |
+ hung_renderer_timer_.GetCurrentDelay() <= delay) { |
return; |
} |
// Either the timer is not yet running, or we need to adjust the timer to |
// fire sooner. |
- time_when_considered_hung_ = Time::Now() + delay; |
+ time_when_considered_hung_ = requested_end_time; |
hung_renderer_timer_.Stop(); |
hung_renderer_timer_.Start(FROM_HERE, delay, this, |
&RenderWidgetHost::CheckRendererIsUnresponsive); |