Chromium Code Reviews| 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 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 319 whitelist_tiles.push_back(std::move(tile)); | 319 whitelist_tiles.push_back(std::move(tile)); |
| 320 } | 320 } |
| 321 | 321 |
| 322 return whitelist_tiles; | 322 return whitelist_tiles; |
| 323 } | 323 } |
| 324 | 324 |
| 325 NTPTilesVector MostVisitedSites::CreatePopularSitesTiles( | 325 NTPTilesVector MostVisitedSites::CreatePopularSitesTiles( |
| 326 const NTPTilesVector& personal_tiles, | 326 const NTPTilesVector& personal_tiles, |
| 327 const NTPTilesVector& whitelist_tiles) { | 327 const NTPTilesVector& whitelist_tiles) { |
| 328 // For child accounts popular sites tiles will not be added. | 328 // For child accounts popular sites tiles will not be added. |
| 329 if (supervisor_ && supervisor_->IsChildProfile()) | 329 if ((supervisor_ && supervisor_->IsChildProfile()) || |
| 330 !ShouldShowPopularSites()) | |
|
sfiera
2017/02/13 15:05:54
I think this should be in the lower if-statement,
fhorschig
2017/02/13 18:13:44
Okay.
| |
| 330 return NTPTilesVector(); | 331 return NTPTilesVector(); |
| 331 | 332 |
| 332 size_t num_tiles = personal_tiles.size() + whitelist_tiles.size(); | 333 size_t num_tiles = personal_tiles.size() + whitelist_tiles.size(); |
| 333 DCHECK_LE(num_tiles, static_cast<size_t>(num_sites_)); | 334 DCHECK_LE(num_tiles, static_cast<size_t>(num_sites_)); |
| 334 | 335 |
| 335 // Collect non-blacklisted popular suggestions, skipping those already present | 336 // Collect non-blacklisted popular suggestions, skipping those already present |
| 336 // in the personal suggestions. | 337 // in the personal suggestions. |
| 337 size_t num_popular_sites_tiles = num_sites_ - num_tiles; | 338 size_t num_popular_sites_tiles = num_sites_ - num_tiles; |
| 338 NTPTilesVector popular_sites_tiles; | 339 NTPTilesVector popular_sites_tiles; |
| 339 | 340 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 410 return; | 411 return; |
| 411 | 412 |
| 412 observer_->OnMostVisitedURLsAvailable(current_tiles_); | 413 observer_->OnMostVisitedURLsAvailable(current_tiles_); |
| 413 } | 414 } |
| 414 | 415 |
| 415 void MostVisitedSites::OnPopularSitesDownloaded(bool success) { | 416 void MostVisitedSites::OnPopularSitesDownloaded(bool success) { |
| 416 if (!success) { | 417 if (!success) { |
| 417 LOG(WARNING) << "Download of popular sites failed"; | 418 LOG(WARNING) << "Download of popular sites failed"; |
| 418 return; | 419 return; |
| 419 } | 420 } |
| 420 | |
| 421 // Re-build the tile list. Once done, this will notify the observer. | |
| 422 BuildCurrentTiles(); | |
| 423 } | 421 } |
| 424 | 422 |
| 425 void MostVisitedSites::OnIconMadeAvailable(const GURL& site_url, | 423 void MostVisitedSites::OnIconMadeAvailable(const GURL& site_url, |
| 426 bool newly_available) { | 424 bool newly_available) { |
| 427 if (newly_available) | 425 if (newly_available) |
| 428 observer_->OnIconMadeAvailable(site_url); | 426 observer_->OnIconMadeAvailable(site_url); |
| 429 } | 427 } |
| 430 | 428 |
| 431 void MostVisitedSites::TopSitesLoaded(TopSites* top_sites) {} | 429 void MostVisitedSites::TopSitesLoaded(TopSites* top_sites) {} |
| 432 | 430 |
| 433 void MostVisitedSites::TopSitesChanged(TopSites* top_sites, | 431 void MostVisitedSites::TopSitesChanged(TopSites* top_sites, |
| 434 ChangeReason change_reason) { | 432 ChangeReason change_reason) { |
| 435 if (mv_source_ == NTPTileSource::TOP_SITES) { | 433 if (mv_source_ == NTPTileSource::TOP_SITES) { |
| 436 // The displayed tiles are invalidated. | 434 // The displayed tiles are invalidated. |
| 437 InitiateTopSitesQuery(); | 435 InitiateTopSitesQuery(); |
| 438 } | 436 } |
| 439 } | 437 } |
| 440 | 438 |
| 441 } // namespace ntp_tiles | 439 } // namespace ntp_tiles |
| OLD | NEW |