| Index: chrome/browser/renderer_host/render_widget_host_view_views.cc
|
| diff --git a/chrome/browser/renderer_host/render_widget_host_view_views.cc b/chrome/browser/renderer_host/render_widget_host_view_views.cc
|
| index 80804ad5b531c015aeb45955a65dcc86cdb923bc..b2ef4f6a9fe0441acedebb82a26a9898035faa13 100644
|
| --- a/chrome/browser/renderer_host/render_widget_host_view_views.cc
|
| +++ b/chrome/browser/renderer_host/render_widget_host_view_views.cc
|
| @@ -130,8 +130,6 @@ RenderWidgetHostViewViews::RenderWidgetHostViewViews(RenderWidgetHost* host)
|
| }
|
|
|
| RenderWidgetHostViewViews::~RenderWidgetHostViewViews() {
|
| - RenderViewGone(base::TERMINATION_STATUS_NORMAL_TERMINATION,
|
| - ResultCodes::NORMAL_EXIT);
|
| }
|
|
|
| void RenderWidgetHostViewViews::InitAsChild() {
|
| @@ -293,8 +291,12 @@ void RenderWidgetHostViewViews::RenderViewGone(base::TerminationStatus status,
|
| }
|
|
|
| void RenderWidgetHostViewViews::Destroy() {
|
| - // TODO(anicolao): deal with any special popup cleanup
|
| - NOTIMPLEMENTED();
|
| + // host_'s destruction brought us here, null it out so we don't use it
|
| + host_ = NULL;
|
| +
|
| + if (GetParent())
|
| + GetParent()->RemoveChildView(this);
|
| + MessageLoop::current()->DeleteSoon(FROM_HERE, this);
|
| }
|
|
|
| void RenderWidgetHostViewViews::SetTooltipText(const std::wstring& tip) {
|
|
|