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 43bfc3e073eba46813e5c09e77da5f63e3acbdf8..cae5c68f07f076ec06e15345e98c45f7da92b556 100644 |
--- a/chrome/browser/ui/content_settings/content_setting_image_model.cc |
+++ b/chrome/browser/ui/content_settings/content_setting_image_model.cc |
@@ -218,8 +218,8 @@ ContentSettingSimpleImageModel::CreateForContentTypeForTesting( |
if (content_settings_type == CONTENT_SETTINGS_TYPE_MIDI_SYSEX) |
return base::MakeUnique<ContentSettingMIDISysExImageModel>(); |
- if (content_settings_type == CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS) |
- return base::MakeUnique<ContentSettingDownloadsImageModel>(); |
+ if (content_settings_type == CONTENT_SETTINGS_TYPE_SENSORS) |
+ return base::MakeUnique<ContentSettingSensorImageModel>(); |
return base::MakeUnique<ContentSettingBlockedImageModel>( |
content_settings_type); |
@@ -526,6 +526,35 @@ void ContentSettingMIDISysExImageModel::UpdateFromWebContents( |
: IDS_MIDI_SYSEX_BLOCKED_TOOLTIP)); |
} |
+// Sensors ------------------------------------------------------------------ |
+ |
+ContentSettingSensorImageModel::ContentSettingSensorImageModel() |
+ : ContentSettingSimpleImageModel(CONTENT_SETTINGS_TYPE_SENSORS) {} |
+ |
+void ContentSettingSensorImageModel::UpdateFromWebContents( |
+ WebContents* web_contents) { |
+ set_visible(false); |
+ if (!web_contents) |
+ return; |
+ TabSpecificContentSettings* content_settings = |
+ TabSpecificContentSettings::FromWebContents(web_contents); |
+ if (!content_settings) |
+ return; |
+ // TODO(riju): when UMA is ready. |
+ set_visible(true); |
+ |
+ // If any embedded site has access the allowed icon takes priority over the |
+ // blocked icon. |
+ unsigned int state_flags = 0; |
+ bool allowed = |
+ !!(state_flags & ContentSettingsUsagesState::TABSTATE_HAS_ANY_ALLOWED); |
+ set_icon_by_vector_id(gfx::VectorIconId::MIDI, // TODO(riju) |
+ allowed ? gfx::VectorIconId::VECTOR_ICON_NONE |
+ : gfx::VectorIconId::BLOCKED_BADGE); |
+ set_tooltip(l10n_util::GetStringUTF16(allowed ? IDS_SENSORS_ALLOWED_TOOLTIP |
+ : IDS_SENSORS_BLOCKED_TOOLTIP)); |
+} |
+ |
// Automatic downloads --------------------------------------------------------- |
ContentSettingDownloadsImageModel::ContentSettingDownloadsImageModel() |