Make some updates to extension iconography.

Several related changes in one go:

1. Remove padding from extension search icon in location bar
   (linux, cros, mac). This was causing misalignment between the popup
   icon and the location bar icon, and unintended discrepancies between
   platforms.
2. Make ExtensionIconManager handle all supported scale factors rather
   than just 1x.
3. Remove some obsolete code in the apps page. Apps will always be given
   a default icon, and we never use the small icon codepath any more.
   This also means FaviconWebUIHandler is no longer needed.

BUG=674259,596757
[email protected]
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2576833002
Cr-Commit-Position: refs/heads/master@{#439361}
diff --git a/chrome/browser/extensions/menu_manager.h b/chrome/browser/extensions/menu_manager.h
index 3a97c58..5b858d8 100644
--- a/chrome/browser/extensions/menu_manager.h
+++ b/chrome/browser/extensions/menu_manager.h
@@ -27,8 +27,7 @@
 #include "content/public/browser/notification_registrar.h"
 #include "extensions/browser/extension_registry_observer.h"
 #include "extensions/common/url_pattern_set.h"
-
-class SkBitmap;
+#include "ui/gfx/image/image.h"
 
 namespace content {
 class BrowserContext;
@@ -346,10 +345,10 @@
                       const content::ContextMenuParams& params,
                       const MenuItem::Id& menu_item_id);
 
-  // This returns a bitmap of width/height kFaviconSize, loaded either from an
+  // This returns a image of width/height kFaviconSize, loaded either from an
   // entry specified in the extension's 'icon' section of the manifest, or a
   // default extension icon.
-  const SkBitmap& GetIconForExtension(const std::string& extension_id);
+  gfx::Image GetIconForExtension(const std::string& extension_id);
 
   // content::NotificationObserver implementation.
   void Observe(int type,