Chromium Code Reviews| 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..ce6bcffb3708370103a507ab484f1c917354dd6d 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 { |
| + CHECK(false); |
| + } |
| + } else if (message_id == IDS_INFOBAR_MISSING_CAMERA_PERMISSION_TEXT) { |
| + CHECK(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) { |
| + CHECK(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; |
| + CHECK(false); |
|
raymes
2017/05/14 23:22:24
Are you worried about people using this to request
benwells
2017/05/16 15:21:30
I don't think it can happen now. But if it somehow
|
| } |
| } |
| } |