| Index: chrome/browser/permissions/permission_update_infobar_delegate_android.cc
|
| diff --git a/chrome/browser/permissions/permission_update_infobar_delegate_android.cc b/chrome/browser/permissions/permission_update_infobar_delegate_android.cc
|
| index 8224a9187c8851c96cf896c065000749af00df31..8f2c885884f970169b1dee6fc673e53bc45ffeeb 100644
|
| --- a/chrome/browser/permissions/permission_update_infobar_delegate_android.cc
|
| +++ b/chrome/browser/permissions/permission_update_infobar_delegate_android.cc
|
| @@ -36,17 +36,13 @@ infobars::InfoBar* PermissionUpdateInfoBarDelegate::Create(
|
| ui::WindowAndroid* window_android = cvc->GetWindowAndroid();
|
|
|
| std::vector<std::string> permissions;
|
| - int missing_permission_count = 0;
|
| - int message_id = IDS_INFOBAR_MISSING_MULTIPLE_PERMISSIONS_TEXT;
|
| + int message_id = -1;
|
|
|
| for (ContentSettingsType content_settings_type : content_settings_types) {
|
| int previous_size = permissions.size();
|
| PrefServiceBridge::GetAndroidPermissionsForContentSetting(
|
| content_settings_type, &permissions);
|
|
|
| - if (missing_permission_count > 1)
|
| - continue;
|
| -
|
| bool has_all_permissions = true;
|
| for (auto it = permissions.begin() + previous_size; it != permissions.end();
|
| ++it) {
|
| @@ -54,20 +50,27 @@ infobars::InfoBar* PermissionUpdateInfoBarDelegate::Create(
|
| }
|
|
|
| if (!has_all_permissions) {
|
| - missing_permission_count++;
|
| - if (missing_permission_count > 1) {
|
| - message_id = IDS_INFOBAR_MISSING_MULTIPLE_PERMISSIONS_TEXT;
|
| - } else if (content_settings_type == CONTENT_SETTINGS_TYPE_GEOLOCATION) {
|
| - message_id = IDS_INFOBAR_MISSING_LOCATION_PERMISSION_TEXT;
|
| - } else if (content_settings_type ==
|
| - CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC) {
|
| - message_id = IDS_INFOBAR_MISSING_MICROPHONE_PERMISSION_TEXT;
|
| - } else if (content_settings_type ==
|
| - CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA) {
|
| - message_id = IDS_INFOBAR_MISSING_CAMERA_PERMISSION_TEXT;
|
| + if (message_id == -1) {
|
| + if (content_settings_type == CONTENT_SETTINGS_TYPE_GEOLOCATION) {
|
| + message_id = IDS_INFOBAR_MISSING_LOCATION_PERMISSION_TEXT;
|
| + } else if (content_settings_type ==
|
| + CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC) {
|
| + message_id = IDS_INFOBAR_MISSING_MICROPHONE_PERMISSION_TEXT;
|
| + } else if (content_settings_type ==
|
| + CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA) {
|
| + message_id = IDS_INFOBAR_MISSING_CAMERA_PERMISSION_TEXT;
|
| + } else {
|
| + NOTREACHED();
|
| + }
|
| + } else if (message_id == IDS_INFOBAR_MISSING_CAMERA_PERMISSION_TEXT) {
|
| + DCHECK(content_settings_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC);
|
| + message_id = IDS_INFOBAR_MISSING_MICROPHONE_CAMERA_PERMISSIONS_TEXT;
|
| + } else if (message_id == IDS_INFOBAR_MISSING_MICROPHONE_PERMISSION_TEXT) {
|
| + DCHECK(content_settings_type ==
|
| + CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA);
|
| + message_id = IDS_INFOBAR_MISSING_MICROPHONE_CAMERA_PERMISSIONS_TEXT;
|
| } else {
|
| NOTREACHED();
|
| - message_id = IDS_INFOBAR_MISSING_MULTIPLE_PERMISSIONS_TEXT;
|
| }
|
| }
|
| }
|
|
|