| 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.
|
| */
|
|
|