| Index: content/browser/renderer_host/render_view_host_impl.cc
|
| diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
|
| index 6ebe0bcac8bb0347ae1772dc0b7fe16947939969..919aee0e996b8ac5ed85280e1dbd940ca10be62d 100644
|
| --- a/content/browser/renderer_host/render_view_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_view_host_impl.cc
|
| @@ -135,6 +135,7 @@ RenderViewHostImpl* RenderViewHostImpl::FromID(int render_process_id,
|
| RenderViewHostImpl::RenderViewHostImpl(SiteInstance* instance,
|
| RenderViewHostDelegate* delegate,
|
| int routing_id,
|
| + bool swapped_out,
|
| SessionStorageNamespace* session_storage)
|
| : RenderWidgetHostImpl(instance->GetProcess(), routing_id),
|
| delegate_(delegate),
|
| @@ -145,7 +146,7 @@ RenderViewHostImpl::RenderViewHostImpl(SiteInstance* instance,
|
| pending_request_id_(-1),
|
| navigations_suspended_(false),
|
| suspended_nav_message_(NULL),
|
| - is_swapped_out_(false),
|
| + is_swapped_out_(swapped_out),
|
| run_modal_reply_msg_(NULL),
|
| is_waiting_for_beforeunload_ack_(false),
|
| is_waiting_for_unload_ack_(false),
|
| @@ -205,6 +206,7 @@ content::SiteInstance* RenderViewHostImpl::GetSiteInstance() const {
|
| }
|
|
|
| bool RenderViewHostImpl::CreateRenderView(const string16& frame_name,
|
| + int opener_route_id,
|
| int32 max_page_id) {
|
| DCHECK(!IsRenderViewLive()) << "Creating view twice";
|
|
|
| @@ -237,6 +239,9 @@ bool RenderViewHostImpl::CreateRenderView(const string16& frame_name,
|
| params.surface_id = surface_id();
|
| params.session_storage_namespace_id = session_storage_namespace_->id();
|
| params.frame_name = frame_name;
|
| + // Ensure the RenderView sets its opener correctly.
|
| + params.opener_route_id = opener_route_id;
|
| + params.swapped_out = is_swapped_out_;
|
| params.next_page_id = next_page_id;
|
| #if defined(OS_POSIX) || defined(USE_AURA)
|
| if (GetView()) {
|
|
|