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

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

Issue 2880953003: [subresource_filter] Revamp Site Details page (Closed)
Patch Set: Created 3 years, 7 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/SingleWebsitePreferences.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java
index 5c660be98775f72527417ead0ab6daca461a93d8..2af62989a3e4be4ec89087e5fef12bcac697334f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java
@@ -313,7 +313,7 @@ public class SingleWebsitePreferences extends PreferenceFragment
} else if (PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION.equals(preference.getKey())) {
setUpListPreference(preference, mSite.getProtectedMediaIdentifierPermission());
} else if (PREF_SUBRESOURCE_FILTER_PERMISSION.equals(preference.getKey())) {
- setUpListPreference(preference, mSite.getSubresourceFilterPermission());
+ setUpSubresourceFilterPreference(preference);
}
if (permissionPreferenceKeys.contains(preference.getKey())) {
@@ -496,6 +496,37 @@ public class SingleWebsitePreferences extends PreferenceFragment
}
}
+ private void setUpSubresourceFilterPreference(Preference preference) {
+ // The setting shows up even in the default state if the site is activated.
+ ContentSetting permission = mSite.getSubresourceFilterPermission();
+ boolean activated = WebsitePreferenceBridge.getSubresourceFilterActivated(
+ mSite.getAddress().getOrigin());
+ // Default behavior without activation.
+ if (!activated && permission == null) {
+ setUpListPreference(preference, permission);
+ return;
+ }
+
+ // Default behavior with activation is to show BLOCK.
+ if (permission == null) {
+ permission = ContentSetting.BLOCK;
+ // TODO(csharrison): This is a bit of a hack, should potentially use a custom class
+ // instead of a fake exception.
+ String origin = mSite.getAddress().getOrigin();
+ mSite.setSubresourceFilterException(new ContentSettingException(
+ ContentSettingsType.CONTENT_SETTINGS_TYPE_SUBRESOURCE_FILTER, origin,
+ permission, ""));
+ }
+ setUpListPreference(preference, permission);
+
+ // The list preference needs to be custom to allow for custom behavior / strings depending
+ // on the activation state.
+ SubresourceFilterListPreference listPreference =
+ (SubresourceFilterListPreference) preference;
+ listPreference.setShouldUseActiveStrings(activated);
+ listPreference.setValueIndex(permission == ContentSetting.ALLOW ? 0 : 1);
+ }
+
/**
* Returns true if the current host matches the default search engine host and location for the
* default search engine is being granted via x-geo.

Powered by Google App Engine
This is Rietveld 408576698