Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(915)

Unified Diff: content/browser/web_contents/web_contents_impl.cc

Issue 23018005: Start renderer in ContentViewCoreImpl::EvaluateJavaScript. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 d30295dd1177d90efaa4a3244ef7d946b004384f..ed611d03f3405f19612774c20d768da6ccecedd8 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -2874,22 +2874,20 @@ void WebContentsImpl::RenderViewCreated(RenderViewHost* render_view_host) {
Source<WebContents>(this),
Details<RenderViewHost>(render_view_host));
NavigationEntry* entry = controller_.GetActiveEntry();
- if (!entry)
- return;
-
- // When we're creating views, we're still doing initial setup, so we always
- // use the pending Web UI rather than any possibly existing committed one.
- if (render_manager_.pending_web_ui())
- render_manager_.pending_web_ui()->RenderViewCreated(render_view_host);
+ if (entry) {
+ // When we're creating views, we're still doing initial setup, so we always
+ // use the pending Web UI rather than any possibly existing committed one.
+ if (render_manager_.pending_web_ui())
+ render_manager_.pending_web_ui()->RenderViewCreated(render_view_host);
+
+ if (entry->IsViewSourceMode()) {
+ // Put the renderer in view source mode.
+ render_view_host->Send(
+ new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID()));
+ }
- if (entry->IsViewSourceMode()) {
- // Put the renderer in view source mode.
- render_view_host->Send(
- new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID()));
+ view_->RenderViewCreated(render_view_host);
}
-
- view_->RenderViewCreated(render_view_host);
-
FOR_EACH_OBSERVER(
WebContentsObserver, observers_, RenderViewCreated(render_view_host));
}
@@ -3636,9 +3634,9 @@ NavigationEntry*
return controller_.GetLastCommittedEntry();
}
-bool WebContentsImpl::CreateRenderViewForRenderManager(
- RenderViewHost* render_view_host, int opener_route_id) {
- TRACE_EVENT0("browser", "WebContentsImpl::CreateRenderViewForRenderManager");
+bool WebContentsImpl::CreateRenderView(RenderViewHost* render_view_host,
+ int opener_route_id,
+ int max_page_id) {
// Can be NULL during tests.
RenderWidgetHostView* rwh_view = view_->CreateViewForWidget(render_view_host);
@@ -3646,11 +3644,6 @@ bool WebContentsImpl::CreateRenderViewForRenderManager(
if (rwh_view)
rwh_view->SetSize(view_->GetContainerSize());
- // Make sure we use the correct starting page_id in the new RenderView.
- UpdateMaxPageIDIfNecessary(render_view_host);
- int32 max_page_id =
- GetMaxPageIDForSiteInstance(render_view_host->GetSiteInstance());
Charlie Reis 2013/08/21 22:06:26 These max page ID calls have to stay, or else the
michaelbai 2013/08/21 23:32:17 Done.
-
if (!static_cast<RenderViewHostImpl*>(
render_view_host)->CreateRenderView(string16(),
opener_route_id,
@@ -3670,6 +3663,24 @@ bool WebContentsImpl::CreateRenderViewForRenderManager(
return true;
}
+bool WebContentsImpl::CreateRenderViewForRenderManager(
+ RenderViewHost* render_view_host, int opener_route_id) {
+ TRACE_EVENT0("browser", "WebContentsImpl::CreateRenderViewForRenderManager");
+
+ // Make sure we use the correct starting page_id in the new RenderView.
+ UpdateMaxPageIDIfNecessary(render_view_host);
+ int32 max_page_id =
+ GetMaxPageIDForSiteInstance(render_view_host->GetSiteInstance());
+ return CreateRenderView(render_view_host, opener_route_id, max_page_id);
+}
+
+#if defined(OS_ANDROID)
+bool WebContentsImpl::CreateRenderViewWithoutNavigationEntry(
+ RenderViewHost* render_view_host) {
+ return CreateRenderView(render_view_host, MSG_ROUTING_NONE, -1);
Charlie Reis 2013/08/21 22:06:26 Just call CreatRenderViewForRenderManager here.
michaelbai 2013/08/21 23:32:17 Done.
+}
+#endif
+
void WebContentsImpl::OnDialogClosed(RenderViewHost* rvh,
IPC::Message* reply_msg,
bool success,

Powered by Google App Engine
This is Rietveld 408576698