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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java

Issue 2170123002: Reland: Add USB device permissions to individual site settings on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Resolved merge conflict. Created 4 years, 5 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/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 c61cd72845e30b947df9b88acd8bdee47d72d2f7..b5968e17004706ae73d896ff44301ee7dfd1c831 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
@@ -231,6 +231,19 @@ public abstract class WebsitePreferenceBridge {
}
/**
+ * Returns the list of all USB device permissions.
+ *
+ * There will be one UsbInfo instance for each granted permission. That
+ * means that if two origin/embedder pairs have permission for the same
+ * device there will be two UsbInfo instances.
+ */
+ public static List<UsbInfo> getUsbInfo() {
+ ArrayList<UsbInfo> list = new ArrayList<UsbInfo>();
+ nativeGetUsbOrigins(list);
+ return list;
+ }
+
+ /**
* Inserts fullscreen information into a list.
*/
@CalledByNative
@@ -239,6 +252,15 @@ public abstract class WebsitePreferenceBridge {
list.add(new FullscreenInfo(origin, embedder, false));
}
+ /**
+ * Inserts USB device information into a list.
+ */
+ @CalledByNative
+ private static void insertUsbInfoIntoList(
+ ArrayList<UsbInfo> list, String origin, String embedder, String name, String object) {
+ list.add(new UsbInfo(origin, embedder, name, object));
+ }
+
private static native void nativeGetGeolocationOrigins(Object list, boolean managedOnly);
static native int nativeGetGeolocationSettingForOrigin(
String origin, String embedder, boolean isIncognito);
@@ -287,4 +309,6 @@ public abstract class WebsitePreferenceBridge {
String origin, String embedder, boolean isIncognito);
static native void nativeSetFullscreenSettingForOrigin(
String origin, String embedder, int value, boolean isIncognito);
+ static native void nativeGetUsbOrigins(Object list);
+ static native void nativeRevokeUsbPermission(String origin, String embedder, String object);
}

Powered by Google App Engine
This is Rietveld 408576698