| 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,
|
|
|