| Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePermissionsFetcher.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePermissionsFetcher.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePermissionsFetcher.java
|
| index ea0a665bd0806c84ac09191ab2e9fb86c23c7b6c..06397ea1f4803d5e6448a535792b54da19e5a3b4 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePermissionsFetcher.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePermissionsFetcher.java
|
| @@ -78,8 +78,10 @@ public class WebsitePermissionsFetcher {
|
| queue.add(new ProtectedMediaIdentifierInfoFetcher());
|
| // Push notification permission is per-origin and per-embedder.
|
| queue.add(new PushNotificationInfoFetcher());
|
| - // Voice and Video capture permission is per-origin and per-embedder.
|
| - queue.add(new VoiceAndVideoCaptureInfoFetcher());
|
| + // Camera capture permission is per-origin and per-embedder.
|
| + queue.add(new CameraCaptureInfoFetcher());
|
| + // Micropohone capture permission is per-origin and per-embedder.
|
| + queue.add(new MicrophoneCaptureInfoFetcher());
|
| queue.add(new PermissionsAvailableCallbackRunner());
|
| queue.next();
|
| }
|
| @@ -112,9 +114,12 @@ public class WebsitePermissionsFetcher {
|
| } else if (filterHelper.showFullscreenSites(filter)) {
|
| // Local storage info is per-origin.
|
| queue.add(new FullscreenInfoFetcher());
|
| - } else if (filterHelper.showCameraMicSites(filter)) {
|
| - // Voice and Video capture permission is per-origin and per-embedder.
|
| - queue.add(new VoiceAndVideoCaptureInfoFetcher());
|
| + } else if (filterHelper.showCameraSites(filter)) {
|
| + // Camera capture permission is per-origin and per-embedder.
|
| + queue.add(new CameraCaptureInfoFetcher());
|
| + } else if (filterHelper.showMicrophoneSites(filter)) {
|
| + // Micropohone capture permission is per-origin and per-embedder.
|
| + queue.add(new MicrophoneCaptureInfoFetcher());
|
| } else if (filterHelper.showPopupSites(filter)) {
|
| // Popup exceptions are host-based patterns (unless we start
|
| // synchronizing popup exceptions with desktop Chrome.)
|
| @@ -364,14 +369,27 @@ public class WebsitePermissionsFetcher {
|
| }
|
| }
|
|
|
| - private class VoiceAndVideoCaptureInfoFetcher implements Task {
|
| + private class CameraCaptureInfoFetcher implements Task {
|
| @Override
|
| public void run(TaskQueue queue) {
|
| - for (VoiceAndVideoCaptureInfo info :
|
| - WebsitePreferenceBridge.getVoiceAndVideoCaptureInfo()) {
|
| + for (CameraCaptureInfo info :
|
| + WebsitePreferenceBridge.getCameraCaptureInfo()) {
|
| WebsiteAddress address = WebsiteAddress.create(info.getOrigin());
|
| if (address == null) continue;
|
| - createSiteByOriginAndHost(address).setVoiceAndVideoCaptureInfo(info);
|
| + createSiteByOriginAndHost(address).setCameraCaptureInfo(info);
|
| + }
|
| + queue.next();
|
| + }
|
| + }
|
| +
|
| + private class MicrophoneCaptureInfoFetcher implements Task {
|
| + @Override
|
| + public void run(TaskQueue queue) {
|
| + for (MicrophoneCaptureInfo info :
|
| + WebsitePreferenceBridge.getMicrophoneCaptureInfo()) {
|
| + WebsiteAddress address = WebsiteAddress.create(info.getOrigin());
|
| + if (address == null) continue;
|
| + createSiteByOriginAndHost(address).setMicrophoneCaptureInfo(info);
|
| }
|
| queue.next();
|
| }
|
|
|