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

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

Issue 10802024: Make three simultanious prerenders the default maximum in Canary and Dev only. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add an histogram Created 8 years, 5 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 6eee18a1182ec0649edf7d5c864de602fed8d9fc..5cdeccdcf82806e04abc277ede9785db19a274a8 100644
--- a/chrome/browser/prerender/prerender_manager.cc
+++ b/chrome/browser/prerender/prerender_manager.cc
@@ -69,9 +69,6 @@ const int kWindowDurationSeconds = 30;
// Time interval at which periodic cleanups are performed.
const int kPeriodicCleanupIntervalMs = 1000;
-// Time interval before a new prerender is allowed.
-const int kMinTimeBetweenPrerendersMs = 500;
-
// Valid HTTP methods for prerendering.
const char* const kValidHttpMethods[] = {
"GET",
@@ -196,6 +193,10 @@ PrerenderManager::PrerenderManager(Profile* profile,
// Any other checks simply make sure that the PrerenderManager is accessed on
// the same thread that it was created on.
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+
+ if (GetMode() == PRERENDER_MODE_EXPERIMENT_ONE_PRERENDER_GROUP) {
+ config_.max_concurrency = 1;
+ }
}
PrerenderManager::~PrerenderManager() {
@@ -559,6 +560,8 @@ const char* PrerenderManager::GetModeString() {
return "_5MinTTL";
case PRERENDER_MODE_EXPERIMENT_NO_USE_GROUP:
return "_NoUse";
+ case PRERENDER_MODE_EXPERIMENT_ONE_PRERENDER_GROUP:
+ return "_One";
case PRERENDER_MODE_MAX:
NOTREACHED() << "Invalid PrerenderManager mode.";
break;
@@ -928,8 +931,6 @@ PrerenderHandle* PrerenderManager::AddPrerender(
if (!prerender_contents || !prerender_contents->Init())
return NULL;
- histograms_->RecordPrerenderStarted(origin);
-
// TODO(cbentzel): Move invalid checks here instead of PrerenderContents?
active_prerender_list_.push_back(
linked_ptr<PrerenderData>(new PrerenderData(this, prerender_contents)));
@@ -945,12 +946,14 @@ PrerenderHandle* PrerenderManager::AddPrerender(
session_storage_namespace,
control_group_behavior);
- while (active_prerender_list_.size() > config_.max_elements) {
+ while (active_prerender_list_.size() > config_.max_concurrency) {
prerender_contents = active_prerender_list_.front()->contents_;
DCHECK(prerender_contents);
prerender_contents->Destroy(FINAL_STATUS_EVICTED);
}
+ histograms_->RecordPrerenderStarted(origin, active_prerender_list_.size());
dominich 2012/07/19 16:04:38 changing this is bad - we'll have a mismatch betwe
gavinp 2012/07/23 18:35:21 Done.
+
StartSchedulingPeriodicCleanups();
return prerender_handle;
}

Powered by Google App Engine
This is Rietveld 408576698