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

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

Issue 10933065: Separate same domain and cross domain <link rel=...> prerenders for reporting. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: fix rebase... Created 8 years, 3 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_manager.cc
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc
index b33554a8f7dd19c5082e0f6f1284034b52ec1dc5..6788fbf39772aa9ac625fdc4f9c7790c0df7d072 100644
--- a/chrome/browser/prerender/prerender_manager.cc
+++ b/chrome/browser/prerender/prerender_manager.cc
@@ -238,8 +238,9 @@ PrerenderHandle* PrerenderManager::AddPrerenderFromLinkRelPrerender(
}
}
- // Unit tests pass in a process_id == -1.
+ bool is_same_domain = false;
SessionStorageNamespace* session_storage_namespace = NULL;
+ // Unit tests pass in a process_id == -1.
if (process_id != -1) {
RenderViewHost* source_render_view_host =
RenderViewHost::FromID(process_id, route_id);
@@ -249,13 +250,17 @@ PrerenderHandle* PrerenderManager::AddPrerenderFromLinkRelPrerender(
WebContents::FromRenderViewHost(source_render_view_host);
if (!source_web_contents)
return NULL;
+
+ if (source_web_contents->GetURL().host() == url.host())
dominich 2012/09/13 20:03:36 shorter: is_same_domain = source_web_contents->Get
gavinp 2012/09/14 02:00:42 Done.
+ is_same_domain = true;
// TODO(ajwong): This does not correctly handle storage for isolated apps.
session_storage_namespace =
source_web_contents->GetController()
.GetDefaultSessionStorageNamespace();
}
- return AddPrerender(ORIGIN_LINK_REL_PRERENDER,
+ return AddPrerender(is_same_domain ? ORIGIN_LINK_REL_PRERENDER_SAMEDOMAIN
+ : ORIGIN_LINK_REL_PRERENDER_CROSSDOMAIN,
process_id, url, referrer, size,
session_storage_namespace);
#endif
@@ -912,7 +917,7 @@ PrerenderHandle* PrerenderManager::AddPrerender(
if (!IsEnabled())
return NULL;
- if (origin == ORIGIN_LINK_REL_PRERENDER &&
+ if (origin == ORIGIN_LINK_REL_PRERENDER_CROSSDOMAIN &&
IsGoogleSearchResultURL(referrer.url)) {
origin = ORIGIN_GWS_PRERENDER;
dominich 2012/09/13 20:03:36 GWS could be same-domain.
gavinp 2012/09/14 02:00:42 That's true... But the goal here is to gather stat
dominich 2012/09/14 14:40:45 I'm suggesting changing the conditional, not the e
gavinp 2012/09/14 21:10:47 DOH. Reading comprehension fail. Thanks. I have no
}

Powered by Google App Engine
This is Rietveld 408576698