Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7673)

Unified Diff: chrome/browser/ui/webui/ntp/most_visited_handler.cc

Issue 996253002: [Fallback Icons] Refactor FallbackIconService to be a BrowserContext-level singleton (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync and merge. Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/ntp/most_visited_handler.cc
diff --git a/chrome/browser/ui/webui/ntp/most_visited_handler.cc b/chrome/browser/ui/webui/ntp/most_visited_handler.cc
index 6b746ebfd177ae7963f5c12d7e1948e4bd381247..318136f8199fa74737099cd43d79a766337f1e72 100644
--- a/chrome/browser/ui/webui/ntp/most_visited_handler.cc
+++ b/chrome/browser/ui/webui/ntp/most_visited_handler.cc
@@ -20,6 +20,8 @@
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread.h"
#include "base/values.h"
+#include "chrome/browser/favicon/fallback_icon_service_factory.h"
+#include "chrome/browser/favicon/favicon_service_factory.h"
#include "chrome/browser/history/top_sites_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/thumbnails/thumbnail_list_source.h"
@@ -35,8 +37,11 @@
#include "chrome/browser/ui/webui/ntp/thumbnail_source.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
+#include "components/favicon/core/fallback_icon_service.h"
+#include "components/favicon/core/favicon_service.h"
#include "components/history/core/browser/page_usage_data.h"
#include "components/history/core/browser/top_sites.h"
+#include "components/keyed_service/core/service_access_type.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/navigation_entry.h"
@@ -81,11 +86,23 @@ void MostVisitedHandler::RegisterMessages() {
// Set up our sources for top-sites data.
content::URLDataSource::Add(profile, new ThumbnailListSource(profile));
- // Register chrome://large-icon as a data source for large icons.
- content::URLDataSource::Add(profile, new LargeIconSource(profile));
+ FaviconService* favicon_service = FaviconServiceFactory::GetForProfile(
+ profile, ServiceAccessType::EXPLICIT_ACCESS);
+ FallbackIconService* fallback_icon_service =
+ FallbackIconServiceFactory::GetForProfile(
+ profile, ServiceAccessType::EXPLICIT_ACCESS);
+
+ if (favicon_service && fallback_icon_service) {
+ // Register chrome://large-icon as a data source for large icons.
+ content::URLDataSource::Add(profile,
+ new LargeIconSource(favicon_service, fallback_icon_service));
+ }
// Register chrome://fallback-icon as a data source for fallback icons.
- content::URLDataSource::Add(profile, new FallbackIconSource());
+ if (fallback_icon_service) {
+ content::URLDataSource::Add(profile,
+ new FallbackIconSource(fallback_icon_service));
+ }
// Register chrome://favicon as a data source for favicons.
content::URLDataSource::Add(

Powered by Google App Engine
This is Rietveld 408576698