summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authortburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-20 22:48:16 +0000
committertburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-20 22:48:16 +0000
commit0ce62595afa943f83e98a0bfd0d2b59f5b14a87b (patch)
tree3b8c84eb068c2cda16c41bfa5303127d257877fd /chrome
parentd29a47ae56e1dde7b963a26b2dc53252236d514a (diff)
downloadchromium_src-0ce62595afa943f83e98a0bfd0d2b59f5b14a87b.zip
chromium_src-0ce62595afa943f83e98a0bfd0d2b59f5b14a87b.tar.gz
chromium_src-0ce62595afa943f83e98a0bfd0d2b59f5b14a87b.tar.bz2
Prerender Experiments 5 & 6 are never swapped in, for data
collection purposes. This is accomplished by never permitting matches on their URL for retrieval purposes. R=cbentzel Review URL: https://chromiumcodereview.appspot.com/9791001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127819 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/prerender/prerender_manager.cc3
-rw-r--r--chrome/browser/prerender/prerender_util.cc5
-rw-r--r--chrome/browser/prerender/prerender_util.h5
3 files changed, 12 insertions, 1 deletions
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc
index 57e77c8..8e8bea7 100644
--- a/chrome/browser/prerender/prerender_manager.cc
+++ b/chrome/browser/prerender/prerender_manager.cc
@@ -963,7 +963,8 @@ PrerenderContents* PrerenderManager::GetEntryButNotSpecifiedWC(
it != prerender_list_.end();
++it) {
PrerenderContents* prerender_contents = it->contents_;
- if (prerender_contents->MatchesURL(url, NULL)) {
+ if (prerender_contents->MatchesURL(url, NULL) &&
+ !IsNoSwapInExperiment(prerender_contents->experiment_id())) {
if (!prerender_contents->prerender_contents() ||
!wc ||
prerender_contents->prerender_contents()->web_contents() != wc) {
diff --git a/chrome/browser/prerender/prerender_util.cc b/chrome/browser/prerender/prerender_util.cc
index 5fad483..52f2ce9 100644
--- a/chrome/browser/prerender/prerender_util.cc
+++ b/chrome/browser/prerender/prerender_util.cc
@@ -79,4 +79,9 @@ bool IsWebURL(const GURL& url) {
return url.SchemeIs("http") || url.SchemeIs("https");
}
+bool IsNoSwapInExperiment(uint8 experiment_id) {
+ // Currently, experiments 5 and 6 fall in this category.
+ return experiment_id == 5 || experiment_id == 6;
+}
+
} // namespace prerender
diff --git a/chrome/browser/prerender/prerender_util.h b/chrome/browser/prerender/prerender_util.h
index b5aa2fd..1c09a39 100644
--- a/chrome/browser/prerender/prerender_util.h
+++ b/chrome/browser/prerender/prerender_util.h
@@ -34,6 +34,11 @@ bool IsGoogleSearchResultURL(const GURL& url);
// or https.
bool IsWebURL(const GURL& url);
+// The prerender contents of some experiments should never be swapped in
+// by pretending to never match on the URL. This function will return true
+// iff this is the case for the experiment_id specified.
+bool IsNoSwapInExperiment(uint8 experiment_id);
+
} // namespace prerender
#endif // CHROME_BROWSER_PRERENDER_PRERENDER_UTIL_H_