Index: chrome/browser/favicon/favicon_service.cc |
diff --git a/chrome/browser/favicon/favicon_service.cc b/chrome/browser/favicon/favicon_service.cc |
index 6c55b307fd75475ad91d8a8448a4aa5aa5b421dd..8c323afa779fe4fc0af7ce0c0ad12595faa2cf31 100644 |
--- a/chrome/browser/favicon/favicon_service.cc |
+++ b/chrome/browser/favicon/favicon_service.cc |
@@ -10,6 +10,7 @@ |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h" |
#include "chrome/common/url_constants.h" |
+#include "ui/gfx/favicon_size.h" |
FaviconService::FaviconService(Profile* profile) : profile_(profile) { |
} |
@@ -24,7 +25,8 @@ FaviconService::Handle FaviconService::GetFavicon( |
HistoryService* hs = |
HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS); |
if (hs) |
- hs->GetFavicon(request, icon_url, icon_type); |
+ hs->GetFavicon(request, icon_url, |
+ gfx::Size(gfx::kFaviconSize, gfx::kFaviconSize), icon_type); |
else |
ForwardEmptyResultAsync(request); |
return request->handle(); |
@@ -40,10 +42,14 @@ FaviconService::Handle FaviconService::UpdateFaviconMappingAndFetch( |
AddRequest(request, consumer); |
HistoryService* hs = |
HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS); |
- if (hs) |
- hs->UpdateFaviconMappingAndFetch(request, page_url, icon_url, icon_type); |
- else |
+ if (hs) { |
+ gfx::Size default_icon_size = |
+ gfx::Size(gfx::kFaviconSize, gfx::kFaviconSize); |
+ hs->UpdateFaviconMappingAndFetch(request, page_url, icon_url, |
+ default_icon_size, icon_type); |
+ } else { |
ForwardEmptyResultAsync(request); |
+ } |
return request->handle(); |
} |
@@ -62,10 +68,12 @@ FaviconService::Handle FaviconService::GetFaviconForURL( |
} else { |
HistoryService* hs = HistoryServiceFactory::GetForProfile( |
profile_, Profile::EXPLICIT_ACCESS); |
- if (hs) |
- hs->GetFaviconForURL(request, page_url, icon_types); |
- else |
+ if (hs) { |
+ gfx::Size default_icon_size(gfx::kFaviconSize, gfx::kFaviconSize); |
+ hs->GetFaviconForURL(request, page_url, default_icon_size, icon_types); |
+ } else { |
ForwardEmptyResultAsync(request); |
+ } |
} |
return handle; |
} |
@@ -119,8 +127,13 @@ void FaviconService::SetFavicon(const GURL& page_url, |
history::IconType icon_type) { |
HistoryService* hs = |
HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS); |
- if (hs) |
- hs->SetFavicon(page_url, icon_url, image_data, icon_type); |
+ if (hs) { |
+ // This size should correspond to FaviconHandler::preferred_icon_size(). |
+ // TODO(pkotwicz): Fix this. |
+ gfx::Size preferred_size = (icon_type == history::FAVICON) ? |
+ gfx::Size(gfx::kFaviconSize, gfx::kFaviconSize) : gfx::Size(); |
+ hs->SetFavicon(page_url, icon_url, image_data, preferred_size, icon_type); |
+ } |
} |
FaviconService::~FaviconService() { |