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

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

Issue 850813002: Upstream Site Settings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@location_settings_singleton
Patch Set: use findbugs annotations; fix test Created 5 years, 11 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/WebsiteSettingsCategoryFilter.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsiteSettingsCategoryFilter.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsiteSettingsCategoryFilter.java
new file mode 100644
index 0000000000000000000000000000000000000000..6955ef15811d4ef8aeeb8d09ced5956879231635
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsiteSettingsCategoryFilter.java
@@ -0,0 +1,98 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.preferences.website;
+
+import org.chromium.chrome.browser.ContentSettingsType;
+
+/**
+ * A helper class for dealing with website settings category filter.
+ */
+public class WebsiteSettingsCategoryFilter {
+ // The actual values for the keys for the category filter.
+ private static final String FILTER_ALL_SITES = "all_sites";
+ private static final String FILTER_COOKIES = "cookies";
+ private static final String FILTER_CAMERA_MIC = "use_camera_or_mic";
+ private static final String FILTER_DEVICE_LOCATION = "device_location";
+ private static final String FILTER_USE_STORAGE = "use_storage";
+ private static final String FILTER_POPUPS = "popups";
+ private static final String FILTER_PUSH_NOTIFICATIONS = "push_notifications";
+
+ public WebsiteSettingsCategoryFilter() {
+ }
+
+ /**
+ * Converts a category filter key (see above) to content settings enum.
+ */
+ public int toContentSettingsType(String key) {
+ if (showCookiesSites(key)) {
+ return ContentSettingsType.CONTENT_SETTINGS_TYPE_COOKIES;
+ } else if (showCameraMicSites(key)) {
+ return ContentSettingsType.CONTENT_SETTINGS_TYPE_MEDIASTREAM;
+ } else if (showPopupSites(key)) {
+ return ContentSettingsType.CONTENT_SETTINGS_TYPE_POPUPS;
+ } else if (showGeolocationSites(key)) {
+ return ContentSettingsType.CONTENT_SETTINGS_TYPE_GEOLOCATION;
+ } else if (showPushNotificationsSites(key)) {
+ return ContentSettingsType.CONTENT_SETTINGS_TYPE_NOTIFICATIONS;
+ }
+ return -1;
+ }
+
+ /**
+ * @param filterValue A category value.
+ * @return Whether the category passed is the no-category.
+ */
+ public boolean showAllSites(String filterValue) {
+ return filterValue.isEmpty() || filterValue.equals(FILTER_ALL_SITES);
+ }
+
+ /**
+ * @param filterValue A category value.
+ * @return Whether the category passed is the cookies category.
+ */
+ public boolean showCookiesSites(String filterValue) {
+ return filterValue.equals(FILTER_COOKIES);
+ }
+
+ /**
+ * @param filterValue A category value.
+ * @return Whether the category passed is the camera/mic category.
+ */
+ public boolean showCameraMicSites(String filterValue) {
+ return filterValue.equals(FILTER_CAMERA_MIC);
+ }
+
+ /**
+ * @param filterValue A category value.
+ * @return Whether the category passed is the geolocation category.
+ */
+ public boolean showGeolocationSites(String filterValue) {
+ return filterValue.equals(FILTER_DEVICE_LOCATION);
+ }
+
+ /**
+ * @param filterValue A category value.
+ * @return Whether the category passed is the storage category.
+ */
+ public boolean showStorageSites(String filterValue) {
+ return filterValue.equals(FILTER_USE_STORAGE);
+ }
+
+ /**
+ * @param filterValue A category value.
+ * @return Whether the category passed is the popup category.
+ */
+ public boolean showPopupSites(String filterValue) {
+ return filterValue.equals(FILTER_POPUPS);
+ }
+
+ /**
+ * @param filterValue A category value.
+ * @return Whether the category passed is the push notification category.
+ */
+ public boolean showPushNotificationsSites(String filterValue) {
+ return filterValue.equals(FILTER_PUSH_NOTIFICATIONS);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698