Commit a7f64fc7 authored by Ehimare Okoyomon's avatar Ehimare Okoyomon Committed by Commit Bot

[Android] Fix Site Settings DSE permissions string

Bug: 1147080
Change-Id: I00b4c764e69aa202d02163f1b9154539b41872a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2529102Reviewed-by: default avatarChristian Dullweber <dullweber@chromium.org>
Commit-Queue: Ehimare Okoyomon <eokoyomon@chromium.org>
Cr-Commit-Position: refs/heads/master@{#826205}
parent 212909ff
......@@ -550,7 +550,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
if (value == null
|| (value != null && value != ContentSettingValues.ALLOW
|| (value != ContentSettingValues.ALLOW
&& value != ContentSettingValues.BLOCK)) {
// TODO(crbug.com/735110): Figure out if this is the correct thing to do, for values
// that are non-null, but not ALLOW or BLOCK either. (In setupListPreference we
......@@ -560,13 +560,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
String overrideSummary;
if (isPermissionControlledByDSE(ContentSettingsType.NOTIFICATIONS)) {
overrideSummary = getString(value != null && value == ContentSettingValues.ALLOW
? R.string.website_settings_permissions_allow_dse
: R.string.website_settings_permissions_block_dse);
overrideSummary = getDSECategorySummary(value);
} else {
overrideSummary = isEmbargoed
? getString(R.string.automatically_blocked)
: getString(ContentSettingsResources.getSiteSummary(value));
: getString(ContentSettingsResources.getCategorySummary(value));
}
// On Android O this preference is read-only, so we replace the existing pref with a
......@@ -582,7 +580,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
} else {
setUpListPreference(preference, value, isEmbargoed);
if (isPermissionControlledByDSE(ContentSettingsType.NOTIFICATIONS) && value != null) {
updatePreferenceForDSESetting(preference);
updatePreferenceForDSESetting(preference, value);
}
}
}
......@@ -889,7 +887,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setUpListPreference(
preference, permission, isPermissionEmbargoed(ContentSettingsType.GEOLOCATION));
if (isPermissionControlledByDSE(ContentSettingsType.GEOLOCATION) && permission != null) {
updatePreferenceForDSESetting(preference);
updatePreferenceForDSESetting(preference, permission);
}
}
......@@ -980,6 +978,12 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
listPreference.setValueIndex(permission == ContentSettingValues.ALLOW ? 0 : 1);
}
private String getDSECategorySummary(@ContentSettingValues int value) {
return value == ContentSettingValues.ALLOW
? getString(R.string.website_settings_permissions_allowed_dse)
: getString(R.string.website_settings_permissions_blocked_dse);
}
/**
* Returns true if the DSE (default search engine) geolocation and notifications permissions
* are configured for the DSE.
......@@ -995,12 +999,14 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
* for searches that happen from the omnibox.
* @param preference The Location preference to modify.
*/
private void updatePreferenceForDSESetting(Preference preference) {
private void updatePreferenceForDSESetting(
Preference preference, @ContentSettingValues int value) {
ListPreference listPreference = (ListPreference) preference;
listPreference.setEntries(new String[] {
getString(R.string.website_settings_permissions_allow_dse),
getString(R.string.website_settings_permissions_block_dse),
});
listPreference.setSummary(getDSECategorySummary(value));
}
public @ContentSettingsType int getContentSettingsTypeFromPreferenceKey(String preferenceKey) {
......@@ -1033,8 +1039,12 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
int type = getContentSettingsTypeFromPreferenceKey(preference.getKey());
if (type != ContentSettingsType.DEFAULT) {
mSite.setContentSetting(browserContextHandle, type, permission);
preference.setSummary(
getString(ContentSettingsResources.getCategorySummary(permission)));
if (isPermissionControlledByDSE(type)) {
preference.setSummary(getDSECategorySummary(permission));
} else {
preference.setSummary(
getString(ContentSettingsResources.getCategorySummary(permission)));
}
if (mWebsiteSettingsObserver != null) {
mWebsiteSettingsObserver.onPermissionChanged();
......
......@@ -143,15 +143,21 @@
<message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_ALLOW" desc="Summary text explaining that Chrome will allow a website to access some permission, e.g. JavaScript: allow.">
Allow
</message>
<message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_ALLOW_DSE" desc="Summary text explaining that Chrome will allow the default search engine to access the user's location, both when performed from the address bar and from search result pages. e.g. Location access: Allow for current search engine">
<message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_ALLOW_DSE" desc="Summary text explaining that Chrome will allow the default search engine to access this permission, both when performed from the address bar and from search result pages. e.g. Location access: Allow for current search engine">
Allow for current search engine
</message>
<message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_ALLOWED_DSE" desc="Status message explaining that the default search engine is allowed to access this permission. Displayed in Site Settings page. e.g. Location: Allowed for current search engine">
Allowed for current search engine
</message>
<message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_BLOCK" desc="Summary text explaining that Chrome will block a website from accessing some permission, e.g. JavaScript: block.">
Block
</message>
<message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_BLOCK_DSE" desc="Summary text explaining that Chrome will block the default search engine from accessing the user's location, both when performed from the address bar and from search result pages. e.g. Location access: Block for current search engine">
<message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_BLOCK_DSE" desc="Summary text explaining that Chrome will block the default search engine from accessing this permission, both when performed from the address bar and from search result pages. e.g. Location access: Block for current search engine">
Block for current search engine
</message>
<message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_BLOCKED_DSE" desc="Status message explaining that the default search engine is blocked from accessing this permission. Displayed in Site Settings page. e.g. Location: Blocked for current search engine">
Blocked for current search engine
</message>
<message name="IDS_WEBSITE_SETTINGS_THIRD_PARTY_COOKIES_EXCEPTION_LABEL" desc="The label for site exceptions that affect third party cookies.">
Including third-party cookies on this site
</message>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment