Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(413)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java

Issue 2415863002: Use PermissionType instead of ContentSettingsType in Android permission infobars (Closed)
Patch Set: Merge branch 'master' into use_permission_type_for_infobar Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java
index 06b96190c33b04f15504340f35089695ba46e35b..551a8feba22228aeedc832828f146985cc5b6452 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java
@@ -16,7 +16,7 @@ import android.widget.TextView;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.chrome.R;
-import org.chromium.chrome.browser.ContentSettingsType;
+import org.chromium.chrome.browser.PermissionType;
import org.chromium.chrome.browser.ResourceId;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.tab.Tab;
@@ -35,11 +35,11 @@ public class PermissionInfoBar extends ConfirmInfoBar {
private WindowAndroid mWindowAndroid;
/**
- * Mapping between the required {@link ContentSettingsType}s and their associated Android
- * runtime permissions. Only {@link ContentSettingsType}s that are associated with runtime
+ * Mapping between the required {@link PermissionType}s and their associated Android
+ * runtime permissions. Only {@link PermissionType}s that are associated with runtime
* permissions will be included in this list while all others will be excluded.
*/
- private SparseArray<String> mContentSettingsToPermissionsMap;
+ private SparseArray<String> mPermissionTypeToPermissionsMap;
protected PermissionInfoBar(int iconDrawableId, Bitmap iconBitmap, String message,
String linkText, String primaryButtonText, String secondaryButtonText,
@@ -68,62 +68,61 @@ public class PermissionInfoBar extends ConfirmInfoBar {
}
/**
- * Specifies the {@link ContentSettingsType}s that are controlled by this InfoBar.
+ * Specifies the {@link PermissionType}s that are controlled by this InfoBar.
*
* @param windowAndroid The WindowAndroid that will be used to check for the necessary
* permissions.
- * @param contentSettings The list of {@link ContentSettingsType}s whose access is guarded
+ * @param permissions The list of {@link PermissionType}s whose access is guarded
raymes 2016/10/17 01:11:12 nit: permissionTypes
* by this InfoBar.
*/
- protected void setContentSettings(
- WindowAndroid windowAndroid, int[] contentSettings) {
+ protected void setPermissions(WindowAndroid windowAndroid, int[] permissions) {
mWindowAndroid = windowAndroid;
assert windowAndroid != null
- : "A WindowAndroid must be specified to request access to content settings";
+ : "A WindowAndroid must be specified to request access to permissions";
- mContentSettingsToPermissionsMap = generatePermissionsMapping(contentSettings);
+ mPermissionTypeToPermissionsMap = generatePermissionsMapping(permissions);
}
- private SparseArray<String> generatePermissionsMapping(int[] contentSettings) {
+ private SparseArray<String> generatePermissionsMapping(int[] permissions) {
SparseArray<String> permissionsToRequest = new SparseArray<String>();
- for (int i = 0; i < contentSettings.length; i++) {
- String permission = PrefServiceBridge.getAndroidPermissionForContentSetting(
- contentSettings[i]);
+ for (int i = 0; i < permissions.length; i++) {
+ String permission =
+ PrefServiceBridge.getAndroidPermissionForPermissionType(permissions[i]);
if (permission != null && !mWindowAndroid.hasPermission(permission)) {
- permissionsToRequest.append(contentSettings[i], permission);
+ permissionsToRequest.append(permissions[i], permission);
}
}
return permissionsToRequest;
}
private int getDeniedPermissionResourceId(String permission) {
- int contentSettingsType = 0;
+ int permissionType = 0;
// SparseArray#indexOfValue uses == instead of .equals, so we need to manually iterate
// over the list.
- for (int i = 0; i < mContentSettingsToPermissionsMap.size(); i++) {
- if (permission.equals(mContentSettingsToPermissionsMap.valueAt(i))) {
- contentSettingsType = mContentSettingsToPermissionsMap.keyAt(i);
+ for (int i = 0; i < mPermissionTypeToPermissionsMap.size(); i++) {
+ if (permission.equals(mPermissionTypeToPermissionsMap.valueAt(i))) {
+ permissionType = mPermissionTypeToPermissionsMap.keyAt(i);
}
}
- if (contentSettingsType == ContentSettingsType.CONTENT_SETTINGS_TYPE_GEOLOCATION) {
+ if (permissionType == PermissionType.GEOLOCATION) {
return R.string.infobar_missing_location_permission_text;
}
- if (contentSettingsType == ContentSettingsType.CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC) {
+ if (permissionType == PermissionType.AUDIO_CAPTURE) {
return R.string.infobar_missing_microphone_permission_text;
}
- if (contentSettingsType == ContentSettingsType.CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA) {
+ if (permissionType == PermissionType.VIDEO_CAPTURE) {
return R.string.infobar_missing_camera_permission_text;
}
- assert false : "Unexpected content setting type received: " + contentSettingsType;
+ assert false : "Unexpected permission type received: " + permissionType;
return R.string.infobar_missing_multiple_permissions_text;
}
@Override
public void onButtonClicked(final boolean isPrimaryButton) {
if (mWindowAndroid == null || !isPrimaryButton || getContext() == null
- || mContentSettingsToPermissionsMap == null
- || mContentSettingsToPermissionsMap.size() == 0) {
+ || mPermissionTypeToPermissionsMap == null
+ || mPermissionTypeToPermissionsMap.size() == 0) {
onButtonClickedInternal(isPrimaryButton);
return;
}
@@ -186,9 +185,9 @@ public class PermissionInfoBar extends ConfirmInfoBar {
}
};
- String[] permissionsToRequest = new String[mContentSettingsToPermissionsMap.size()];
- for (int i = 0; i < mContentSettingsToPermissionsMap.size(); i++) {
- permissionsToRequest[i] = mContentSettingsToPermissionsMap.valueAt(i);
+ String[] permissionsToRequest = new String[mPermissionTypeToPermissionsMap.size()];
+ for (int i = 0; i < mPermissionTypeToPermissionsMap.size(); i++) {
+ permissionsToRequest[i] = mPermissionTypeToPermissionsMap.valueAt(i);
}
mWindowAndroid.requestPermissions(permissionsToRequest, callback);
}
@@ -222,19 +221,19 @@ public class PermissionInfoBar extends ConfirmInfoBar {
* @param linkText Link text to display in addition to the message.
* @param buttonOk String to display on the OK button.
* @param buttonCancel String to display on the Cancel button.
- * @param contentSettings The list of ContentSettingTypes being requested by this infobar.
+ * @param permissions The list of PermissionTypes being requested by this infobar.
raymes 2016/10/17 01:11:12 nit: permissionTypes
* @param showPersistenceToggle Whether or not a toggle to opt-out of persisting a decision
* should be displayed.
*/
@CalledByNative
private static PermissionInfoBar create(WindowAndroid windowAndroid, int enumeratedIconId,
Bitmap iconBitmap, String message, String linkText, String buttonOk,
- String buttonCancel, int[] contentSettings, boolean showPersistenceToggle) {
+ String buttonCancel, int[] permissions, boolean showPersistenceToggle) {
int drawableId = ResourceId.mapToDrawableId(enumeratedIconId);
PermissionInfoBar infoBar = new PermissionInfoBar(drawableId, iconBitmap, message, linkText,
buttonOk, buttonCancel, showPersistenceToggle);
- infoBar.setContentSettings(windowAndroid, contentSettings);
+ infoBar.setPermissions(windowAndroid, permissions);
return infoBar;
}

Powered by Google App Engine
This is Rietveld 408576698