Index: chrome/browser/ui/web_applications/web_app_ui.cc |
diff --git a/chrome/browser/ui/web_applications/web_app_ui.cc b/chrome/browser/ui/web_applications/web_app_ui.cc |
index a7f9b988021d079afe66b05e3a096cd7650e960c..abfd9b463ec2707eee2cfd115253762ec4751881 100644 |
--- a/chrome/browser/ui/web_applications/web_app_ui.cc |
+++ b/chrome/browser/ui/web_applications/web_app_ui.cc |
@@ -11,8 +11,6 @@ |
#include "base/string16.h" |
#include "base/utf_string_conversions.h" |
#include "chrome/browser/extensions/tab_helper.h" |
-#include "chrome/browser/favicon/favicon_download_helper.h" |
-#include "chrome/browser/favicon/favicon_download_helper_delegate.h" |
#include "chrome/browser/favicon/favicon_tab_helper.h" |
#include "chrome/browser/favicon/favicon_util.h" |
#include "chrome/browser/profiles/profile.h" |
@@ -24,6 +22,8 @@ |
#include "content/public/browser/notification_registrar.h" |
#include "content/public/browser/notification_source.h" |
#include "content/public/browser/web_contents.h" |
+#include "googleurl/src/gurl.h" |
+#include "third_party/skia/include/core/SkBitmap.h" |
#if defined(OS_POSIX) && !defined(OS_MACOSX) |
#include "base/environment.h" |
@@ -46,8 +46,7 @@ namespace { |
// updated. If there are such shortcuts, it schedules icon download and |
// update them when icons are downloaded. It observes TAB_CLOSING notification |
// and cancels all the work when the underlying tab is closing. |
-class UpdateShortcutWorker : public content::NotificationObserver, |
- public FaviconDownloadHelperDelegate { |
+class UpdateShortcutWorker : public content::NotificationObserver { |
public: |
explicit UpdateShortcutWorker(WebContents* web_contents); |
@@ -62,13 +61,13 @@ class UpdateShortcutWorker : public content::NotificationObserver, |
// Downloads icon via the FaviconTabHelper. |
void DownloadIcon(); |
- // FaviconDownloadHelperDelegate override. |
- virtual void OnDidDownloadFavicon( |
+ // Favicon download callback. |
+ void DidDownloadFavicon( |
int id, |
const GURL& image_url, |
bool errored, |
int requested_size, |
- const std::vector<SkBitmap>& bitmaps) OVERRIDE; |
+ const std::vector<SkBitmap>& bitmaps); |
// Checks if shortcuts exists on desktop, start menu and quick launch. |
void CheckExistingShortcuts(); |
@@ -157,26 +156,21 @@ void UpdateShortcutWorker::DownloadIcon() { |
return; |
} |
- scoped_ptr<FaviconDownloadHelper> download_helper( |
- new FaviconDownloadHelper(web_contents_, this)); |
- |
- download_helper->DownloadFavicon(unprocessed_icons_.back().url, |
- std::max(unprocessed_icons_.back().width, |
- unprocessed_icons_.back().height)); |
+ web_contents_->DownloadFavicon( |
+ unprocessed_icons_.back().url, |
+ std::max(unprocessed_icons_.back().width, |
+ unprocessed_icons_.back().height), |
+ base::Bind(&UpdateShortcutWorker::DidDownloadFavicon, |
+ base::Unretained(this))); |
unprocessed_icons_.pop_back(); |
} |
-void UpdateShortcutWorker::OnDidDownloadFavicon( |
+void UpdateShortcutWorker::DidDownloadFavicon( |
int id, |
const GURL& image_url, |
bool errored, |
int requested_size, |
const std::vector<SkBitmap>& bitmaps) { |
- if (web_contents_ == NULL) { |
- DeleteMe(); // We are done if underlying WebContents is gone. |
- return; |
- } |
- |
std::vector<ui::ScaleFactor> scale_factors; |
scale_factors.push_back(ui::SCALE_FACTOR_100P); |