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 9eff20e4c68c977b252caaaf78deff8e77c492e5..9162a8587cba8cfd9368d7bf65c59106c97e7ec2 100644 |
--- a/chrome/browser/ui/content_settings/content_setting_image_model.cc |
+++ b/chrome/browser/ui/content_settings/content_setting_image_model.cc |
@@ -245,38 +245,34 @@ void ContentSettingMediaImageModel::UpdateFromWebContents( |
TabSpecificContentSettings::FromWebContents(web_contents); |
if (!content_settings) |
return; |
- TabSpecificContentSettings::MicrophoneCameraState state = |
- content_settings->GetMicrophoneCameraState(); |
+ unsigned state = content_settings->GetMicrophoneCameraState(); |
- switch (state) { |
- case TabSpecificContentSettings::MICROPHONE_CAMERA_NOT_ACCESSED: |
- // If neither the microphone nor the camera stream was accessed then no |
- // icon is displayed in the omnibox. |
- return; |
- case TabSpecificContentSettings::MICROPHONE_ACCESSED: |
- set_icon(IDR_ASK_MEDIA); |
- set_tooltip(l10n_util::GetStringUTF8(IDS_MICROPHONE_ACCESSED)); |
- break; |
- case TabSpecificContentSettings::CAMERA_ACCESSED: |
- set_icon(IDR_ASK_MEDIA); |
- set_tooltip(l10n_util::GetStringUTF8(IDS_CAMERA_ACCESSED)); |
- break; |
- case TabSpecificContentSettings::MICROPHONE_CAMERA_ACCESSED: |
- set_icon(IDR_ASK_MEDIA); |
- set_tooltip(l10n_util::GetStringUTF8(IDS_MICROPHONE_CAMERA_ALLOWED)); |
- break; |
- case TabSpecificContentSettings::MICROPHONE_BLOCKED: |
- set_icon(IDR_BLOCKED_MEDIA); |
+ // If neither the microphone nor the camera stream was accessed then no icon |
+ // is displayed in the omnibox. |
+ if (state == TabSpecificContentSettings::MICROPHONE_CAMERA_NOT_ACCESSED) |
+ return; |
+ |
+ const bool is_mic = state & TabSpecificContentSettings::MICROPHONE_ACCESSED; |
+ const bool is_cam = state & TabSpecificContentSettings::CAMERA_ACCESSED; |
+ DCHECK(is_mic || is_cam); |
+ |
+ if (state & (TabSpecificContentSettings::MICROPHONE_BLOCKED | |
+ TabSpecificContentSettings::CAMERA_BLOCKED)) { |
+ set_icon(IDR_BLOCKED_MEDIA); |
+ if (is_mic && is_cam) |
+ set_tooltip(l10n_util::GetStringUTF8(IDS_MICROPHONE_CAMERA_BLOCKED)); |
+ else if (is_mic) |
set_tooltip(l10n_util::GetStringUTF8(IDS_MICROPHONE_BLOCKED)); |
- break; |
- case TabSpecificContentSettings::CAMERA_BLOCKED: |
- set_icon(IDR_BLOCKED_MEDIA); |
+ else if (is_cam) |
Peter Kasting
2014/09/24 01:33:00
Nit: This conditional is always true. Here's a sh
robwu
2014/09/24 23:38:45
Nice. Done.
|
set_tooltip(l10n_util::GetStringUTF8(IDS_CAMERA_BLOCKED)); |
- break; |
- case TabSpecificContentSettings::MICROPHONE_CAMERA_BLOCKED: |
- set_icon(IDR_BLOCKED_MEDIA); |
- set_tooltip(l10n_util::GetStringUTF8(IDS_MICROPHONE_CAMERA_BLOCKED)); |
- break; |
+ } else { |
+ set_icon(IDR_ASK_MEDIA); |
+ if (is_mic && is_cam) |
+ set_tooltip(l10n_util::GetStringUTF8(IDS_MICROPHONE_CAMERA_ALLOWED)); |
+ else if (is_mic) |
+ set_tooltip(l10n_util::GetStringUTF8(IDS_MICROPHONE_ACCESSED)); |
+ else if (is_cam) |
+ set_tooltip(l10n_util::GetStringUTF8(IDS_CAMERA_ACCESSED)); |
} |
set_visible(true); |
} |