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 6cd00bb5d679c59148a9c294825fa814e863d2b7..842ad75a34ae0a5121e7bf5a2b6b0efb35fdd906 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 |
@@ -53,6 +53,8 @@ public class WebsitePermissionsFetcher { |
queue.add(new GeolocationInfoFetcher()); |
// Midi sysex access permission is per-origin and per-embedder. |
queue.add(new MidiInfoFetcher()); |
+ // Sensor access permission is per-origin and per-embedder. |
+ queue.add(new SensorInfoFetcher()); |
// Cookies are stored per-host. |
queue.add(new CookieExceptionInfoFetcher()); |
// Keygen permissions are per-origin. |
@@ -248,6 +250,18 @@ public class WebsitePermissionsFetcher { |
} |
} |
+ private class SensorInfoFetcher extends Task { |
+ @Override |
+ public void run() { |
+ for (SensorInfo info : WebsitePreferenceBridge.getSensorInfo()) { |
+ WebsiteAddress origin = WebsiteAddress.create(info.getOrigin()); |
+ if (origin == null) continue; |
+ WebsiteAddress embedder = WebsiteAddress.create(info.getEmbedder()); |
+ findOrCreateSite(origin, embedder).setSensorInfo(info); |
+ } |
+ } |
+ } |
+ |
private class PopupExceptionInfoFetcher extends Task { |
@Override |
public void run() { |