| 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 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 261 if (supervisor_ && supervisor_->IsBlocked(url)) | 261 if (supervisor_ && supervisor_->IsBlocked(url)) |
| 262 continue; | 262 continue; |
| 263 | 263 |
| 264 NTPTile tile; | 264 NTPTile tile; |
| 265 tile.title = base::UTF8ToUTF16(suggestion_pb.title()); | 265 tile.title = base::UTF8ToUTF16(suggestion_pb.title()); |
| 266 tile.url = url; | 266 tile.url = url; |
| 267 tile.source = TileSource::SUGGESTIONS_SERVICE; | 267 tile.source = TileSource::SUGGESTIONS_SERVICE; |
| 268 tile.whitelist_icon_path = GetWhitelistLargeIconPath(url); | 268 tile.whitelist_icon_path = GetWhitelistLargeIconPath(url); |
| 269 tile.thumbnail_url = GURL(suggestion_pb.thumbnail()); | 269 tile.thumbnail_url = GURL(suggestion_pb.thumbnail()); |
| 270 tile.favicon_url = GURL(suggestion_pb.favicon_url()); | 270 tile.favicon_url = GURL(suggestion_pb.favicon_url()); |
| 271 if (AreNtpMostLikelyFaviconsFromServerEnabled()) { |
| 272 icon_cacher_->StartFetchMostLikely( |
| 273 url, base::Bind(&MostVisitedSites::OnIconMadeAvailable, |
| 274 base::Unretained(this), url)); |
| 275 } |
| 271 | 276 |
| 272 tiles.push_back(std::move(tile)); | 277 tiles.push_back(std::move(tile)); |
| 273 } | 278 } |
| 274 | 279 |
| 275 mv_source_ = TileSource::SUGGESTIONS_SERVICE; | 280 mv_source_ = TileSource::SUGGESTIONS_SERVICE; |
| 276 SaveNewTilesAndNotify(std::move(tiles)); | 281 SaveNewTilesAndNotify(std::move(tiles)); |
| 277 } | 282 } |
| 278 | 283 |
| 279 NTPTilesVector MostVisitedSites::CreateWhitelistEntryPointTiles( | 284 NTPTilesVector MostVisitedSites::CreateWhitelistEntryPointTiles( |
| 280 const NTPTilesVector& personal_tiles) { | 285 const NTPTilesVector& personal_tiles) { |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 | 358 |
| 354 NTPTile tile; | 359 NTPTile tile; |
| 355 tile.title = popular_site.title; | 360 tile.title = popular_site.title; |
| 356 tile.url = GURL(popular_site.url); | 361 tile.url = GURL(popular_site.url); |
| 357 tile.source = TileSource::POPULAR; | 362 tile.source = TileSource::POPULAR; |
| 358 | 363 |
| 359 popular_sites_tiles.push_back(std::move(tile)); | 364 popular_sites_tiles.push_back(std::move(tile)); |
| 360 base::Closure icon_available = | 365 base::Closure icon_available = |
| 361 base::Bind(&MostVisitedSites::OnIconMadeAvailable, | 366 base::Bind(&MostVisitedSites::OnIconMadeAvailable, |
| 362 base::Unretained(this), popular_site.url); | 367 base::Unretained(this), popular_site.url); |
| 363 icon_cacher_->StartFetch(popular_site, icon_available, icon_available); | 368 icon_cacher_->StartFetchPopularSites(popular_site, icon_available, |
| 369 icon_available); |
| 364 if (popular_sites_tiles.size() >= num_popular_sites_tiles) | 370 if (popular_sites_tiles.size() >= num_popular_sites_tiles) |
| 365 break; | 371 break; |
| 366 } | 372 } |
| 367 } | 373 } |
| 368 return popular_sites_tiles; | 374 return popular_sites_tiles; |
| 369 } | 375 } |
| 370 | 376 |
| 371 void MostVisitedSites::SaveNewTilesAndNotify(NTPTilesVector personal_tiles) { | 377 void MostVisitedSites::SaveNewTilesAndNotify(NTPTilesVector personal_tiles) { |
| 372 NTPTilesVector whitelist_tiles = | 378 NTPTilesVector whitelist_tiles = |
| 373 CreateWhitelistEntryPointTiles(personal_tiles); | 379 CreateWhitelistEntryPointTiles(personal_tiles); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 } | 421 } |
| 416 | 422 |
| 417 void MostVisitedSites::OnPopularSitesDownloaded(bool success) { | 423 void MostVisitedSites::OnPopularSitesDownloaded(bool success) { |
| 418 if (!success) { | 424 if (!success) { |
| 419 LOG(WARNING) << "Download of popular sites failed"; | 425 LOG(WARNING) << "Download of popular sites failed"; |
| 420 return; | 426 return; |
| 421 } | 427 } |
| 422 | 428 |
| 423 for (const PopularSites::Site& popular_site : popular_sites_->sites()) { | 429 for (const PopularSites::Site& popular_site : popular_sites_->sites()) { |
| 424 // Ignore callback; these icons will be seen on the *next* NTP. | 430 // Ignore callback; these icons will be seen on the *next* NTP. |
| 425 icon_cacher_->StartFetch(popular_site, base::Closure(), base::Closure()); | 431 icon_cacher_->StartFetchPopularSites(popular_site, base::Closure(), |
| 432 base::Closure()); |
| 426 } | 433 } |
| 427 } | 434 } |
| 428 | 435 |
| 429 void MostVisitedSites::OnIconMadeAvailable(const GURL& site_url) { | 436 void MostVisitedSites::OnIconMadeAvailable(const GURL& site_url) { |
| 430 observer_->OnIconMadeAvailable(site_url); | 437 observer_->OnIconMadeAvailable(site_url); |
| 431 } | 438 } |
| 432 | 439 |
| 433 void MostVisitedSites::TopSitesLoaded(TopSites* top_sites) {} | 440 void MostVisitedSites::TopSitesLoaded(TopSites* top_sites) {} |
| 434 | 441 |
| 435 void MostVisitedSites::TopSitesChanged(TopSites* top_sites, | 442 void MostVisitedSites::TopSitesChanged(TopSites* top_sites, |
| 436 ChangeReason change_reason) { | 443 ChangeReason change_reason) { |
| 437 if (mv_source_ == TileSource::TOP_SITES) { | 444 if (mv_source_ == TileSource::TOP_SITES) { |
| 438 // The displayed tiles are invalidated. | 445 // The displayed tiles are invalidated. |
| 439 InitiateTopSitesQuery(); | 446 InitiateTopSitesQuery(); |
| 440 } | 447 } |
| 441 } | 448 } |
| 442 | 449 |
| 443 } // namespace ntp_tiles | 450 } // namespace ntp_tiles |
| OLD | NEW |