Chromium Code Reviews| Index: components/ntp_tiles/popular_sites_impl.cc |
| diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/popular_sites_impl.cc |
| index 34fa0274a06fdae706fd592b9930bb656fe5d22b..eff5c9c54090a7e2628b304887220c15fed6c4e5 100644 |
| --- a/components/ntp_tiles/popular_sites_impl.cc |
| +++ b/components/ntp_tiles/popular_sites_impl.cc |
| @@ -17,6 +17,8 @@ |
| #include "base/time/time.h" |
| #include "base/values.h" |
| #include "components/data_use_measurement/core/data_use_user_data.h" |
| +#include "components/favicon/core/favicon_service.h" |
| +#include "components/favicon_base/favicon_types.h" |
| #include "components/google/core/browser/google_util.h" |
| #include "components/ntp_tiles/constants.h" |
| #include "components/ntp_tiles/field_trial.h" |
| @@ -134,11 +136,52 @@ PopularSites::SitesVector ParseSiteList(const base::ListValue& list) { |
| // This allows instantiation of PopularSites without registered prefs. |
| // That case can occur during tests. |
| -PopularSites::SitesVector GetDefaultFromPrefs(const PrefService& prefs) { |
| +PopularSites::SitesVector GetDefaultFromPrefs( |
|
jkrcal
2017/02/14 08:23:06
drive-by comment: When is this function called?
Y
sfiera
2017/02/14 09:59:16
Even in the absence of sync, I think this implemen
fhorschig
2017/02/14 17:29:02
Good remark. It's now called by the IconCacher whi
|
| + const PrefService& prefs, |
| + favicon::FaviconService* favicons) { |
| if (!ShouldShowPopularSites()) { |
| return PopularSites::SitesVector(); |
| } |
| - return ParseSiteList(*prefs.GetList(kPopularSitesJsonPref)); |
| + PopularSites::SitesVector sites = |
| + ParseSiteList(*prefs.GetList(kPopularSitesJsonPref)); |
| +#if defined(OS_ANDROID) || defined(OS_IOS) |
|
tschumann
2017/02/14 11:56:51
i wonder why is this part only relevant to mobile
fhorschig
2017/02/14 17:29:02
It used to load the defaults and if on mobile, reg
|
| + if (!favicons) { |
| + return sites; |
| + } |
| + favicons->SetFavicons(sites[0].url, sites[0].large_icon_url, |
|
tschumann
2017/02/14 11:56:51
+mastiz who looked into this.
Feels weird to set t
mastiz
2017/02/14 14:44:59
This comment seems obsolete now. Please loop me in
fhorschig
2017/02/14 17:29:02
Like Jan and Chris have pointed out, this was neit
fhorschig
2017/02/14 17:29:02
Absolutely. It seems to be quite an interesting CL
|
| + favicon_base::IconType::FAVICON, |
| + ResourceBundle::GetSharedInstance().GetImageNamed( |
| + IDR_DEFAULT_POPULAR_SITES_ICON0)); |
| + favicons->SetFavicons(sites[1].url, sites[1].large_icon_url, |
| + favicon_base::IconType::FAVICON, |
| + ResourceBundle::GetSharedInstance().GetImageNamed( |
| + IDR_DEFAULT_POPULAR_SITES_ICON1)); |
| + favicons->SetFavicons(sites[2].url, sites[2].large_icon_url, |
| + favicon_base::IconType::FAVICON, |
| + ResourceBundle::GetSharedInstance().GetImageNamed( |
| + IDR_DEFAULT_POPULAR_SITES_ICON2)); |
| + favicons->SetFavicons(sites[3].url, sites[3].large_icon_url, |
| + favicon_base::IconType::FAVICON, |
| + ResourceBundle::GetSharedInstance().GetImageNamed( |
| + IDR_DEFAULT_POPULAR_SITES_ICON3)); |
| + favicons->SetFavicons(sites[4].url, sites[4].large_icon_url, |
| + favicon_base::IconType::FAVICON, |
| + ResourceBundle::GetSharedInstance().GetImageNamed( |
| + IDR_DEFAULT_POPULAR_SITES_ICON4)); |
| + favicons->SetFavicons(sites[5].url, sites[5].large_icon_url, |
| + favicon_base::IconType::FAVICON, |
| + ResourceBundle::GetSharedInstance().GetImageNamed( |
| + IDR_DEFAULT_POPULAR_SITES_ICON5)); |
| + favicons->SetFavicons(sites[6].url, sites[6].large_icon_url, |
| + favicon_base::IconType::FAVICON, |
| + ResourceBundle::GetSharedInstance().GetImageNamed( |
| + IDR_DEFAULT_POPULAR_SITES_ICON6)); |
| + favicons->SetFavicons(sites[7].url, sites[7].large_icon_url, |
| + favicon_base::IconType::FAVICON, |
| + ResourceBundle::GetSharedInstance().GetImageNamed( |
| + IDR_DEFAULT_POPULAR_SITES_ICON7)); |
| +#endif |
| + return sites; |
| } |
| // Creates the List of popular sites based on a snapshot available for mobile. |
| @@ -176,6 +219,7 @@ PopularSitesImpl::PopularSitesImpl( |
| PrefService* prefs, |
| const TemplateURLService* template_url_service, |
| VariationsService* variations_service, |
| + favicon::FaviconService* favicon_service, |
| net::URLRequestContextGetter* download_context, |
| const base::FilePath& directory, |
| ParseJSONCallback parse_json) |
| @@ -187,7 +231,7 @@ PopularSitesImpl::PopularSitesImpl( |
| download_context_(download_context), |
| parse_json_(std::move(parse_json)), |
| is_fallback_(false), |
| - sites_(GetDefaultFromPrefs(*prefs_)), |
| + sites_(GetDefaultFromPrefs(*prefs_, favicon_service)), |
|
sfiera
2017/02/14 09:59:16
Initializing the favicon service in PopularSitesIm
fhorschig
2017/02/14 17:29:02
Agreed and removed.
|
| weak_ptr_factory_(this) { |
| // If valid path provided, remove local files created by older versions. |
| if (!directory.empty() && blocking_runner_) { |