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

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

Issue 1432573002: Adding <keygen> Content Setting (Android UI) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@keygen_ui
Patch Set: Update UI strings. Created 5 years, 1 month 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/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 663fb569c7f2824615ce95f97387aaf4d5193304..69838585f1d1665877cc4135a586064f8a17b92e 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
@@ -72,6 +72,8 @@ public class WebsitePermissionsFetcher {
queue.add(new PopupExceptionInfoFetcher());
// JavaScript exceptions are host-based patterns.
queue.add(new JavaScriptExceptionInfoFetcher());
+ // Keygen exceptions are host-based patterns.
+ queue.add(new KeygenExceptionInfoFetcher());
// Protected media identifier permission is per-origin and per-embedder.
queue.add(new ProtectedMediaIdentifierInfoFetcher());
// Push notification permission is per-origin and per-embedder.
@@ -124,6 +126,9 @@ public class WebsitePermissionsFetcher {
} else if (category.showJavaScriptSites()) {
// JavaScript exceptions are host-based patterns.
queue.add(new JavaScriptExceptionInfoFetcher());
+ } else if (category.showKeygenSites()) {
+ // Keygen exceptions are host-based patterns.
+ queue.add(new KeygenExceptionInfoFetcher());
Finnur 2015/11/05 20:44:41 This is only required if you have a specific first
svaldez 2015/11/10 15:25:02 Done.
} else if (category.showNotificationsSites()) {
// Push notification permission is per-origin and per-embedder.
queue.add(new PushNotificationInfoFetcher());
@@ -245,6 +250,25 @@ public class WebsitePermissionsFetcher {
}
}
+ private class KeygenExceptionInfoFetcher implements Task {
+ @Override
+ public void run(TaskQueue queue) {
+ for (ContentSettingException exception :
+ WebsitePreferenceBridge.getContentSettingsExceptions(
+ ContentSettingsType.CONTENT_SETTINGS_TYPE_KEYGEN)) {
+ // The pattern "*" represents the default setting, not a specific website.
+ if (exception.getPattern().equals("*")) continue;
+ WebsiteAddress address = WebsiteAddress.create(exception.getPattern());
+ if (address == null) continue;
+ Set<Website> sites = findOrCreateSitesByHost(address);
+ for (Website site : sites) {
+ site.setKeygenException(exception);
+ }
+ }
+ queue.next();
+ }
+ }
+
private class CookieInfoFetcher implements Task {
@Override
public void run(TaskQueue queue) {

Powered by Google App Engine
This is Rietveld 408576698