| Index: content/browser/web_contents/web_contents_impl.cc
|
| diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
| index b22bfdaa29fea8982f715fce1d99644b77d2ee72..b6c016749eaad9fc140c2f0cdb08d1e01f5170b4 100644
|
| --- a/content/browser/web_contents/web_contents_impl.cc
|
| +++ b/content/browser/web_contents/web_contents_impl.cc
|
| @@ -4913,14 +4913,17 @@ bool WebContentsImpl::CreateRenderViewForRenderManager(
|
| TRACE_EVENT0("browser,navigation",
|
| "WebContentsImpl::CreateRenderViewForRenderManager");
|
|
|
| - if (proxy_routing_id == MSG_ROUTING_NONE)
|
| + RenderViewHostImpl* rvhi = static_cast<RenderViewHostImpl*>(render_view_host);
|
| +
|
| + // We only create a RWHV for active RenderViewHosts. When an inactive RVH is
|
| + // reused, the RWHV is created in RenderFrameHostManager::CommitPending.
|
| + if (rvhi->is_active()) {
|
| + DCHECK_EQ(MSG_ROUTING_NONE, proxy_routing_id);
|
| CreateRenderWidgetHostViewForRenderManager(render_view_host);
|
| + }
|
|
|
| - if (!static_cast<RenderViewHostImpl*>(render_view_host)
|
| - ->CreateRenderView(opener_frame_routing_id,
|
| - proxy_routing_id,
|
| - replicated_frame_state,
|
| - created_with_opener_)) {
|
| + if (!rvhi->CreateRenderView(opener_frame_routing_id, proxy_routing_id,
|
| + replicated_frame_state, created_with_opener_)) {
|
| return false;
|
| }
|
|
|
|
|