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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.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/preferences/PrefServiceBridge.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
index ecf39a5b97eaad777b2f354bfd8c38b95ad508a6..15a71e316e042a46165ddf6d3a23a90c53d17109 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
@@ -13,6 +13,7 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.chrome.browser.ContentSettingsType;
+import org.chromium.chrome.browser.PermissionType;
import org.chromium.chrome.browser.preferences.website.ContentSetting;
import org.chromium.chrome.browser.preferences.website.ContentSettingException;
import org.chromium.chrome.browser.preferences.website.GeolocationInfo;
@@ -241,6 +242,10 @@ public final class PrefServiceBridge {
*
* @param contentSettingType The content setting to get the android permission for.
* @return The android permission for the given content setting.
+ *
+ * TODO(lshang): Remove this and migrate all call sites to use
+ * getAndroidPermissionForPermissionType() below, which takes PermissionType instead of
+ * ContentSettingsType.
*/
@CalledByNative
public static String getAndroidPermissionForContentSetting(int contentSettingType) {
raymes 2016/10/17 01:11:12 Hmm it would be good to remove this asap. Besides
@@ -257,6 +262,26 @@ public final class PrefServiceBridge {
}
/**
+ * Return the android permission string for a given {@link PermissionType}. If there
+ * is no corresponding permission, then null will be returned.
+ *
+ * @param permissionType The content setting to get the android permission for.
+ * @return The android permission for the given content setting.
+ */
+ public static String getAndroidPermissionForPermissionType(int permissionType) {
+ if (permissionType == PermissionType.GEOLOCATION) {
+ return android.Manifest.permission.ACCESS_FINE_LOCATION;
+ }
+ if (permissionType == PermissionType.AUDIO_CAPTURE) {
+ return android.Manifest.permission.RECORD_AUDIO;
+ }
+ if (permissionType == PermissionType.VIDEO_CAPTURE) {
+ return android.Manifest.permission.CAMERA;
+ }
+ return null;
+ }
+
+ /**
* @return whether autoplay is enabled.
*/
public boolean isAutoplayEnabled() {

Powered by Google App Engine
This is Rietveld 408576698