Chromium Code Reviews| 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); |