Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java |
index 3baa5e10a5d06e06f52fb8abaf3657721d7b32b5..1453ca6a170ef55d9acdac61f3e5c9749b01ceae 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java |
@@ -137,30 +137,54 @@ public abstract class WebsitePreferenceBridge { |
} |
/** |
- * @return List of all the origin/embedder combinations of voice and video capture |
- * permissions. |
+ * @return List of all the origin/embedder combinations of camera capture permissions. |
+ */ |
+ @SuppressWarnings("unchecked") |
+ public static List<CameraCaptureInfo> getCameraCaptureInfo() { |
+ ArrayList<CameraCaptureInfo> list = |
+ new ArrayList<CameraCaptureInfo>(); |
+ // Camera can be managed by the custodian of a supervised account or by enterprise policy. |
+ boolean managedOnly = !PrefServiceBridge.getInstance().isCameraUserModifiable(); |
+ nativeGetCameraCaptureOrigins(list, managedOnly); |
+ return list; |
+ } |
+ |
+ @CalledByNative |
+ private static void insertCameraCaptureInfoIntoList( |
+ ArrayList<CameraCaptureInfo> list, String origin, String embedder) { |
+ for (int i = 0; i < list.size(); i++) { |
+ if (list.get(i).getOrigin().equals(origin) |
+ && list.get(i).getEmbedder().equals(embedder)) { |
+ return; |
+ } |
+ } |
+ list.add(new CameraCaptureInfo(origin, embedder)); |
+ } |
+ |
+ /** |
+ * @return List of all the origin/embedder combinations of microphone capture permissions. |
*/ |
@SuppressWarnings("unchecked") |
- public static List<VoiceAndVideoCaptureInfo> getVoiceAndVideoCaptureInfo() { |
- ArrayList<VoiceAndVideoCaptureInfo> list = |
- new ArrayList<VoiceAndVideoCaptureInfo>(); |
- // Camera and Microphone can be managed by the custodian of a supervised account or |
- // by enterprise policy. |
- boolean managedOnly = !PrefServiceBridge.getInstance().isCameraMicUserModifiable(); |
- nativeGetVoiceAndVideoCaptureOrigins(list, managedOnly); |
+ public static List<MicrophoneCaptureInfo> getMicrophoneCaptureInfo() { |
+ ArrayList<MicrophoneCaptureInfo> list = |
+ new ArrayList<MicrophoneCaptureInfo>(); |
+ // Microphone can be managed by the custodian of a supervised account or by enterprise |
+ // policy. |
+ boolean managedOnly = !PrefServiceBridge.getInstance().isMicUserModifiable(); |
+ nativeGetMicrophoneCaptureOrigins(list, managedOnly); |
return list; |
} |
@CalledByNative |
- private static void insertVoiceAndVideoCaptureInfoIntoList( |
- ArrayList<VoiceAndVideoCaptureInfo> list, String origin, String embedder) { |
+ private static void insertMicrophoneCaptureInfoIntoList( |
+ ArrayList<MicrophoneCaptureInfo> list, String origin, String embedder) { |
for (int i = 0; i < list.size(); i++) { |
if (list.get(i).getOrigin().equals(origin) |
&& list.get(i).getEmbedder().equals(embedder)) { |
return; |
} |
} |
- list.add(new VoiceAndVideoCaptureInfo(origin, embedder)); |
+ list.add(new MicrophoneCaptureInfo(origin, embedder)); |
} |
public static List<ContentSettingException> getContentSettingsExceptions( |
@@ -228,6 +252,8 @@ public abstract class WebsitePreferenceBridge { |
String embedder, int value); |
private static native void nativeGetVoiceAndVideoCaptureOrigins( |
Object list, boolean managedOnly); |
+ private static native void nativeGetCameraCaptureOrigins(Object list, boolean managedOnly); |
+ private static native void nativeGetMicrophoneCaptureOrigins(Object list, boolean managedOnly); |
static native int nativeGetVoiceCaptureSettingForOrigin(String origin, String embedder); |
static native int nativeGetVideoCaptureSettingForOrigin(String origin, String embedder); |
static native void nativeSetVoiceCaptureSettingForOrigin(String origin, String embedder, |