Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsCategory.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsCategory.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsCategory.java |
index 3e66470c8ea03626a554b26b81877780632020a3..1c24dcf3336154e1b811921794c3ce612ef46887 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsCategory.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsCategory.java |
@@ -23,6 +23,7 @@ import android.text.style.ForegroundColorSpan; |
import org.chromium.base.ApiCompatibilityUtils; |
import org.chromium.chrome.R; |
+import org.chromium.chrome.browser.ChromeFeatureList; |
import org.chromium.chrome.browser.ContentSettingsType; |
import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
import org.chromium.ui.text.SpanApplier; |
@@ -46,6 +47,7 @@ public class SiteSettingsCategory { |
public static final String CATEGORY_PROTECTED_MEDIA = "protected_content"; |
public static final String CATEGORY_USE_STORAGE = "use_storage"; |
public static final String CATEGORY_USB = "usb"; |
+ public static final String CATEGORY_SUBRESOURCE_FILTER = "subresource_filter"; |
// The id of this category. |
private String mCategory; |
@@ -125,6 +127,10 @@ public class SiteSettingsCategory { |
return new SiteSettingsCategory(CATEGORY_PROTECTED_MEDIA, "", |
ContentSettingsType.CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER); |
} |
+ if (CATEGORY_SUBRESOURCE_FILTER.equals(category) && subresourceFilterCategoryEnabled()) { |
+ return new SiteSettingsCategory(CATEGORY_SUBRESOURCE_FILTER, "", |
+ ContentSettingsType.CONTENT_SETTINGS_TYPE_SUBRESOURCE_FILTER); |
+ } |
if (CATEGORY_USE_STORAGE.equals(category)) { |
return new SiteSettingsCategory(CATEGORY_USE_STORAGE, "", -1); |
} |
@@ -173,6 +179,9 @@ public class SiteSettingsCategory { |
== ContentSettingsType.CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER) { |
return fromString(CATEGORY_PROTECTED_MEDIA); |
} |
+ if (contentSettingsType == ContentSettingsType.CONTENT_SETTINGS_TYPE_SUBRESOURCE_FILTER) { |
+ return fromString(CATEGORY_SUBRESOURCE_FILTER); |
+ } |
if (contentSettingsType == ContentSettingsType.CONTENT_SETTINGS_TYPE_USB_CHOOSER_DATA) { |
return fromString(CATEGORY_USB); |
} |
@@ -275,6 +284,13 @@ public class SiteSettingsCategory { |
} |
/** |
+ * Returns whether this category is the Subresource Filter category. |
+ */ |
+ public boolean showSubresourceFilterSites() { |
+ return mContentSettingsType == ContentSettingsType.CONTENT_SETTINGS_TYPE_SUBRESOURCE_FILTER; |
+ } |
+ |
+ /** |
* Returns whether this category is the USB category. |
*/ |
public boolean showUsbDevices() { |
@@ -282,6 +298,13 @@ public class SiteSettingsCategory { |
} |
/** |
+ * Returns whether the Subresource Filter category is enabled via an experiment flag. |
+ */ |
+ public static boolean subresourceFilterCategoryEnabled() { |
+ return ChromeFeatureList.isEnabled("SubresourceFilterExperimentalUI"); |
+ } |
+ |
+ /** |
* Returns whether the current category is managed either by enterprise policy or by the |
* custodian of a supervised account. |
*/ |