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 2dd5a8c5656636e81c0b1badbc9721027901ea9b..682d9974cf0f01f0250987c1e4562adfa6cef73c 100644 |
--- a/content/browser/web_contents/web_contents_impl.cc |
+++ b/content/browser/web_contents/web_contents_impl.cc |
@@ -3429,10 +3429,18 @@ void WebContentsImpl::UpdateState(RenderViewHost* rvh, |
// TODO(nasko): This should go through RenderFrameHost. |
// TODO(creis): We can't update state for cross-process subframes until we |
// have FrameNavigationEntries. Once we do, this should be a DCHECK. |
+ LOG(ERROR) << "WCI::UpdateState: " |
+ << rvh->GetProcess()->GetID() |
+ << ":" << rvh->GetRoutingID() |
+ << ":" << rvh->GetSiteInstance()->GetSiteURL() |
+ << ":" << GetRenderManager(); |
+ |
if (rvh != GetRenderViewHost() && |
!GetRenderManager()->IsRVHOnSwappedOutList( |
- static_cast<RenderViewHostImpl*>(rvh))) |
+ static_cast<RenderViewHostImpl*>(rvh))) { |
+ LOG(ERROR) << "WCI::UpdateState: rvh is not a match."; |
return; |
+ } |
// We must be prepared to handle state updates for any page, these occur |
// when the user is scrolling and entering form data, as well as when we're |
@@ -3717,7 +3725,7 @@ WebPreferences WebContentsImpl::GetWebkitPrefs() { |
int WebContentsImpl::CreateSwappedOutRenderView( |
SiteInstance* instance) { |
return GetRenderManager()->CreateRenderFrame(instance, MSG_ROUTING_NONE, |
- true, true); |
+ true, true, true); |
} |
void WebContentsImpl::OnUserGesture() { |
@@ -3882,7 +3890,7 @@ int WebContentsImpl::CreateOpenerRenderViews(SiteInstance* instance) { |
// Create a swapped out RenderView in the given SiteInstance if none exists, |
// setting its opener to the given route_id. Return the new view's route_id. |
return GetRenderManager()->CreateRenderFrame(instance, opener_route_id, |
- true, true); |
+ true, true, true); |
} |
NavigationControllerImpl& WebContentsImpl::GetControllerForRenderManager() { |
@@ -3904,6 +3912,8 @@ bool WebContentsImpl::CreateRenderViewForRenderManager( |
int proxy_routing_id, |
bool for_main_frame) { |
TRACE_EVENT0("browser", "WebContentsImpl::CreateRenderViewForRenderManager"); |
+ LOG(ERROR) << "WC::CreateRenderViewForRenderManager: " |
+ << "for_main_frame:" << for_main_frame; |
// Can be NULL during tests. |
RenderWidgetHostViewBase* rwh_view; |
// TODO(kenrb): RenderWidgetHostViewChildFrame special casing is temporary |
@@ -3948,6 +3958,24 @@ bool WebContentsImpl::CreateRenderViewForRenderManager( |
return true; |
} |
+bool WebContentsImpl::CreateRenderFrameForRenderManager( |
+ RenderFrameHost* render_frame_host, |
+ int parent_routing_id) { |
+ TRACE_EVENT0("browser", "WebContentsImpl::CreateRenderFrameForRenderManager"); |
+ |
+ RenderFrameHostImpl* rfh = |
+ static_cast<RenderFrameHostImpl*>(render_frame_host); |
+ if (!rfh->CreateRenderFrame(parent_routing_id)) |
+ return false; |
+ |
+ // TODO(nasko): When RenderWidgetHost is owned by RenderFrameHost, the passed |
+ // RenderFrameHost will have to be associated with the appropriate |
+ // RenderWidgetHostView or a new one should be created here. |
+ |
+ return true; |
+} |
+ |
+ |
#if defined(OS_ANDROID) |
base::android::ScopedJavaLocalRef<jobject> |