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

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

Issue 1068223002: Implement Site Settings \ Images category. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync and fix merge conflict Created 5 years, 8 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/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 0384b7424b0ee91e6151b3a9a2b42d54d083f35d..ea0a665bd0806c84ac09191ab2e9fb86c23c7b6c 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
@@ -4,6 +4,8 @@
package org.chromium.chrome.browser.preferences.website;
+import org.chromium.chrome.browser.ContentSettingsType;
+
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@@ -61,6 +63,8 @@ public class WebsitePermissionsFetcher {
queue.add(new CookieInfoFetcher());
// Fullscreen are stored per-origin.
queue.add(new FullscreenInfoFetcher());
+ // Images exceptions are host-based patterns.
+ queue.add(new ImagesExceptionInfoFetcher());
// Local storage info is per-origin.
queue.add(new LocalStorageInfoFetcher());
// Website storage is per-host.
@@ -121,6 +125,9 @@ public class WebsitePermissionsFetcher {
} else if (filterHelper.showPushNotificationsSites(filter)) {
// Push notification permission is per-origin and per-embedder.
queue.add(new PushNotificationInfoFetcher());
+ } else if (filterHelper.showImagesSites(filter)) {
+ // Images exceptions are host-based patterns.
+ queue.add(new ImagesExceptionInfoFetcher());
}
queue.add(new PermissionsAvailableCallbackRunner());
queue.next();
@@ -200,15 +207,17 @@ public class WebsitePermissionsFetcher {
private class PopupExceptionInfoFetcher implements Task {
@Override
public void run(TaskQueue queue) {
- for (PopupExceptionInfo info : WebsitePreferenceBridge.getPopupExceptionInfo()) {
+ for (ContentSettingException exception :
+ WebsitePreferenceBridge.getContentSettingsExceptions(
+ ContentSettingsType.CONTENT_SETTINGS_TYPE_POPUPS)) {
// The pattern "*" represents the default setting, not a
// specific website.
- if (info.getPattern().equals("*")) continue;
- WebsiteAddress address = WebsiteAddress.create(info.getPattern());
+ 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.setPopupExceptionInfo(info);
+ site.setPopupException(exception);
}
}
queue.next();
@@ -218,15 +227,16 @@ public class WebsitePermissionsFetcher {
private class JavaScriptExceptionInfoFetcher implements Task {
@Override
public void run(TaskQueue queue) {
- for (JavaScriptExceptionInfo info
- : WebsitePreferenceBridge.getJavaScriptExceptionInfo()) {
+ for (ContentSettingException exception
+ : WebsitePreferenceBridge.getContentSettingsExceptions(
+ ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT)) {
// The pattern "*" represents the default setting, not a specific website.
- if (info.getPattern().equals("*")) continue;
- WebsiteAddress address = WebsiteAddress.create(info.getPattern());
+ 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.setJavaScriptExceptionInfo(info);
+ site.setJavaScriptException(exception);
}
}
queue.next();
@@ -260,6 +270,28 @@ public class WebsitePermissionsFetcher {
}
}
+ /**
+ * Class for fetching the images information.
+ */
+ private class ImagesExceptionInfoFetcher implements Task {
+ @Override
+ public void run(TaskQueue queue) {
+ for (ContentSettingException exception
+ : WebsitePreferenceBridge.getContentSettingsExceptions(
+ ContentSettingsType.CONTENT_SETTINGS_TYPE_IMAGES)) {
+ // 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.setImagesException(exception);
+ }
+ }
+ queue.next();
+ }
+ }
+
private class LocalStorageInfoFetcher implements Task {
@Override
public void run(final TaskQueue queue) {

Powered by Google App Engine
This is Rietveld 408576698