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

Side by Side Diff: chrome/browser/predictors/resource_prefetch_predictor.cc

Issue 2743373002: predictors: Highlight prefetchable resources in webui. (Closed)
Patch Set: Created 3 years, 9 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/predictors/resource_prefetch_predictor.h" 5 #include "chrome/browser/predictors/resource_prefetch_predictor.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 } 634 }
635 635
636 bool ResourcePrefetchPredictor::IsUrlPrefetchable(const GURL& main_frame_url) { 636 bool ResourcePrefetchPredictor::IsUrlPrefetchable(const GURL& main_frame_url) {
637 DCHECK_CURRENTLY_ON(BrowserThread::UI); 637 DCHECK_CURRENTLY_ON(BrowserThread::UI);
638 if (initialization_state_ != INITIALIZED) 638 if (initialization_state_ != INITIALIZED)
639 return false; 639 return false;
640 640
641 return GetPrefetchData(main_frame_url, nullptr); 641 return GetPrefetchData(main_frame_url, nullptr);
642 } 642 }
643 643
644 bool ResourcePrefetchPredictor::IsResourcePrefetchable(
645 const ResourceData& resource) const {
646 float confidence = static_cast<float>(resource.number_of_hits()) /
647 (resource.number_of_hits() + resource.number_of_misses());
648 return confidence >= config_.min_resource_confidence_to_trigger_prefetch &&
649 resource.number_of_hits() >=
650 config_.min_resource_hits_to_trigger_prefetch;
651 }
652
644 void ResourcePrefetchPredictor::SetObserverForTesting(TestObserver* observer) { 653 void ResourcePrefetchPredictor::SetObserverForTesting(TestObserver* observer) {
645 observer_ = observer; 654 observer_ = observer;
646 } 655 }
647 656
648 void ResourcePrefetchPredictor::Shutdown() { 657 void ResourcePrefetchPredictor::Shutdown() {
649 if (prefetch_manager_.get()) { 658 if (prefetch_manager_.get()) {
650 prefetch_manager_->ShutdownOnUIThread(); 659 prefetch_manager_->ShutdownOnUIThread();
651 prefetch_manager_ = NULL; 660 prefetch_manager_ = NULL;
652 } 661 }
653 history_service_observer_.RemoveAll(); 662 history_service_observer_.RemoveAll();
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after
1313 const RedirectData& url_redirect_data = 1322 const RedirectData& url_redirect_data =
1314 is_host ? empty_redirect_data : data; 1323 is_host ? empty_redirect_data : data;
1315 BrowserThread::PostTask( 1324 BrowserThread::PostTask(
1316 BrowserThread::DB, FROM_HERE, 1325 BrowserThread::DB, FROM_HERE,
1317 base::Bind(&ResourcePrefetchPredictorTables::UpdateData, tables_, 1326 base::Bind(&ResourcePrefetchPredictorTables::UpdateData, tables_,
1318 empty_data, empty_data, url_redirect_data, 1327 empty_data, empty_data, url_redirect_data,
1319 host_redirect_data)); 1328 host_redirect_data));
1320 } 1329 }
1321 } 1330 }
1322 1331
1323 bool ResourcePrefetchPredictor::IsResourcePrefetchable(
1324 const ResourceData& resource) const {
1325 float confidence = static_cast<float>(resource.number_of_hits()) /
1326 (resource.number_of_hits() + resource.number_of_misses());
1327 return confidence >= config_.min_resource_confidence_to_trigger_prefetch &&
1328 resource.number_of_hits() >=
1329 config_.min_resource_hits_to_trigger_prefetch;
1330 }
1331
1332 void ResourcePrefetchPredictor::ReportDatabaseReadiness( 1332 void ResourcePrefetchPredictor::ReportDatabaseReadiness(
1333 const history::TopHostsList& top_hosts) const { 1333 const history::TopHostsList& top_hosts) const {
1334 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1334 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1335 if (top_hosts.size() == 0) 1335 if (top_hosts.size() == 0)
1336 return; 1336 return;
1337 1337
1338 size_t count_in_cache = 0; 1338 size_t count_in_cache = 0;
1339 size_t total_visits = 0; 1339 size_t total_visits = 0;
1340 for (const std::pair<std::string, int>& top_host : top_hosts) { 1340 for (const std::pair<std::string, int>& top_host : top_hosts) {
1341 const std::string& host = top_host.first; 1341 const std::string& host = top_host.first;
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1409 TestObserver::~TestObserver() { 1409 TestObserver::~TestObserver() {
1410 predictor_->SetObserverForTesting(nullptr); 1410 predictor_->SetObserverForTesting(nullptr);
1411 } 1411 }
1412 1412
1413 TestObserver::TestObserver(ResourcePrefetchPredictor* predictor) 1413 TestObserver::TestObserver(ResourcePrefetchPredictor* predictor)
1414 : predictor_(predictor) { 1414 : predictor_(predictor) {
1415 predictor_->SetObserverForTesting(this); 1415 predictor_->SetObserverForTesting(this);
1416 } 1416 }
1417 1417
1418 } // namespace predictors 1418 } // namespace predictors
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698