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

Unified Diff: chrome/browser/prerender/prerender_contents.cc

Issue 7210020: Added prerendering to omnibox. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compile error. Created 9 years, 6 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: chrome/browser/prerender/prerender_contents.cc
diff --git a/chrome/browser/prerender/prerender_contents.cc b/chrome/browser/prerender/prerender_contents.cc
index 80572279d04f26ca85ee7ed130e590a5caaa6ff6..4778e9a5fdceb424af5486de7310444ad0ad2516 100644
--- a/chrome/browser/prerender/prerender_contents.cc
+++ b/chrome/browser/prerender/prerender_contents.cc
@@ -149,8 +149,6 @@ void PrerenderContents::StartPrerendering(
DCHECK(profile_ != NULL);
DCHECK(!prerendering_has_started_);
DCHECK(prerender_contents_.get() == NULL);
- DCHECK(source_render_view_host != NULL);
- DCHECK(source_render_view_host->view() != NULL);
prerendering_has_started_ = true;
TabContents* new_contents = new TabContents(profile_, NULL, MSG_ROUTING_NONE,
@@ -159,26 +157,28 @@ void PrerenderContents::StartPrerendering(
TabContentsObserver::Observe(new_contents);
prerender_contents_->download_tab_helper()->set_delegate(this);
- TabContents* source_tc =
- source_render_view_host->delegate()->GetAsTabContents();
- if (source_tc) {
- // So that history merging will work, get the max page ID
- // of the old page, and add a safety margin of 10 to it (for things
- // such as redirects).
- starting_page_id_ = source_tc->GetMaxPageID();
- if (starting_page_id_ < 0)
- starting_page_id_ = 0;
- starting_page_id_ += kPrerenderPageIdOffset;
- prerender_contents_->controller().set_max_restored_page_id(
- starting_page_id_);
-
- tab_contents_delegate_.reset(new TabContentsDelegateImpl(this));
- new_contents->set_delegate(tab_contents_delegate_.get());
-
- // Set the size of the new TC to that of the old TC.
- gfx::Rect tab_bounds;
- source_tc->view()->GetContainerBounds(&tab_bounds);
- prerender_contents_->view()->SizeContents(tab_bounds.size());
+ if (source_render_view_host) {
+ TabContents* source_tc =
+ source_render_view_host->delegate()->GetAsTabContents();
+ if (source_tc) {
+ // So that history merging will work, get the max page ID
+ // of the old page, and add a safety margin of 10 to it (for things
+ // such as redirects).
+ starting_page_id_ = source_tc->GetMaxPageID();
+ if (starting_page_id_ < 0)
+ starting_page_id_ = 0;
+ starting_page_id_ += kPrerenderPageIdOffset;
+ prerender_contents_->controller().set_max_restored_page_id(
+ starting_page_id_);
+
+ tab_contents_delegate_.reset(new TabContentsDelegateImpl(this));
+ new_contents->set_delegate(tab_contents_delegate_.get());
+
+ // Set the size of the new TC to that of the old TC.
+ gfx::Rect tab_bounds;
+ source_tc->view()->GetContainerBounds(&tab_bounds);
+ prerender_contents_->view()->SizeContents(tab_bounds.size());
+ }
}
// Register as an observer of the RenderViewHost so we get messages.

Powered by Google App Engine
This is Rietveld 408576698