| 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..09aff0a3484e67e8bf4e4627aed4f4eed7a99ccd 100644
|
| --- a/chrome/browser/ui/content_settings/content_setting_image_model.cc
|
| +++ b/chrome/browser/ui/content_settings/content_setting_image_model.cc
|
| @@ -248,36 +248,28 @@ void ContentSettingMediaImageModel::UpdateFromWebContents(
|
| TabSpecificContentSettings::MicrophoneCameraState 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);
|
| - set_tooltip(l10n_util::GetStringUTF8(IDS_MICROPHONE_BLOCKED));
|
| - break;
|
| - case TabSpecificContentSettings::CAMERA_BLOCKED:
|
| - set_icon(IDR_BLOCKED_MEDIA);
|
| - 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;
|
| + // 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;
|
| +
|
| + bool is_mic = (state & TabSpecificContentSettings::MICROPHONE_ACCESSED) != 0;
|
| + bool is_cam = (state & TabSpecificContentSettings::CAMERA_ACCESSED) != 0;
|
| + DCHECK(is_mic || is_cam);
|
| +
|
| + int id = IDS_CAMERA_BLOCKED;
|
| + if (state & (TabSpecificContentSettings::MICROPHONE_BLOCKED |
|
| + TabSpecificContentSettings::CAMERA_BLOCKED)) {
|
| + set_icon(IDR_BLOCKED_MEDIA);
|
| + if (is_mic)
|
| + id = is_cam ? IDS_MICROPHONE_CAMERA_BLOCKED : IDS_MICROPHONE_BLOCKED;
|
| + } else {
|
| + set_icon(IDR_ASK_MEDIA);
|
| + id = IDS_CAMERA_ACCESSED;
|
| + if (is_mic)
|
| + id = is_cam ? IDS_MICROPHONE_CAMERA_ALLOWED : IDS_MICROPHONE_ACCESSED;
|
| }
|
| + set_tooltip(l10n_util::GetStringUTF8(id));
|
| set_visible(true);
|
| }
|
|
|
|
|