Chromium Code Reviews| Index: chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
| diff --git a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
| index 305dac0fd1c92b28296a6a71121b03d42046352d..62e56a59de684b1533051455066e6b1afc88f8b7 100644 |
| --- a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
| +++ b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
| @@ -754,7 +754,8 @@ void AppLauncherHandler::HandleSetNotificationsDisabled( |
| } |
| void AppLauncherHandler::OnFaviconForApp(FaviconService::Handle handle, |
| - history::FaviconData data) { |
| + history::FaviconData data, |
| + std::vector<GURL> icon_urls_in_db) { |
| scoped_ptr<AppInstallInfo> install_info( |
| favicon_consumer_.GetClientDataForCurrentRequest()); |
| scoped_ptr<WebApplicationInfo> web_app(new WebApplicationInfo()); |
| @@ -765,16 +766,21 @@ void AppLauncherHandler::OnFaviconForApp(FaviconService::Handle handle, |
| WebApplicationInfo::IconInfo icon; |
| web_app->icons.push_back(icon); |
| - if (data.is_valid() && gfx::PNGCodec::Decode(data.image_data->front(), |
| - data.image_data->size(), |
| - &(web_app->icons[0].data))) { |
| - web_app->icons[0].url = GURL(); |
| - web_app->icons[0].width = web_app->icons[0].data.width(); |
| - web_app->icons[0].height = web_app->icons[0].data.height(); |
| - } else { |
| - web_app->icons.clear(); |
| + bool bitmap_data_valid = false; |
| + if (data.has_valid_bitmaps()) { |
| + scoped_refptr<base::RefCountedMemory> bitmap_data(data.first_bitmap()); |
| + if (gfx::PNGCodec::Decode(bitmap_data->front(), bitmap_data->size(), |
| + &(web_app->icons[0].data))) { |
| + bitmap_data_valid = true; |
| + web_app->icons[0].url = GURL(); |
|
sky
2012/08/23 15:50:38
I realize your copying code, but is this line nece
|
| + web_app->icons[0].width = web_app->icons[0].data.width(); |
| + web_app->icons[0].height = web_app->icons[0].data.height(); |
| + } |
| } |
| + if (!bitmap_data_valid) |
| + web_app->icons.clear(); |
| + |
| scoped_refptr<CrxInstaller> installer( |
| CrxInstaller::Create(extension_service_, NULL)); |
| installer->set_page_ordinal(install_info->page_ordinal); |