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

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

Issue 8801012: Add support for content::Referrer to prerender (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updates Created 9 years 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_manager.cc
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc
index a754e206b4bc1cc4f6f6f0e659a97485058fb97d..0e44e5cd2e4a1e29455b77272e02802ce09944f0 100644
--- a/chrome/browser/prerender/prerender_manager.cc
+++ b/chrome/browser/prerender/prerender_manager.cc
@@ -317,10 +317,11 @@ void PrerenderManager::SetPrerenderContentsFactory(
prerender_contents_factory_.reset(prerender_contents_factory);
}
-bool PrerenderManager::AddPrerenderFromLinkRelPrerender(int process_id,
- int route_id,
- const GURL& url,
- const GURL& referrer) {
+bool PrerenderManager::AddPrerenderFromLinkRelPrerender(
+ int process_id,
+ int route_id,
+ const GURL& url,
+ const content::Referrer& referrer) {
std::pair<int, int> child_route_id_pair = std::make_pair(process_id,
route_id);
@@ -349,7 +350,7 @@ bool PrerenderManager::AddPrerenderFromOmnibox(
NOTREACHED();
break;
};
- return AddPrerender(origin, std::make_pair(-1, -1), url, GURL(),
+ return AddPrerender(origin, std::make_pair(-1, -1), url, content::Referrer(),
session_storage_namespace);
}
@@ -357,12 +358,14 @@ bool PrerenderManager::AddPrerender(
Origin origin,
const std::pair<int, int>& child_route_id_pair,
const GURL& url_arg,
- const GURL& referrer,
+ const content::Referrer& referrer,
SessionStorageNamespace* session_storage_namespace) {
DCHECK(CalledOnValidThread());
- if (origin == ORIGIN_LINK_REL_PRERENDER && IsGoogleSearchResultURL(referrer))
+ if (origin == ORIGIN_LINK_REL_PRERENDER &&
+ IsGoogleSearchResultURL(referrer.url)) {
origin = ORIGIN_GWS_PRERENDER;
+ }
// If the referring page is prerendering, defer the prerender.
std::list<PrerenderContentsData>::iterator source_prerender =
@@ -770,7 +773,7 @@ bool PrerenderManager::IsPrerenderElementFresh(const base::Time start) const {
PrerenderContents* PrerenderManager::CreatePrerenderContents(
const GURL& url,
- const GURL& referrer,
+ const content::Referrer& referrer,
Origin origin,
uint8 experiment_id) {
DCHECK(CalledOnValidThread());
« no previous file with comments | « chrome/browser/prerender/prerender_manager.h ('k') | chrome/browser/prerender/prerender_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698