Chromium Code Reviews| Index: chrome/browser/favicon/favicon_tab_helper.cc |
| diff --git a/chrome/browser/favicon/favicon_tab_helper.cc b/chrome/browser/favicon/favicon_tab_helper.cc |
| index f203f141962d39bed479a535e4997c698d761d14..3d9caa6aa39de8e499d10bc484a5016cd0a957ca 100644 |
| --- a/chrome/browser/favicon/favicon_tab_helper.cc |
| +++ b/chrome/browser/favicon/favicon_tab_helper.cc |
| @@ -16,6 +16,7 @@ |
| #include "chrome/common/chrome_constants.h" |
| #include "chrome/common/url_constants.h" |
| #include "components/bookmarks/core/browser/bookmark_model.h" |
| +#include "components/favicon_base/favicon_types.h" |
| #include "content/public/browser/favicon_status.h" |
| #include "content/public/browser/invalidate_type.h" |
| #include "content/public/browser/navigation_controller.h" |
| @@ -25,6 +26,7 @@ |
| #include "content/public/browser/render_view_host.h" |
| #include "content/public/browser/web_contents.h" |
| #include "content/public/browser/web_contents_delegate.h" |
| +#include "content/public/common/favicon_url.h" |
| #include "ui/gfx/codec/png_codec.h" |
| #include "ui/gfx/image/image.h" |
| #include "ui/gfx/image/image_skia.h" |
| @@ -222,14 +224,38 @@ void FaviconTabHelper::DidNavigateMainFrame( |
| FetchFavicon(details.entry->GetURL()); |
| } |
| +// Returns favicon_base::IconType the given icon_type corresponds to. |
| +favicon_base::IconType ToChromeIconType( |
|
blundell
2014/05/16 07:33:30
This conversion function seems like it would make
jif
2014/05/16 17:32:30
I agree.
Added TODO.
|
| + content::FaviconURL::IconType icon_type) { |
| + switch (icon_type) { |
| + case content::FaviconURL::FAVICON: |
| + return favicon_base::FAVICON; |
| + case content::FaviconURL::TOUCH_ICON: |
| + return favicon_base::TOUCH_ICON; |
| + case content::FaviconURL::TOUCH_PRECOMPOSED_ICON: |
| + return favicon_base::TOUCH_PRECOMPOSED_ICON; |
| + case content::FaviconURL::INVALID_ICON: |
| + return favicon_base::INVALID_ICON; |
| + } |
| + NOTREACHED(); |
| + return favicon_base::INVALID_ICON; |
| +} |
| + |
| void FaviconTabHelper::DidUpdateFaviconURL( |
| const std::vector<content::FaviconURL>& candidates) { |
| DCHECK(!candidates.empty()); |
| favicon_urls_ = candidates; |
| - |
| - favicon_handler_->OnUpdateFaviconURL(candidates); |
| + std::vector<favicon::FaviconURL> favicon_urls; |
| + for (size_t i = 0; i < candidates.size(); i++) { |
| + const content::FaviconURL& candidate = candidates[i]; |
| + favicon_urls.push_back( |
| + favicon::FaviconURL(candidate.icon_url, |
| + ToChromeIconType(candidate.icon_type), |
| + candidate.icon_sizes)); |
| + } |
| + favicon_handler_->OnUpdateFaviconURL(favicon_urls); |
| if (touch_icon_handler_.get()) |
| - touch_icon_handler_->OnUpdateFaviconURL(candidates); |
| + touch_icon_handler_->OnUpdateFaviconURL(favicon_urls); |
| } |
| FaviconService* FaviconTabHelper::GetFaviconService() { |