OLD | NEW |
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/history/history_backend.h" | 5 #include "chrome/browser/history/history_backend.h" |
6 | 6 |
7 #include <list> | 7 #include <list> |
8 #include <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 #include <vector> | 10 #include <vector> |
(...skipping 1413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1424 request->ForwardResult(request->handle(), MostVisitedURLList()); | 1424 request->ForwardResult(request->handle(), MostVisitedURLList()); |
1425 return; | 1425 return; |
1426 } | 1426 } |
1427 | 1427 |
1428 MostVisitedURLList* result = &request->value; | 1428 MostVisitedURLList* result = &request->value; |
1429 QueryMostVisitedURLsImpl(result_count, days_back, result); | 1429 QueryMostVisitedURLsImpl(result_count, days_back, result); |
1430 request->ForwardResult(request->handle(), *result); | 1430 request->ForwardResult(request->handle(), *result); |
1431 } | 1431 } |
1432 | 1432 |
1433 void HistoryBackend::QueryFilteredURLs( | 1433 void HistoryBackend::QueryFilteredURLs( |
1434 scoped_refptr<QueryMostVisitedURLsRequest> request, | 1434 scoped_refptr<QueryFilteredURLsRequest> request, |
1435 int result_count, | 1435 int result_count, |
1436 const history::VisitFilter& filter) { | 1436 const history::VisitFilter& filter) { |
1437 if (request->canceled()) | 1437 if (request->canceled()) |
1438 return; | 1438 return; |
1439 | 1439 |
1440 base::Time request_start = base::Time::Now(); | 1440 base::Time request_start = base::Time::Now(); |
1441 | 1441 |
1442 if (!db_.get()) { | 1442 if (!db_.get()) { |
1443 // No History Database - return an empty list. | 1443 // No History Database - return an empty list. |
1444 request->ForwardResult(request->handle(), MostVisitedURLList()); | 1444 request->ForwardResult(request->handle(),FilteredURLList()); |
1445 return; | 1445 return; |
1446 } | 1446 } |
1447 | 1447 |
1448 VisitVector visits; | 1448 VisitVector visits; |
1449 db_->GetVisibleVisitsDuringTimes(filter, 0, &visits); | 1449 db_->GetVisibleVisitsDuringTimes(filter, 0, &visits); |
1450 | 1450 |
1451 std::map<VisitID, std::pair<VisitID, URLID> > segment_ids; | 1451 std::map<VisitID, std::pair<VisitID, URLID> > segment_ids; |
1452 for (size_t i = 0; i < visits.size(); ++i) { | 1452 for (size_t i = 0; i < visits.size(); ++i) { |
1453 segment_ids[visits[i].visit_id] = | 1453 segment_ids[visits[i].visit_id] = |
1454 std::make_pair(visits[i].referring_visit, visits[i].segment_id); | 1454 std::make_pair(visits[i].referring_visit, visits[i].segment_id); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1524 // Get URL data. | 1524 // Get URL data. |
1525 for (size_t i = 0; i < data.size(); ++i) { | 1525 for (size_t i = 0; i < data.size(); ++i) { |
1526 URLID url_id = db_->GetSegmentRepresentationURL(data[i]->GetID()); | 1526 URLID url_id = db_->GetSegmentRepresentationURL(data[i]->GetID()); |
1527 URLRow info; | 1527 URLRow info; |
1528 if (db_->GetURLRow(url_id, &info)) { | 1528 if (db_->GetURLRow(url_id, &info)) { |
1529 data[i]->SetURL(info.url()); | 1529 data[i]->SetURL(info.url()); |
1530 data[i]->SetTitle(info.title()); | 1530 data[i]->SetTitle(info.title()); |
1531 } | 1531 } |
1532 } | 1532 } |
1533 | 1533 |
1534 MostVisitedURLList& result = request->value; | 1534 FilteredURLList& result = request->value; |
1535 for (size_t i = 0; i < data.size(); ++i) { | 1535 for (size_t i = 0; i < data.size(); ++i) { |
1536 PageUsageData* current_data = data[i]; | 1536 PageUsageData* current_data = data[i]; |
1537 RedirectList redirects; | 1537 FilteredURL url(*current_data); |
1538 GetMostRecentRedirectsFrom(current_data->GetURL(), &redirects); | |
1539 MostVisitedURL url = MakeMostVisitedURL(*current_data, redirects); | |
1540 result.push_back(url); | 1538 result.push_back(url); |
1541 } | 1539 } |
1542 | 1540 |
1543 int delta_time = std::max(1, std::min(999, | 1541 int delta_time = std::max(1, std::min(999, |
1544 static_cast<int>((base::Time::Now() - request_start).InMilliseconds()))); | 1542 static_cast<int>((base::Time::Now() - request_start).InMilliseconds()))); |
1545 STATIC_HISTOGRAM_POINTER_BLOCK( | 1543 STATIC_HISTOGRAM_POINTER_BLOCK( |
1546 "NewTabPage.SuggestedSitesLoadTime", | 1544 "NewTabPage.SuggestedSitesLoadTime", |
1547 Add(delta_time), | 1545 Add(delta_time), |
1548 base::LinearHistogram::FactoryGet("NewTabPage.SuggestedSitesLoadTime", | 1546 base::LinearHistogram::FactoryGet("NewTabPage.SuggestedSitesLoadTime", |
1549 1, 1000, 100, base::Histogram::kUmaTargetedHistogramFlag)); | 1547 1, 1000, 100, base::Histogram::kUmaTargetedHistogramFlag)); |
(...skipping 934 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2484 info.url_id = visit.url_id; | 2482 info.url_id = visit.url_id; |
2485 info.time = visit.visit_time; | 2483 info.time = visit.visit_time; |
2486 info.transition = visit.transition; | 2484 info.transition = visit.transition; |
2487 // If we don't have a delegate yet during setup or shutdown, we will drop | 2485 // If we don't have a delegate yet during setup or shutdown, we will drop |
2488 // these notifications. | 2486 // these notifications. |
2489 if (delegate_.get()) | 2487 if (delegate_.get()) |
2490 delegate_->NotifyVisitDBObserversOnAddVisit(info); | 2488 delegate_->NotifyVisitDBObserversOnAddVisit(info); |
2491 } | 2489 } |
2492 | 2490 |
2493 } // namespace history | 2491 } // namespace history |
OLD | NEW |