| Index: chrome/browser/ui/webui/fallback_icon_source.cc
|
| diff --git a/chrome/browser/ui/webui/fallback_icon_source.cc b/chrome/browser/ui/webui/fallback_icon_source.cc
|
| index 78eae81ba79ec1e8721db6c977891c3795402c98..2619bcdca5a7377859df0b0021ab494f37155b77 100644
|
| --- a/chrome/browser/ui/webui/fallback_icon_source.cc
|
| +++ b/chrome/browser/ui/webui/fallback_icon_source.cc
|
| @@ -8,25 +8,16 @@
|
| #include <vector>
|
|
|
| #include "base/memory/ref_counted_memory.h"
|
| +#include "chrome/browser/favicon/fallback_icon_service_factory.h"
|
| #include "chrome/browser/search/instant_io_context.h"
|
| #include "chrome/common/favicon/fallback_icon_url_parser.h"
|
| #include "chrome/common/url_constants.h"
|
| -#include "grit/platform_locale_settings.h"
|
| +#include "components/favicon_base/fallback_icon_service.h"
|
| +#include "components/keyed_service/core/service_access_type.h"
|
| #include "net/url_request/url_request.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| #include "ui/gfx/favicon_size.h"
|
|
|
| -FallbackIconSource::FallbackIconSource() {
|
| - std::vector<std::string> font_list;
|
| -#if defined(OS_CHROMEOS)
|
| - font_list.push_back("Noto Sans");
|
| -#elif defined(OS_IOS)
|
| - font_list.push_back("Helvetica Neue");
|
| -#else
|
| - font_list.push_back(l10n_util::GetStringUTF8(IDS_SANS_SERIF_FONT_FAMILY));
|
| -#endif
|
| - fallback_icon_service_.reset(
|
| - new favicon_base::FallbackIconService(font_list));
|
| +FallbackIconSource::FallbackIconSource(Profile* profile) : profile_(profile) {
|
| }
|
|
|
| FallbackIconSource::~FallbackIconSource() {
|
| @@ -48,11 +39,8 @@ void FallbackIconSource::StartDataRequest(
|
| return;
|
| }
|
|
|
| - GURL url(parsed.url());
|
| - std::vector<unsigned char> bitmap_data =
|
| - fallback_icon_service_->RenderFallbackIconBitmap(
|
| - url, parsed.size_in_pixels(), parsed.style());
|
| - callback.Run(base::RefCountedBytes::TakeVector(&bitmap_data));
|
| + SendFallbackIconHelper(
|
| + parsed.url(), parsed.size_in_pixels(), parsed.style(), callback);
|
| }
|
|
|
| std::string FallbackIconSource::GetMimeType(const std::string&) const {
|
| @@ -74,10 +62,26 @@ bool FallbackIconSource::ShouldServiceRequest(
|
| return URLDataSource::ShouldServiceRequest(request);
|
| }
|
|
|
| -void FallbackIconSource::SendDefaultResponse(
|
| +void FallbackIconSource::SendFallbackIconHelper(
|
| + const GURL& url,
|
| + int size_in_pixels,
|
| + const favicon_base::FallbackIconStyle& style,
|
| const content::URLDataSource::GotDataCallback& callback) {
|
| + favicon_base::FallbackIconService* fallback_icon_service =
|
| + FallbackIconServiceFactory::GetForProfile(
|
| + profile_, ServiceAccessType::EXPLICIT_ACCESS);
|
| + if (!fallback_icon_service) {
|
| + callback.Run(nullptr);
|
| + return;
|
| + }
|
| std::vector<unsigned char> bitmap_data =
|
| - fallback_icon_service_->RenderFallbackIconBitmap(
|
| - GURL(), gfx::kFaviconSize, favicon_base::FallbackIconStyle());
|
| + fallback_icon_service->RenderFallbackIconBitmap(
|
| + url, size_in_pixels, style);
|
| callback.Run(base::RefCountedBytes::TakeVector(&bitmap_data));
|
| }
|
| +
|
| +void FallbackIconSource::SendDefaultResponse(
|
| + const content::URLDataSource::GotDataCallback& callback) {
|
| + favicon_base::FallbackIconStyle default_style;
|
| + SendFallbackIconHelper(GURL(), gfx::kFaviconSize, default_style, callback);
|
| +}
|
|
|