Make PermissionRequest::GetIconId return different types
on desktop and Android so that the IDR_ and vector id
versions don't coexist on any single platform.

BUG=651270

Review-Url: https://codereview.chromium.org/2385063005
Cr-Commit-Position: refs/heads/master@{#425577}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 4c37cf04..e22b2d26 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -764,8 +764,6 @@
     "permissions/permission_request.h",
     "permissions/permission_request_id.cc",
     "permissions/permission_request_id.h",
-    "permissions/permission_request_impl.cc",
-    "permissions/permission_request_impl.h",
     "permissions/permission_request_manager.cc",
     "permissions/permission_request_manager.h",
     "permissions/permission_uma_util.cc",
@@ -2772,6 +2770,8 @@
       "obsolete_system/obsolete_system_win.cc",
       "pdf/pdf_extension_util.cc",
       "pdf/pdf_extension_util.h",
+      "permissions/permission_request_impl.cc",
+      "permissions/permission_request_impl.h",
       "power/process_power_collector.cc",
       "power/process_power_collector.h",
       "process_singleton_modal_dialog_lock.cc",
diff --git a/chrome/browser/android/media/media_throttle_infobar_delegate.cc b/chrome/browser/android/media/media_throttle_infobar_delegate.cc
index 917bb25..10e46cf 100644
--- a/chrome/browser/android/media/media_throttle_infobar_delegate.cc
+++ b/chrome/browser/android/media/media_throttle_infobar_delegate.cc
@@ -8,6 +8,7 @@
 #include <utility>
 
 #include "base/metrics/histogram_macros.h"
+#include "chrome/browser/android/android_theme_resources.h"
 #include "chrome/browser/infobars/infobar_service.h"
 #include "chrome/grit/generated_resources.h"
 #include "chrome/grit/theme_resources.h"
@@ -68,7 +69,7 @@
 }
 
 int MediaThrottleInfoBarDelegate::GetIconId() const {
-  return IDR_INFOBAR_WARNING;
+  return IDR_ANDROID_INFOBAR_WARNING;
 }
 
 base::string16 MediaThrottleInfoBarDelegate::GetButtonLabel(
diff --git a/chrome/browser/android/resource_id.h b/chrome/browser/android/resource_id.h
index 73cf2f8e..d4968cba 100644
--- a/chrome/browser/android/resource_id.h
+++ b/chrome/browser/android/resource_id.h
@@ -22,10 +22,7 @@
 LINK_RESOURCE_ID(IDR_INFOBAR_AUTOFILL_CC, R.drawable.infobar_autofill_cc)
 LINK_RESOURCE_ID(IDR_INFOBAR_MEDIA_STREAM_CAMERA, R.drawable.infobar_camera)
 LINK_RESOURCE_ID(IDR_INFOBAR_MEDIA_STREAM_MIC, R.drawable.infobar_microphone)
-LINK_RESOURCE_ID(IDR_INFOBAR_MEDIA_STREAM_SCREEN,
-                 R.drawable.infobar_screen_share)
 LINK_RESOURCE_ID(IDR_INFOBAR_SAVE_PASSWORD, R.drawable.infobar_savepassword)
-LINK_RESOURCE_ID(IDR_INFOBAR_WARNING, R.drawable.infobar_warning)
 LINK_RESOURCE_ID(IDR_INFOBAR_TRANSLATE, R.drawable.infobar_translate)
 LINK_RESOURCE_ID(IDR_BLOCKED_POPUPS, R.drawable.infobar_blocked_popups)
 
@@ -33,6 +30,8 @@
 DECLARE_RESOURCE_ID(IDR_ANDROID_INFOBAR_FROZEN_TAB, R.drawable.infobar_restore)
 DECLARE_RESOURCE_ID(IDR_ANDROID_INFOBAR_GEOLOCATION,
                     R.drawable.infobar_geolocation)
+DECLARE_RESOURCE_ID(IDR_ANDROID_INFOBAR_MEDIA_STREAM_SCREEN,
+                    R.drawable.infobar_screen_share)
 DECLARE_RESOURCE_ID(IDR_ANDROID_INFOBAR_MIDI, R.drawable.infobar_midi)
 DECLARE_RESOURCE_ID(IDR_ANDROID_INFOBAR_MULTIPLE_DOWNLOADS,
                     R.drawable.infobar_multiple_downloads)
@@ -43,6 +42,7 @@
                     R.drawable.infobar_protected_media_identifier)
 DECLARE_RESOURCE_ID(IDR_ANDROID_INFOBAR_SUBRESOURCE_FILTERING,
                     R.drawable.infobar_subresource_filtering)
+DECLARE_RESOURCE_ID(IDR_ANDROID_INFOBAR_WARNING, R.drawable.infobar_warning)
 
 // WebsiteSettingsUI images, used in ConnectionInfoPopup
 // Good:
diff --git a/chrome/browser/chrome_quota_permission_context.cc b/chrome/browser/chrome_quota_permission_context.cc
index 67e0be0..fdf385a 100644
--- a/chrome/browser/chrome_quota_permission_context.cc
+++ b/chrome/browser/chrome_quota_permission_context.cc
@@ -17,16 +17,17 @@
 #include "chrome/browser/tab_contents/tab_util.h"
 #include "chrome/grit/generated_resources.h"
 #include "chrome/grit/locale_settings.h"
-#include "chrome/grit/theme_resources.h"
 #include "components/url_formatter/elide_url.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/navigation_details.h"
 #include "content/public/browser/web_contents.h"
 #include "storage/common/quota/quota_types.h"
 #include "ui/base/l10n/l10n_util.h"
+#include "ui/gfx/vector_icons_public.h"
 #include "url/gurl.h"
 
 #if defined(OS_ANDROID)
+#include "chrome/browser/android/android_theme_resources.h"
 #include "chrome/browser/infobars/infobar_service.h"
 #include "components/infobars/core/confirm_infobar_delegate.h"
 #include "components/infobars/core/infobar.h"
@@ -55,7 +56,7 @@
 
  private:
   // PermissionRequest:
-  int GetIconId() const override;
+  IconId GetIconId() const override;
   base::string16 GetMessageTextFragment() const override;
   GURL GetOrigin() const override;
   void PermissionGranted() override;
@@ -81,9 +82,13 @@
 
 QuotaPermissionRequest::~QuotaPermissionRequest() {}
 
-int QuotaPermissionRequest::GetIconId() const {
+PermissionRequest::IconId QuotaPermissionRequest::GetIconId() const {
   // TODO(gbillock): get the proper image here
-  return IDR_INFOBAR_WARNING;
+#if defined(OS_ANDROID)
+  return IDR_ANDROID_INFOBAR_WARNING;
+#else
+  return gfx::VectorIconId::WARNING;
+#endif
 }
 
 base::string16 QuotaPermissionRequest::GetMessageTextFragment() const {
diff --git a/chrome/browser/custom_handlers/register_protocol_handler_permission_request.cc b/chrome/browser/custom_handlers/register_protocol_handler_permission_request.cc
index c3ff05e..c1b230b 100644
--- a/chrome/browser/custom_handlers/register_protocol_handler_permission_request.cc
+++ b/chrome/browser/custom_handlers/register_protocol_handler_permission_request.cc
@@ -12,10 +12,6 @@
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/gfx/vector_icons_public.h"
 
-#if defined(OS_MACOSX)
-#include "chrome/grit/theme_resources.h"
-#endif
-
 namespace {
 
 base::string16 GetProtocolName(
@@ -42,21 +38,9 @@
 RegisterProtocolHandlerPermissionRequest::
 ~RegisterProtocolHandlerPermissionRequest() {}
 
-gfx::VectorIconId RegisterProtocolHandlerPermissionRequest::GetVectorIconId()
+PermissionRequest::IconId RegisterProtocolHandlerPermissionRequest::GetIconId()
     const {
-#if defined(OS_MACOSX)
-  return gfx::VectorIconId::VECTOR_ICON_NONE;
-#else
   return gfx::VectorIconId::PROTOCOL_HANDLER;
-#endif
-}
-
-int RegisterProtocolHandlerPermissionRequest::GetIconId() const {
-#if defined(OS_MACOSX)
-  return IDR_REGISTER_PROTOCOL_HANDLER;
-#else
-  return 0;
-#endif
 }
 
 base::string16
diff --git a/chrome/browser/custom_handlers/register_protocol_handler_permission_request.h b/chrome/browser/custom_handlers/register_protocol_handler_permission_request.h
index 7540d229..2cb9d62 100644
--- a/chrome/browser/custom_handlers/register_protocol_handler_permission_request.h
+++ b/chrome/browser/custom_handlers/register_protocol_handler_permission_request.h
@@ -24,8 +24,7 @@
 
  private:
   // PermissionRequest:
-  gfx::VectorIconId GetVectorIconId() const override;
-  int GetIconId() const override;
+  IconId GetIconId() const override;
   base::string16 GetMessageTextFragment() const override;
   GURL GetOrigin() const override;
   void PermissionGranted() override;
diff --git a/chrome/browser/download/download_permission_request.cc b/chrome/browser/download/download_permission_request.cc
index 25d99a0..90522f0 100644
--- a/chrome/browser/download/download_permission_request.cc
+++ b/chrome/browser/download/download_permission_request.cc
@@ -19,7 +19,7 @@
 
 DownloadPermissionRequest::~DownloadPermissionRequest() {}
 
-gfx::VectorIconId DownloadPermissionRequest::GetVectorIconId() const {
+PermissionRequest::IconId DownloadPermissionRequest::GetIconId() const {
   return gfx::VectorIconId::FILE_DOWNLOAD;
 }
 
diff --git a/chrome/browser/download/download_permission_request.h b/chrome/browser/download/download_permission_request.h
index b23fab8..66c1cf9 100644
--- a/chrome/browser/download/download_permission_request.h
+++ b/chrome/browser/download/download_permission_request.h
@@ -21,8 +21,8 @@
   ~DownloadPermissionRequest() override;
 
  private:
-  // PermisisonBubbleDelegate:
-  gfx::VectorIconId GetVectorIconId() const override;
+  // PermissionBubbleDelegate:
+  IconId GetIconId() const override;
   base::string16 GetMessageTextFragment() const override;
   GURL GetOrigin() const override;
   void PermissionGranted() override;
diff --git a/chrome/browser/media/webrtc/media_stream_capture_indicator.cc b/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
index 9e80983..d97d9c69 100644
--- a/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
+++ b/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
@@ -356,6 +356,7 @@
 void MediaStreamCaptureIndicator::EnsureStatusTrayIconResources() {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
+  // TODO(estade): these should use vector icons.
   if (!mic_image_) {
     mic_image_ = ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
         IDR_INFOBAR_MEDIA_STREAM_MIC);
diff --git a/chrome/browser/media/webrtc/media_stream_devices_controller.cc b/chrome/browser/media/webrtc/media_stream_devices_controller.cc
index 366ff37..2bf8267 100644
--- a/chrome/browser/media/webrtc/media_stream_devices_controller.cc
+++ b/chrome/browser/media/webrtc/media_stream_devices_controller.cc
@@ -26,7 +26,6 @@
 #include "chrome/common/features.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/grit/generated_resources.h"
-#include "chrome/grit/theme_resources.h"
 #include "components/content_settings/core/browser/host_content_settings_map.h"
 #include "components/content_settings/core/common/content_settings_pattern.h"
 #include "components/pref_registry/pref_registry_syncable.h"
@@ -40,12 +39,14 @@
 #include "content/public/common/origin_util.h"
 #include "extensions/common/constants.h"
 #include "ui/base/l10n/l10n_util.h"
+#include "ui/gfx/vector_icons_public.h"
 
 #if BUILDFLAG(ANDROID_JAVA_UI)
 #include <vector>
 
 #include "chrome/browser/android/preferences/pref_service_bridge.h"
 #include "chrome/browser/permissions/permission_update_infobar_delegate_android.h"
+#include "chrome/grit/theme_resources.h"
 #include "content/public/browser/android/content_view_core.h"
 #include "ui/android/window_android.h"
 #endif  // BUILDFLAG(ANDROID_JAVA_UI)
@@ -275,11 +276,14 @@
   set_persist(true);
 }
 
-int MediaStreamDevicesController::GetIconId() const {
-  if (IsAskingForVideo())
-    return IDR_INFOBAR_MEDIA_STREAM_CAMERA;
-
-  return IDR_INFOBAR_MEDIA_STREAM_MIC;
+PermissionRequest::IconId MediaStreamDevicesController::GetIconId() const {
+#if defined(OS_ANDROID)
+  return IsAskingForVideo() ? IDR_INFOBAR_MEDIA_STREAM_CAMERA
+                            : IDR_INFOBAR_MEDIA_STREAM_MIC;
+#else
+  return IsAskingForVideo() ? gfx::VectorIconId::VIDEOCAM
+                            : gfx::VectorIconId::MICROPHONE;
+#endif
 }
 
 base::string16 MediaStreamDevicesController::GetMessageTextFragment() const {
diff --git a/chrome/browser/media/webrtc/media_stream_devices_controller.h b/chrome/browser/media/webrtc/media_stream_devices_controller.h
index 928c9379b..45170221 100644
--- a/chrome/browser/media/webrtc/media_stream_devices_controller.h
+++ b/chrome/browser/media/webrtc/media_stream_devices_controller.h
@@ -59,7 +59,7 @@
   bool ShouldShowPersistenceToggle() const override;
 
   // PermissionRequest:
-  int GetIconId() const override;
+  IconId GetIconId() const override;
   base::string16 GetMessageTextFragment() const override;
   GURL GetOrigin() const override;
   void PermissionGranted() override;
diff --git a/chrome/browser/media/webrtc/screen_capture_infobar_delegate_android.cc b/chrome/browser/media/webrtc/screen_capture_infobar_delegate_android.cc
index bdbc0be..2d9e4ae 100644
--- a/chrome/browser/media/webrtc/screen_capture_infobar_delegate_android.cc
+++ b/chrome/browser/media/webrtc/screen_capture_infobar_delegate_android.cc
@@ -5,12 +5,12 @@
 #include "chrome/browser/media/webrtc/screen_capture_infobar_delegate_android.h"
 
 #include "base/callback_helpers.h"
+#include "chrome/browser/android/android_theme_resources.h"
 #include "chrome/browser/infobars/infobar_service.h"
 #include "chrome/browser/media/webrtc/desktop_streams_registry.h"
 #include "chrome/browser/media/webrtc/media_capture_devices_dispatcher.h"
 #include "chrome/browser/media/webrtc/media_stream_capture_indicator.h"
 #include "chrome/grit/generated_resources.h"
-#include "chrome/grit/theme_resources.h"
 #include "components/infobars/core/infobar.h"
 #include "components/url_formatter/elide_url.h"
 #include "content/public/browser/web_contents.h"
@@ -59,7 +59,7 @@
 }
 
 int ScreenCaptureInfoBarDelegateAndroid::GetIconId() const {
-  return IDR_INFOBAR_MEDIA_STREAM_SCREEN;
+  return IDR_ANDROID_INFOBAR_MEDIA_STREAM_SCREEN;
 }
 
 base::string16 ScreenCaptureInfoBarDelegateAndroid::GetButtonLabel(
diff --git a/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc b/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc
index 2cbb3b0..93aec6f 100644
--- a/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc
+++ b/chrome/browser/permissions/grouped_permission_infobar_delegate_android.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/permissions/grouped_permission_infobar_delegate_android.h"
 
 #include "base/memory/ptr_util.h"
+#include "chrome/browser/android/android_theme_resources.h"
 #include "chrome/browser/infobars/infobar_service.h"
 #include "chrome/browser/permissions/permission_util.h"
 #include "chrome/browser/ui/android/infobars/grouped_permission_infobar.h"
@@ -46,7 +47,7 @@
   if (type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)
     return IDR_INFOBAR_MEDIA_STREAM_CAMERA;
 
-  return IDR_INFOBAR_WARNING;
+  return IDR_ANDROID_INFOBAR_WARNING;
 }
 
 base::string16 GroupedPermissionInfoBarDelegate::GetMessageTextFragment(
diff --git a/chrome/browser/permissions/mock_permission_request.cc b/chrome/browser/permissions/mock_permission_request.cc
index 8fdf865..a224f48 100644
--- a/chrome/browser/permissions/mock_permission_request.cc
+++ b/chrome/browser/permissions/mock_permission_request.cc
@@ -7,6 +7,7 @@
 #include "base/strings/string16.h"
 #include "base/strings/utf_string_conversions.h"
 #include "chrome/grit/theme_resources.h"
+#include "ui/gfx/vector_icons_public.h"
 
 MockPermissionRequest::MockPermissionRequest()
     : MockPermissionRequest("test",
@@ -59,9 +60,9 @@
 
 MockPermissionRequest::~MockPermissionRequest() {}
 
-int MockPermissionRequest::GetIconId() const {
+PermissionRequest::IconId MockPermissionRequest::GetIconId() const {
   // Use a valid icon ID to support UI tests.
-  return IDR_INFOBAR_MEDIA_STREAM_CAMERA;
+  return gfx::VectorIconId::WARNING;
 }
 
 base::string16 MockPermissionRequest::GetMessageTextFragment() const {
diff --git a/chrome/browser/permissions/mock_permission_request.h b/chrome/browser/permissions/mock_permission_request.h
index 9563925..8bcfe1b 100644
--- a/chrome/browser/permissions/mock_permission_request.h
+++ b/chrome/browser/permissions/mock_permission_request.h
@@ -23,7 +23,7 @@
 
   ~MockPermissionRequest() override;
 
-  int GetIconId() const override;
+  IconId GetIconId() const override;
   base::string16 GetMessageTextFragment() const override;
   GURL GetOrigin() const override;
 
diff --git a/chrome/browser/permissions/permission_request.cc b/chrome/browser/permissions/permission_request.cc
index 73b71e99..c7dfe59 100644
--- a/chrome/browser/permissions/permission_request.cc
+++ b/chrome/browser/permissions/permission_request.cc
@@ -8,14 +8,6 @@
 
 PermissionRequest::PermissionRequest() : persist_(true) {}
 
-gfx::VectorIconId PermissionRequest::GetVectorIconId() const {
-  return gfx::VectorIconId::VECTOR_ICON_NONE;
-}
-
-int PermissionRequest::GetIconId() const {
-  return 0;
-}
-
 bool PermissionRequest::ShouldShowPersistenceToggle() const {
   return false;
 }
diff --git a/chrome/browser/permissions/permission_request.h b/chrome/browser/permissions/permission_request.h
index c5eed7e..f3099b1 100644
--- a/chrome/browser/permissions/permission_request.h
+++ b/chrome/browser/permissions/permission_request.h
@@ -60,16 +60,19 @@
 // requests, or depending on the situation, not shown at all.
 class PermissionRequest {
  public:
+#if defined(OS_ANDROID)
+  // On Android, icons are represented with an IDR_ identifier.
+  typedef int IconId;
+#else
+  // On desktop, we use a vector icon id.
+  typedef gfx::VectorIconId IconId;
+#endif
+
   PermissionRequest();
   virtual ~PermissionRequest() {}
 
-  // Returns a vector icon id if the icon should be drawn as a vector
-  // resource. Otherwise, returns VECTOR_ICON_NONE.
-  virtual gfx::VectorIconId GetVectorIconId() const;
-
   // The icon to use next to the message text fragment in the permission bubble.
-  // TODO(estade): remove this in favor of GetVectorIconId().
-  virtual int GetIconId() const;
+  virtual IconId GetIconId() const = 0;
 
   // Returns the shortened prompt text for this permission.  Must be phrased
   // as a heading, e.g. "Location", or "Camera". The permission bubble may
diff --git a/chrome/browser/permissions/permission_request_impl.cc b/chrome/browser/permissions/permission_request_impl.cc
index 94e8b54..761d1db 100644
--- a/chrome/browser/permissions/permission_request_impl.cc
+++ b/chrome/browser/permissions/permission_request_impl.cc
@@ -8,16 +8,11 @@
 #include "chrome/browser/permissions/permission_uma_util.h"
 #include "chrome/browser/permissions/permission_util.h"
 #include "chrome/grit/generated_resources.h"
-#include "chrome/grit/theme_resources.h"
 #include "components/url_formatter/elide_url.h"
 #include "net/base/escape.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/gfx/vector_icons_public.h"
 
-#if defined(OS_ANDROID)
-#include "chrome/browser/android/android_theme_resources.h"
-#endif
-
 PermissionRequestImpl::PermissionRequestImpl(
     const GURL& request_origin,
     content::PermissionType permission_type,
@@ -42,10 +37,7 @@
   }
 }
 
-gfx::VectorIconId PermissionRequestImpl::GetVectorIconId() const {
-#if defined(OS_ANDROID)
-  return gfx::VectorIconId::VECTOR_ICON_NONE;
-#else
+PermissionRequest::IconId PermissionRequestImpl::GetIconId() const {
   switch (permission_type_) {
     case content::PermissionType::GEOLOCATION:
       return gfx::VectorIconId::LOCATION_ON;
@@ -67,25 +59,8 @@
       NOTREACHED();
       return gfx::VectorIconId::VECTOR_ICON_NONE;
   }
-#endif
 }
 
-#if defined(OS_ANDROID)
-int PermissionRequestImpl::GetIconId() const {
-  switch (permission_type_) {
-    case content::PermissionType::GEOLOCATION:
-      return IDR_ANDROID_INFOBAR_GEOLOCATION;
-    case content::PermissionType::MIDI_SYSEX:
-      return IDR_ALLOWED_MIDI_SYSEX;
-    case content::PermissionType::FLASH:
-      return IDR_ALLOWED_PLUGINS;
-    default:
-      NOTREACHED();
-      return 0;
-  }
-}
-#endif
-
 base::string16 PermissionRequestImpl::GetMessageTextFragment() const {
   int message_id;
   switch (permission_type_) {
diff --git a/chrome/browser/permissions/permission_request_impl.h b/chrome/browser/permissions/permission_request_impl.h
index 45c216a5..7ab94db7 100644
--- a/chrome/browser/permissions/permission_request_impl.h
+++ b/chrome/browser/permissions/permission_request_impl.h
@@ -37,10 +37,7 @@
 
  private:
   // PermissionRequest:
-  gfx::VectorIconId GetVectorIconId() const override;
-#if defined(OS_ANDROID)
-  int GetIconId() const override;
-#endif
+  IconId GetIconId() const override;
   base::string16 GetMessageTextFragment() const override;
   GURL GetOrigin() const override;
   // Remember to call RegisterActionTaken for these methods if you are
diff --git a/chrome/browser/permissions/permission_request_manager.cc b/chrome/browser/permissions/permission_request_manager.cc
index 19d67cf..40fdb50 100644
--- a/chrome/browser/permissions/permission_request_manager.cc
+++ b/chrome/browser/permissions/permission_request_manager.cc
@@ -27,7 +27,7 @@
         origin_(cancelled->GetOrigin()) {}
   ~CancelledRequest() override {}
 
-  int GetIconId() const override { return icon_; }
+  IconId GetIconId() const override { return icon_; }
   base::string16 GetMessageTextFragment() const override {
     return message_fragment_;
   }
@@ -41,7 +41,7 @@
   void RequestFinished() override { delete this; }
 
  private:
-  int icon_;
+  IconId icon_;
   base::string16 message_fragment_;
   GURL origin_;
 };
diff --git a/chrome/browser/permissions/permission_update_infobar_delegate_android.cc b/chrome/browser/permissions/permission_update_infobar_delegate_android.cc
index 6d796e9..47fb590 100644
--- a/chrome/browser/permissions/permission_update_infobar_delegate_android.cc
+++ b/chrome/browser/permissions/permission_update_infobar_delegate_android.cc
@@ -9,10 +9,10 @@
 #include "base/android/jni_array.h"
 #include "base/callback_helpers.h"
 #include "chrome/browser/android/preferences/pref_service_bridge.h"
+#include "chrome/browser/android/android_theme_resources.h"
 #include "chrome/browser/infobars/infobar_service.h"
 #include "chrome/grit/chromium_strings.h"
 #include "chrome/grit/generated_resources.h"
-#include "chrome/grit/theme_resources.h"
 #include "components/infobars/core/infobar.h"
 #include "content/public/browser/android/content_view_core.h"
 #include "content/public/browser/web_contents.h"
@@ -154,7 +154,7 @@
 }
 
 int PermissionUpdateInfoBarDelegate::GetIconId() const {
-  return IDR_INFOBAR_WARNING;
+  return IDR_ANDROID_INFOBAR_WARNING;
 }
 
 base::string16 PermissionUpdateInfoBarDelegate::GetMessageText() const {
diff --git a/chrome/browser/ui/cocoa/website_settings/permission_bubble_controller.mm b/chrome/browser/ui/cocoa/website_settings/permission_bubble_controller.mm
index ddae36c..6cb51087 100644
--- a/chrome/browser/ui/cocoa/website_settings/permission_bubble_controller.mm
+++ b/chrome/browser/ui/cocoa/website_settings/permission_bubble_controller.mm
@@ -512,9 +512,9 @@
       [[NSView alloc] initWithFrame:NSZeroRect]);
   base::scoped_nsobject<NSImageView> permissionIcon(
       [[NSImageView alloc] initWithFrame:NSZeroRect]);
-  [permissionIcon setImage:NSImageFromImageSkia(
-      gfx::CreateVectorIcon(request->GetVectorIconId(), 18,
-                            gfx::kChromeIconGrey))];
+  [permissionIcon
+      setImage:NSImageFromImageSkia(gfx::CreateVectorIcon(
+                   request->GetIconId(), 18, gfx::kChromeIconGrey))];
   [permissionIcon setFrameSize:kPermissionIconSize];
   [permissionView addSubview:permissionIcon];
 
diff --git a/chrome/browser/ui/views/website_settings/permission_prompt_impl.cc b/chrome/browser/ui/views/website_settings/permission_prompt_impl.cc
index 79d19ab..94ea1b8 100644
--- a/chrome/browser/ui/views/website_settings/permission_prompt_impl.cc
+++ b/chrome/browser/ui/views/website_settings/permission_prompt_impl.cc
@@ -205,7 +205,6 @@
       requests[0]->GetOrigin(),
       url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC);
 
-  ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance();
   bool show_persistence_toggle = true;
   for (size_t index = 0; index < requests.size(); index++) {
     DCHECK(index < accept_state.size());
@@ -227,13 +226,10 @@
         views::BoxLayout::kHorizontal, views::kCheckboxIndent, 0,
         views::kItemLabelSpacing));
     views::ImageView* icon = new views::ImageView();
-    gfx::VectorIconId vector_id = requests[index]->GetVectorIconId();
+    gfx::VectorIconId vector_id = requests[index]->GetIconId();
     if (vector_id != gfx::VectorIconId::VECTOR_ICON_NONE) {
       icon->SetImage(
           gfx::CreateVectorIcon(vector_id, kIconSize, gfx::kChromeIconGrey));
-    } else {
-      icon->SetImage(bundle.GetImageSkiaNamed(requests.at(index)->GetIconId()));
-      icon->SetImageSize(gfx::Size(kIconSize, kIconSize));
     }
     icon->SetTooltipText(base::string16());  // Redundant with the text fragment
     label_container->AddChildView(icon);