123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- From: csagan5 <32685696+csagan5@users.noreply.github.com>
- Date: Sat, 28 Dec 2019 10:23:04 +0100
- Subject: Show site settings for cookies, javascript and ads
- Avoid displaying info about intrusive ads
- ---
- .../site_settings/SingleWebsiteSettings.java | 60 +++++++++----------
- .../browser_ui/site_settings/Website.java | 20 +++++++
- 2 files changed, 48 insertions(+), 32 deletions(-)
- diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
- --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
- +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
- @@ -68,6 +68,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
- // Buttons:
- public static final String PREF_RESET_SITE = "reset_site_button";
-
- + public static final String TAG = "SingleWebsitePreferences";
- // Website permissions (if adding new, see hasPermissionsPreferences and resetSite below)
- // All permissions from the permissions preference category must be listed here.
- private static final String[] PERMISSION_PREFERENCE_KEYS = {
- @@ -349,6 +350,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
- setUpSoundPreference(preference);
- } else if (i == ContentSettingException.Type.JAVASCRIPT) {
- setUpJavascriptPreference(preference);
- + } else if (i == ContentSettingException.Type.COOKIE) {
- + setUpCookiePreference(preference);
- } else {
- setUpListPreference(preference, mSite.getContentSettingPermission(i));
- }
- @@ -666,19 +669,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
- }
-
- private void setUpAdsInformationalBanner() {
- - // Add the informational banner which shows at the top of the UI if ad blocking is
- - // activated on this site.
- - boolean adBlockingActivated = SiteSettingsCategory.adsCategoryEnabled()
- - && WebsitePreferenceBridge.getAdBlockingActivated(
- - getSiteSettingsClient().getBrowserContextHandle(),
- - mSite.getAddress().getOrigin())
- - && findPreference(PERMISSION_PREFERENCE_KEYS[ContentSettingException.Type.ADS])
- - != null;
- -
- - if (!adBlockingActivated) {
- - removePreferenceSafely(PREF_INTRUSIVE_ADS_INFO);
- - removePreferenceSafely(PREF_INTRUSIVE_ADS_INFO_DIVIDER);
- - }
- + removePreferenceSafely(PREF_INTRUSIVE_ADS_INFO);
- + removePreferenceSafely(PREF_INTRUSIVE_ADS_INFO_DIVIDER);
- }
-
- private SiteSettingsCategory getWarningCategory() {
- @@ -831,13 +823,29 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
- @Nullable
- Integer currentValue =
- mSite.getContentSettingPermission(ContentSettingException.Type.JAVASCRIPT);
- - // If Javascript is blocked by default, then always show a Javascript permission.
- - // To do this, set it to the default value (blocked).
- - if ((currentValue == null)
- - && !WebsitePreferenceBridge.isCategoryEnabled(
- - getSiteSettingsClient().getBrowserContextHandle(),
- - ContentSettingsType.JAVASCRIPT)) {
- - currentValue = ContentSettingValues.BLOCK;
- + // Always show the Javascript permission
- + if (currentValue == null) {
- + currentValue = WebsitePreferenceBridge.isCategoryEnabled(
- + getSiteSettingsClient().getBrowserContextHandle(),
- + ContentSettingsType.JAVASCRIPT)
- + ? ContentSettingValues.ALLOW
- + : ContentSettingValues.BLOCK;
- + }
- + setUpListPreference(preference, currentValue);
- + }
- +
- + private void setUpCookiePreference(Preference preference) {
- + @ContentSettingValues
- + @Nullable
- + Integer currentValue =
- + mSite.getContentSettingPermission(ContentSettingException.Type.COOKIE);
- + // Always show the cookies permission
- + if (currentValue == null) {
- + currentValue = WebsitePreferenceBridge.isCategoryEnabled(
- + getSiteSettingsClient().getBrowserContextHandle(),
- + ContentSettingsType.COOKIES)
- + ? ContentSettingValues.ALLOW
- + : ContentSettingValues.BLOCK;
- }
- setUpListPreference(preference, currentValue);
- }
- @@ -855,22 +863,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
- setUpListPreference(preference, null);
- return;
- }
- - // If the ad blocker is activated, then this site will have ads blocked unless there is an
- - // explicit permission disallowing the blocking.
- - boolean activated = WebsitePreferenceBridge.getAdBlockingActivated(
- - getSiteSettingsClient().getBrowserContextHandle(), mSite.getAddress().getOrigin());
- @ContentSettingValues
- @Nullable
- Integer permission = mSite.getContentSettingPermission(ContentSettingException.Type.ADS);
-
- - // If |permission| is null, there is no explicit (non-default) permission set for this site.
- - // If the site is not considered a candidate for blocking, do the standard thing and remove
- - // the preference.
- - if (permission == null && !activated) {
- - setUpListPreference(preference, null);
- - return;
- - }
- -
- // However, if the blocking is activated, we still want to show the permission, even if it
- // is in the default state.
- if (permission == null) {
- diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
- --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
- +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
- @@ -220,6 +220,26 @@ public class Website implements Serializable {
- } else {
- RecordUserAction.record("JavascriptContentSetting.DisableBy.SiteSettings");
- }
- + } else if (type == ContentSettingException.Type.COOKIE) {
- + // It is possible to set the permission without having an existing exception,
- + // because we can show the ALLOW state even when this permission is set to the
- + // default. In that case, just set an exception now to ALLOW to enable changing the
- + // permission.
- + if (mContentSettingException[type] == null) {
- + mContentSettingException[type] =
- + new ContentSettingException(ContentSettingsType.COOKIES,
- + getAddress().getOrigin(), ContentSettingValues.ALLOW, "");
- + }
- + } else if (type == ContentSettingException.Type.JAVASCRIPT) {
- + // It is possible to set the permission without having an existing exception,
- + // because we can show the ALLOW state even when this permission is set to the
- + // default. In that case, just set an exception now to ALLOW to enable changing the
- + // permission.
- + if (mContentSettingException[type] == null) {
- + mContentSettingException[type] =
- + new ContentSettingException(ContentSettingsType.JAVASCRIPT,
- + getAddress().getOrigin(), ContentSettingValues.ALLOW, "");
- + }
- } else if (type == ContentSettingException.Type.SOUND) {
- // It is possible to set the permission without having an existing exception,
- // because we always show the sound permission in Site Settings.
- --
- 2.17.1
|