Upstream oodles of Chrome for Android code into Chromium.
[chromium-blink-merge.git] / chrome / browser / precache / most_visited_urls_provider.cc
blob3f7736f84a862652ce3a05e5bc128108a2ccc4ef
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/precache/most_visited_urls_provider.h"
7 #include <list>
9 #include "base/bind.h"
10 #include "components/history/core/browser/history_types.h"
11 #include "components/history/core/browser/top_sites.h"
12 #include "url/gurl.h"
14 using history::MostVisitedURLList;
16 namespace {
18 void OnMostVisitedURLsReceived(
19 const precache::URLListProvider::GetURLsCallback& callback,
20 const MostVisitedURLList& most_visited_urls) {
21 std::list<GURL> urls;
22 for (MostVisitedURLList::const_iterator it = most_visited_urls.begin();
23 it != most_visited_urls.end(); ++it) {
24 if (it->url.SchemeIs("http")) {
25 urls.push_back(it->url);
28 callback.Run(urls);
31 } // namespace
33 namespace precache {
35 MostVisitedURLsProvider::MostVisitedURLsProvider(history::TopSites* top_sites)
36 : top_sites_(top_sites) {}
38 MostVisitedURLsProvider::~MostVisitedURLsProvider() {}
40 void MostVisitedURLsProvider::GetURLs(const GetURLsCallback& callback) {
41 top_sites_->GetMostVisitedURLs(
42 base::Bind(&OnMostVisitedURLsReceived, callback), false);
45 } // namespace precache