| 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() {
|
|
|