Chromium Code Reviews| 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) { |