OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 "components/ntp_tiles/most_visited_sites.h" | 5 #include "components/ntp_tiles/most_visited_sites.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 if (supervisor_ && supervisor_->IsBlocked(url)) | 269 if (supervisor_ && supervisor_->IsBlocked(url)) |
270 continue; | 270 continue; |
271 | 271 |
272 NTPTile tile; | 272 NTPTile tile; |
273 tile.title = base::UTF8ToUTF16(suggestion_pb.title()); | 273 tile.title = base::UTF8ToUTF16(suggestion_pb.title()); |
274 tile.url = url; | 274 tile.url = url; |
275 tile.source = TileSource::SUGGESTIONS_SERVICE; | 275 tile.source = TileSource::SUGGESTIONS_SERVICE; |
276 tile.whitelist_icon_path = GetWhitelistLargeIconPath(url); | 276 tile.whitelist_icon_path = GetWhitelistLargeIconPath(url); |
277 tile.thumbnail_url = GURL(suggestion_pb.thumbnail()); | 277 tile.thumbnail_url = GURL(suggestion_pb.thumbnail()); |
278 tile.favicon_url = GURL(suggestion_pb.favicon_url()); | 278 tile.favicon_url = GURL(suggestion_pb.favicon_url()); |
| 279 if (AreNtpMostLikelyFaviconsFromServerEnabled()) { |
| 280 icon_cacher_->StartFetchMostLikely( |
| 281 url, base::Bind(&MostVisitedSites::OnIconMadeAvailable, |
| 282 base::Unretained(this), url)); |
| 283 } |
279 | 284 |
280 tiles.push_back(std::move(tile)); | 285 tiles.push_back(std::move(tile)); |
281 } | 286 } |
282 | 287 |
283 mv_source_ = TileSource::SUGGESTIONS_SERVICE; | 288 mv_source_ = TileSource::SUGGESTIONS_SERVICE; |
284 SaveNewTilesAndNotify(std::move(tiles)); | 289 SaveNewTilesAndNotify(std::move(tiles)); |
285 } | 290 } |
286 | 291 |
287 NTPTilesVector MostVisitedSites::CreateWhitelistEntryPointTiles( | 292 NTPTilesVector MostVisitedSites::CreateWhitelistEntryPointTiles( |
288 const NTPTilesVector& personal_tiles) { | 293 const NTPTilesVector& personal_tiles) { |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 | 366 |
362 NTPTile tile; | 367 NTPTile tile; |
363 tile.title = popular_site.title; | 368 tile.title = popular_site.title; |
364 tile.url = GURL(popular_site.url); | 369 tile.url = GURL(popular_site.url); |
365 tile.source = TileSource::POPULAR; | 370 tile.source = TileSource::POPULAR; |
366 | 371 |
367 popular_sites_tiles.push_back(std::move(tile)); | 372 popular_sites_tiles.push_back(std::move(tile)); |
368 base::Closure icon_available = | 373 base::Closure icon_available = |
369 base::Bind(&MostVisitedSites::OnIconMadeAvailable, | 374 base::Bind(&MostVisitedSites::OnIconMadeAvailable, |
370 base::Unretained(this), popular_site.url); | 375 base::Unretained(this), popular_site.url); |
371 icon_cacher_->StartFetch(popular_site, icon_available, icon_available); | 376 icon_cacher_->StartFetchPopularSites(popular_site, icon_available, |
| 377 icon_available); |
372 if (popular_sites_tiles.size() >= num_popular_sites_tiles) | 378 if (popular_sites_tiles.size() >= num_popular_sites_tiles) |
373 break; | 379 break; |
374 } | 380 } |
375 } | 381 } |
376 return popular_sites_tiles; | 382 return popular_sites_tiles; |
377 } | 383 } |
378 | 384 |
379 void MostVisitedSites::SaveNewTilesAndNotify(NTPTilesVector personal_tiles) { | 385 void MostVisitedSites::SaveNewTilesAndNotify(NTPTilesVector personal_tiles) { |
380 NTPTilesVector whitelist_tiles = | 386 NTPTilesVector whitelist_tiles = |
381 CreateWhitelistEntryPointTiles(personal_tiles); | 387 CreateWhitelistEntryPointTiles(personal_tiles); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
423 } | 429 } |
424 | 430 |
425 void MostVisitedSites::OnPopularSitesDownloaded(bool success) { | 431 void MostVisitedSites::OnPopularSitesDownloaded(bool success) { |
426 if (!success) { | 432 if (!success) { |
427 LOG(WARNING) << "Download of popular sites failed"; | 433 LOG(WARNING) << "Download of popular sites failed"; |
428 return; | 434 return; |
429 } | 435 } |
430 | 436 |
431 for (const PopularSites::Site& popular_site : popular_sites_->sites()) { | 437 for (const PopularSites::Site& popular_site : popular_sites_->sites()) { |
432 // Ignore callback; these icons will be seen on the *next* NTP. | 438 // Ignore callback; these icons will be seen on the *next* NTP. |
433 icon_cacher_->StartFetch(popular_site, base::Closure(), base::Closure()); | 439 icon_cacher_->StartFetchPopularSites(popular_site, base::Closure(), |
| 440 base::Closure()); |
434 } | 441 } |
435 } | 442 } |
436 | 443 |
437 void MostVisitedSites::OnIconMadeAvailable(const GURL& site_url) { | 444 void MostVisitedSites::OnIconMadeAvailable(const GURL& site_url) { |
438 observer_->OnIconMadeAvailable(site_url); | 445 observer_->OnIconMadeAvailable(site_url); |
439 } | 446 } |
440 | 447 |
441 void MostVisitedSites::TopSitesLoaded(TopSites* top_sites) {} | 448 void MostVisitedSites::TopSitesLoaded(TopSites* top_sites) {} |
442 | 449 |
443 void MostVisitedSites::TopSitesChanged(TopSites* top_sites, | 450 void MostVisitedSites::TopSitesChanged(TopSites* top_sites, |
444 ChangeReason change_reason) { | 451 ChangeReason change_reason) { |
445 if (mv_source_ == TileSource::TOP_SITES) { | 452 if (mv_source_ == TileSource::TOP_SITES) { |
446 // The displayed tiles are invalidated. | 453 // The displayed tiles are invalidated. |
447 InitiateTopSitesQuery(); | 454 InitiateTopSitesQuery(); |
448 } | 455 } |
449 } | 456 } |
450 | 457 |
451 } // namespace ntp_tiles | 458 } // namespace ntp_tiles |
OLD | NEW |