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

Side by Side Diff: chrome/browser/prerender/prerender_local_predictor.cc

Issue 591313005: Provide a way to specify in Finch trials to disable prerender local (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix test Created 6 years, 2 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/prerender/prerender_field_trial.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/prerender/prerender_local_predictor.h" 5 #include "chrome/browser/prerender/prerender_local_predictor.h"
6 6
7 #include <ctype.h> 7 #include <ctype.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <map> 10 #include <map>
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 "Prerender.LocalPredictorTimeUntilUsed", 609 "Prerender.LocalPredictorTimeUntilUsed",
610 GetCurrentTime() - current_prerender_->actual_start_time, 610 GetCurrentTime() - current_prerender_->actual_start_time,
611 base::TimeDelta::FromMilliseconds(10), 611 base::TimeDelta::FromMilliseconds(10),
612 base::TimeDelta::FromMilliseconds(GetMaxLocalPredictionTimeMs()), 612 base::TimeDelta::FromMilliseconds(GetMaxLocalPredictionTimeMs()),
613 50); 613 50);
614 last_swapped_in_prerender_.reset(current_prerender_.release()); 614 last_swapped_in_prerender_.reset(current_prerender_.release());
615 RecordEvent(EVENT_ADD_VISIT_PRERENDER_IDENTIFIED); 615 RecordEvent(EVENT_ADD_VISIT_PRERENDER_IDENTIFIED);
616 } 616 }
617 if (ShouldExcludeTransitionForPrediction(info.transition)) 617 if (ShouldExcludeTransitionForPrediction(info.transition))
618 return; 618 return;
619 Profile* profile = prerender_manager_->profile();
620 if (!profile ||
621 ShouldDisableLocalPredictorDueToPreferencesAndNetwork(profile)) {
622 return;
623 }
619 RecordEvent(EVENT_ADD_VISIT_RELEVANT_TRANSITION); 624 RecordEvent(EVENT_ADD_VISIT_RELEVANT_TRANSITION);
620 base::TimeDelta max_age = 625 base::TimeDelta max_age =
621 base::TimeDelta::FromMilliseconds(GetMaxLocalPredictionTimeMs()); 626 base::TimeDelta::FromMilliseconds(GetMaxLocalPredictionTimeMs());
622 base::TimeDelta min_age = 627 base::TimeDelta min_age =
623 base::TimeDelta::FromMilliseconds(kMinLocalPredictionTimeMs); 628 base::TimeDelta::FromMilliseconds(kMinLocalPredictionTimeMs);
624 std::set<URLID> next_urls_currently_found; 629 std::set<URLID> next_urls_currently_found;
625 std::map<URLID, int> next_urls_num_found; 630 std::map<URLID, int> next_urls_num_found;
626 int num_occurrences_of_current_visit = 0; 631 int num_occurrences_of_current_visit = 0;
627 base::Time last_visited; 632 base::Time last_visited;
628 scoped_ptr<CandidatePrerenderInfo> lookup_info( 633 scoped_ptr<CandidatePrerenderInfo> lookup_info(
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after
1119 Profile* profile = prerender_manager_->profile(); 1124 Profile* profile = prerender_manager_->profile();
1120 if (!profile) 1125 if (!profile)
1121 return NULL; 1126 return NULL;
1122 return HistoryServiceFactory::GetForProfileWithoutCreating(profile); 1127 return HistoryServiceFactory::GetForProfileWithoutCreating(profile);
1123 } 1128 }
1124 1129
1125 void PrerenderLocalPredictor::Init() { 1130 void PrerenderLocalPredictor::Init() {
1126 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1131 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1127 RecordEvent(EVENT_INIT_STARTED); 1132 RecordEvent(EVENT_INIT_STARTED);
1128 Profile* profile = prerender_manager_->profile(); 1133 Profile* profile = prerender_manager_->profile();
1129 if (!profile || DisableLocalPredictorBasedOnSyncAndConfiguration(profile)) { 1134 if (!profile ||
1135 ShouldDisableLocalPredictorBasedOnSyncAndConfiguration(profile)) {
1130 RecordEvent(EVENT_INIT_FAILED_UNENCRYPTED_SYNC_NOT_ENABLED); 1136 RecordEvent(EVENT_INIT_FAILED_UNENCRYPTED_SYNC_NOT_ENABLED);
1131 return; 1137 return;
1132 } 1138 }
1133 HistoryService* history = GetHistoryIfExists(); 1139 HistoryService* history = GetHistoryIfExists();
1134 if (history) { 1140 if (history) {
1135 CHECK(!is_visit_database_observer_); 1141 CHECK(!is_visit_database_observer_);
1136 history->ScheduleDBTask( 1142 history->ScheduleDBTask(
1137 scoped_ptr<history::HistoryDBTask>( 1143 scoped_ptr<history::HistoryDBTask>(
1138 new GetVisitHistoryTask(this, kMaxVisitHistory)), 1144 new GetVisitHistoryTask(this, kMaxVisitHistory)),
1139 &history_db_tracker_); 1145 &history_db_tracker_);
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
1566 break; 1572 break;
1567 case content::SessionStorageNamespace::MERGE_RESULT_MERGEABLE: 1573 case content::SessionStorageNamespace::MERGE_RESULT_MERGEABLE:
1568 RecordEvent(EVENT_NAMESPACE_MISMATCH_MERGE_RESULT_MERGEABLE); 1574 RecordEvent(EVENT_NAMESPACE_MISMATCH_MERGE_RESULT_MERGEABLE);
1569 break; 1575 break;
1570 default: 1576 default:
1571 NOTREACHED(); 1577 NOTREACHED();
1572 } 1578 }
1573 } 1579 }
1574 1580
1575 } // namespace prerender 1581 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_field_trial.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698