Add support for multiple icon sizes for Mac platform apps

This is the combined version of the following CLs:
http://codereview.chromium.org/9428025/
http://codereview.chromium.org/9500007/
http://codereview.chromium.org/9535002/

BUG=112651
TEST=

Review URL: https://chromiumcodereview.appspot.com/9586018

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124875 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_uninstall_dialog.cc b/chrome/browser/extensions/extension_uninstall_dialog.cc
index d3044d7..554e929 100644
--- a/chrome/browser/extensions/extension_uninstall_dialog.cc
+++ b/chrome/browser/extensions/extension_uninstall_dialog.cc
@@ -13,6 +13,7 @@
 #include "grit/generated_resources.h"
 #include "grit/theme_resources.h"
 #include "ui/base/resource/resource_bundle.h"
+#include "ui/gfx/image/image.h"
 
 // Size of extension icon in top left of dialog.
 static const int kIconSize = 69;
@@ -41,12 +42,8 @@
                      ImageLoadingTracker::DONT_CACHE);
 }
 
-void ExtensionUninstallDialog::SetIcon(SkBitmap* image) {
-  if (image)
-    icon_ = *image;
-  else
-    icon_ = SkBitmap();
-  if (icon_.empty()) {
+void ExtensionUninstallDialog::SetIcon(const gfx::Image& image) {
+  if (image.IsEmpty()) {
     if (extension_->is_app()) {
       icon_ = *ResourceBundle::GetSharedInstance().GetBitmapNamed(
           IDR_APP_DEFAULT_ICON);
@@ -54,11 +51,13 @@
       icon_ = *ResourceBundle::GetSharedInstance().GetBitmapNamed(
           IDR_EXTENSION_DEFAULT_ICON);
     }
+  } else {
+    icon_ = *image.ToSkBitmap();
   }
 }
 
-void ExtensionUninstallDialog::OnImageLoaded(SkBitmap* image,
-                                             const ExtensionResource& resource,
+void ExtensionUninstallDialog::OnImageLoaded(const gfx::Image& image,
+                                             const std::string& extension_id,
                                              int index) {
   SetIcon(image);