| Index: chrome/browser/ui/content_settings/content_setting_image_model.cc
 | 
| diff --git a/chrome/browser/ui/content_settings/content_setting_image_model.cc b/chrome/browser/ui/content_settings/content_setting_image_model.cc
 | 
| index 022831d7a90449d3bf7fd3637f10371d344ebfe8..305d5951beb92416195a7124d444275d3c646bbc 100644
 | 
| --- a/chrome/browser/ui/content_settings/content_setting_image_model.cc
 | 
| +++ b/chrome/browser/ui/content_settings/content_setting_image_model.cc
 | 
| @@ -31,6 +31,13 @@ class ContentSettingGeolocationImageModel : public ContentSettingImageModel {
 | 
|    virtual void UpdateFromWebContents(WebContents* web_contents) OVERRIDE;
 | 
|  };
 | 
|  
 | 
| +class ContentSettingRPHImageModel : public ContentSettingImageModel {
 | 
| + public:
 | 
| +  ContentSettingRPHImageModel();
 | 
| +
 | 
| +  virtual void UpdateFromWebContents(WebContents* web_contents) OVERRIDE;
 | 
| +};
 | 
| +
 | 
|  class ContentSettingNotificationsImageModel : public ContentSettingImageModel {
 | 
|   public:
 | 
|    ContentSettingNotificationsImageModel();
 | 
| @@ -155,6 +162,27 @@ void ContentSettingGeolocationImageModel::UpdateFromWebContents(
 | 
|        IDS_GEOLOCATION_ALLOWED_TOOLTIP : IDS_GEOLOCATION_BLOCKED_TOOLTIP));
 | 
|  }
 | 
|  
 | 
| +ContentSettingRPHImageModel::ContentSettingRPHImageModel()
 | 
| +    : ContentSettingImageModel(
 | 
| +        CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS) {
 | 
| +  set_icon(IDR_REGISTER_PROTOCOL_HANDLER_LOCATIONBAR_ICON);
 | 
| +  set_tooltip(l10n_util::GetStringUTF8(IDS_REGISTER_PROTOCOL_HANDLER_TOOLTIP));
 | 
| +}
 | 
| +
 | 
| +void ContentSettingRPHImageModel::UpdateFromWebContents(
 | 
| +    WebContents* web_contents) {
 | 
| +  set_visible(false);
 | 
| +  if (!web_contents)
 | 
| +    return;
 | 
| +
 | 
| +  TabSpecificContentSettings* content_settings =
 | 
| +      TabContents::FromWebContents(web_contents)->content_settings();
 | 
| +  if (content_settings->pending_protocol_handler().IsEmpty())
 | 
| +    return;
 | 
| +
 | 
| +  set_visible(true);
 | 
| +}
 | 
| +
 | 
|  ContentSettingNotificationsImageModel::ContentSettingNotificationsImageModel()
 | 
|      : ContentSettingImageModel(CONTENT_SETTINGS_TYPE_NOTIFICATIONS) {
 | 
|  }
 | 
| @@ -182,6 +210,8 @@ ContentSettingImageModel*
 | 
|        return new ContentSettingGeolocationImageModel();
 | 
|      case CONTENT_SETTINGS_TYPE_NOTIFICATIONS:
 | 
|        return new ContentSettingNotificationsImageModel();
 | 
| +    case CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS:
 | 
| +      return new ContentSettingRPHImageModel();
 | 
|      default:
 | 
|        return new ContentSettingBlockedImageModel(content_settings_type);
 | 
|    }
 | 
| 
 |