summaryrefslogtreecommitdiffstats
path: root/chromium/content/browser/frame_host
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/browser/frame_host')
-rw-r--r--chromium/content/browser/frame_host/render_frame_host_impl.cc7
-rw-r--r--chromium/content/browser/frame_host/render_frame_host_impl.h2
2 files changed, 8 insertions, 1 deletions
diff --git a/chromium/content/browser/frame_host/render_frame_host_impl.cc b/chromium/content/browser/frame_host/render_frame_host_impl.cc
index a6d5d13fe80..f9b3a9a12b6 100644
--- a/chromium/content/browser/frame_host/render_frame_host_impl.cc
+++ b/chromium/content/browser/frame_host/render_frame_host_impl.cc
@@ -1082,6 +1082,13 @@ RenderFrameHostImpl::~RenderFrameHostImpl() {
if (owned_render_widget_host_)
owned_render_widget_host_->ShutdownAndDestroyWidget(false);
+ // TODO(https://crbug.com/1005077): There is no known reason for removing the
+ // RenderViewHostImpl here instead of automatically at the end of the
+ // destructor. In practise, not doing it here will prevent android WebView to
+ // display a new page after a long sequence of WebView creation / deletion.
+ // The real reason why this is needed needs to be investigated.
+ render_view_host_.reset();
+
// If another frame is waiting for a beforeunload ACK from this frame,
// simulate it now.
RenderFrameHostImpl* beforeunload_initiator = GetBeforeUnloadInitiator();
diff --git a/chromium/content/browser/frame_host/render_frame_host_impl.h b/chromium/content/browser/frame_host/render_frame_host_impl.h
index d0f858a41cb..f60ce3a1a01 100644
--- a/chromium/content/browser/frame_host/render_frame_host_impl.h
+++ b/chromium/content/browser/frame_host/render_frame_host_impl.h
@@ -1712,7 +1712,7 @@ class CONTENT_EXPORT RenderFrameHostImpl
//
// TODO(creis): RenderViewHost will eventually go away and be replaced with
// some form of page context.
- const scoped_refptr<RenderViewHostImpl> render_view_host_;
+ scoped_refptr<RenderViewHostImpl> render_view_host_;
RenderFrameHostDelegate* const delegate_;