| 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 4cf3d03a075fc6ec12ef12785cf345281597bb78..df99c91977c538699099a62f0ad60a85a9fb9597 100644
|
| --- a/content/browser/renderer_host/render_widget_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
| @@ -1198,6 +1198,18 @@ void RenderWidgetHostImpl::RendererExited(base::TerminationStatus status,
|
| // Reset some fields in preparation for recovering from a crash.
|
| ResetSizeAndRepaintPendingFlags();
|
| current_size_.SetSize(0, 0);
|
| + // After the renderer crashes, the view is destroyed and so the
|
| + // RenderWidgetHost cannot track its visibility anymore. We assume such
|
| + // RenderWidgetHost to be visible for the sake of internal accounting - be
|
| + // careful about changing this - see http://crbug.com/401859.
|
| + //
|
| + // We need to at least make sure that the RenderProcessHost is notified about
|
| + // the |is_hidden_| change, so that the renderer will have correct visibility
|
| + // set when respawned.
|
| + if (!is_hidden_) {
|
| + process_->WidgetRestored();
|
| + is_hidden_ = false;
|
| + }
|
|
|
| // Reset this to ensure the hung renderer mechanism is working properly.
|
| in_flight_event_count_ = 0;
|
|
|