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

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

Issue 2888473003: [subresource_filter] Site Details UI for default state (Closed)
Patch Set: finnur review Created 3 years, 6 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..4731c08f9a886163b9ae8e24a0032dfb96d1f6b0 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
}
}
+ /**
+ * Updates the subresource filter list preference based on subresource filter activation. This
+ * has some custom behavior.
+ * 1. If the site is filtering, the permission should show up even if it is set as the default
+ * (e.g. |preference| is null).
+ * 2. The BLOCK string is custom.
+ */
+ private void setUpSubresourceFilterPreference(Preference preference) {
+ // If the subresource filter is activated, then this site will have resources filtered
+ // unless there is an explicit permission disallowing the filtering.
+ boolean subresourceFilterActivated = WebsitePreferenceBridge.getSubresourceFilterActivated(
+ mSite.getAddress().getOrigin());
+ ContentSetting permission = mSite.getSubresourceFilterPermission();
+
+ // If |permission| is null, there is no explicit (non-default) permission set for this site.
+ // However, if the filtering is activated, we still want to show the permission as BLOCK.
+ if (permission == null && !subresourceFilterActivated) {
+ setUpListPreference(preference, null);
+ return;
+ }
+ setUpListPreference(preference, permission == null ? ContentSetting.BLOCK : permission);
+
+ // The subresource filter permission has a custom BLOCK string.
+ ListPreference listPreference = (ListPreference) preference;
+ Resources res = getResources();
+ listPreference.setEntries(
+ new String[] {res.getString(R.string.website_settings_permissions_allow),
+ res.getString(R.string.subresource_filter_permission_block)});
+ 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.
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698