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

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

Issue 11348357: Add observer interface to PrerenderContents. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: final review remediation, clear to land version Created 8 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
« no previous file with comments | « chrome/browser/prerender/prerender_manager.h ('k') | chrome/browser/prerender/prerender_tracker.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/prerender/prerender_manager.cc
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc
index 8dbbf5365d822a92f8f2ff82f8b2b8e47272b21e..2b709881c6ba7e75a87d8da9b346aca3bf67bb2f 100644
--- a/chrome/browser/prerender/prerender_manager.cc
+++ b/chrome/browser/prerender/prerender_manager.cc
@@ -420,7 +420,7 @@ bool PrerenderManager::MaybeUsePrerenderedPage(WebContents* web_contents,
histograms_->RecordPerSessionCount(prerender_contents->origin(),
++prerenders_per_session_count_);
histograms_->RecordUsedPrerender(prerender_contents->origin());
- prerender_contents->set_final_status(FINAL_STATUS_USED);
+ prerender_contents->SetFinalStatus(FINAL_STATUS_USED);
RenderViewHost* new_render_view_host =
prerender_contents->prerender_contents()->web_contents()->
@@ -626,12 +626,13 @@ bool PrerenderManager::IsPrerenderingPossible() {
// static
bool PrerenderManager::ActuallyPrerendering() {
- return IsPrerenderingPossible() && !IsControlGroup();
+ return IsPrerenderingPossible() && !IsControlGroup(kNoExperiment);
}
// static
-bool PrerenderManager::IsControlGroup() {
- return GetMode() == PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP;
+bool PrerenderManager::IsControlGroup(uint8 experiment_id) {
+ return GetMode() == PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP ||
+ IsControlGroupExperiment(experiment_id);
}
// static
@@ -806,7 +807,7 @@ DictionaryValue* PrerenderManager::GetAsValue() const {
dict_value->SetBoolean("omnibox_enabled", IsOmniboxEnabled(profile_));
// If prerender is disabled via a flag this method is not even called.
std::string enabled_note;
- if (IsControlGroup())
+ if (IsControlGroup(kNoExperiment))
enabled_note += "(Control group: Not actually prerendering) ";
if (IsNoUseGroup())
enabled_note += "(No-use group: Not swapping in prerendered pages) ";
@@ -1016,9 +1017,7 @@ PrerenderHandle* PrerenderManager::AddPrerender(
GURL url = url_arg;
GURL alias_url;
uint8 experiment = GetQueryStringBasedExperiment(url_arg);
- bool control_group_behavior =
- IsControlGroup() || IsControlGroupExperiment(experiment);
- if (control_group_behavior &&
+ if (IsControlGroup(experiment) &&
MaybeGetQueryStringBasedAliasURL(url, &alias_url)) {
url = alias_url;
}
@@ -1083,9 +1082,9 @@ PrerenderHandle* PrerenderManager::AddPrerender(
size.IsEmpty() ? config_.default_tab_bounds.size() : size;
prerender_contents->StartPrerendering(process_id, contents_size,
- session_storage_namespace,
- control_group_behavior);
- DCHECK(control_group_behavior ||
+ session_storage_namespace);
+
+ DCHECK(IsControlGroup(experiment) ||
prerender_contents->prerendering_has_started());
while (active_prerenders_.size() > config_.max_concurrency) {
@@ -1184,7 +1183,7 @@ PrerenderContents* PrerenderManager::CreatePrerenderContents(
uint8 experiment_id) {
DCHECK(CalledOnValidThread());
return prerender_contents_factory_->CreatePrerenderContents(
- this, prerender_tracker_, profile_, url, referrer, origin, experiment_id);
+ this, profile_, url, referrer, origin, experiment_id);
}
void PrerenderManager::SortActivePrerenders() {
« no previous file with comments | « chrome/browser/prerender/prerender_manager.h ('k') | chrome/browser/prerender/prerender_tracker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698