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

Added Third Party Site exception label

This cl changed the display format of a site exception that applies
a rule to all third parties on a given site. Previously, the rule in
settings looked like this:
https://screenshot.googleplex.com/pDiF3NvoLFd.png
and now it looks like this:
https://screenshot.googleplex.com/6d5FtQkMcJ4.png

Bug: 998062
Change-Id: If98eee7323d6429c031dd602e0baf6443fbb2c6c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1816548
Commit-Queue: Ehimare Okoyomon <eokoyomon@chromium.org>
Reviewed-by: default avatarDan Beam <dbeam@chromium.org>
Reviewed-by: default avatarChristian Dullweber <dullweber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#700725}
parent c6c1bf57
...@@ -3604,6 +3604,9 @@ ...@@ -3604,6 +3604,9 @@
<message name="IDS_SETTINGS_SITE_SETTINGS_CLEAR_THIRD_PARTY_COOKIES" desc="Label for the confirmation dialog button to delete all cookies and site data for third-party contexts."> <message name="IDS_SETTINGS_SITE_SETTINGS_CLEAR_THIRD_PARTY_COOKIES" desc="Label for the confirmation dialog button to delete all cookies and site data for third-party contexts.">
Clear third-party cookies Clear third-party cookies
</message> </message>
<message name="IDS_SETTINGS_SITE_SETTINGS_THIRD_PARTY_COOKIES_EXCEPTION_LABEL" desc="Label for site exceptions that affect third party cookies.">
Including third-party cookies
</message>
<message name="IDS_SETTINGS_SITE_SETTINGS_COOKIE_REMOVE_DIALOG_TITLE" desc="Title of the dialog that warns about deleting all site data."> <message name="IDS_SETTINGS_SITE_SETTINGS_COOKIE_REMOVE_DIALOG_TITLE" desc="Title of the dialog that warns about deleting all site data.">
Clear site data Clear site data
</message> </message>
......
...@@ -121,3 +121,10 @@ settings.SortMethod = { ...@@ -121,3 +121,10 @@ settings.SortMethod = {
MOST_VISITED: 'most-visited', MOST_VISITED: 'most-visited',
STORAGE: 'data-stored', STORAGE: 'data-stored',
}; };
/**
* String representation of the wildcard used for universal
* match for SiteExceptions.
* @type {string}
*/
settings.SITE_EXCEPTION_WILDCARD = '*';
...@@ -36,16 +36,17 @@ ...@@ -36,16 +36,17 @@
<site-favicon url="[[model.origin]]"></site-favicon> <site-favicon url="[[model.origin]]"></site-favicon>
<div class="middle no-min-width"> <div class="middle no-min-width">
<div class="text-elide"> <div class="text-elide">
<span class="url-directionality">[[model.displayName]]</span> <span class="url-directionality">[[computeDisplayName_(model)]]
</span>
</div> </div>
<!-- This div must not contain extra whitespace. --> <!-- This div must not contain extra whitespace. -->
<div class="secondary text-elide" <div class="secondary text-elide"
id="siteDescription">[[siteDescription_]]</div> id="siteDescription">[[computeSiteDescription_(model)]]</div>
</div> </div>
<template is="dom-if" if="[[allowNavigateToSiteDetail_]]"> <template is="dom-if" if="[[allowNavigateToSiteDetail_]]">
<cr-icon-button class="subpage-arrow" <cr-icon-button class="subpage-arrow"
aria-label$="[[model.displayName]]" aria-label$="[[computeDisplayName_(model)]]"
aria-describedby="siteDescription" focus-row-control aria-describedby="siteDescription" focus-row-control
focus-type="site-details"></cr-icon-button> focus-type="site-details"></cr-icon-button>
<div class="separator"></div> <div class="separator"></div>
......
...@@ -54,12 +54,6 @@ Polymer({ ...@@ -54,12 +54,6 @@ Polymer({
value: null, value: null,
}, },
/** @private */
siteDescription_: {
type: String,
computed: 'computeSiteDescription_(model)',
},
/** @private */ /** @private */
showPolicyPrefIndicator_: { showPolicyPrefIndicator_: {
type: Boolean, type: Boolean,
...@@ -125,35 +119,60 @@ Polymer({ ...@@ -125,35 +119,60 @@ Polymer({
new URLSearchParams('site=' + this.model.origin)); new URLSearchParams('site=' + this.model.origin));
}, },
/**
* Returns the appropriate display name to show for the exception.
* This can, for example, be the website that is affected itself,
* or the website whose third parties are also affected.
* @return {string}
*/
computeDisplayName_: function() {
if (this.model.embeddingOrigin &&
this.model.category === settings.ContentSettingsTypes.COOKIES &&
this.model.origin.trim() == settings.SITE_EXCEPTION_WILDCARD) {
return this.model.embeddingOrigin;
}
return this.model.displayName;
},
/** /**
* Returns the appropriate site description to display. This can, for example, * Returns the appropriate site description to display. This can, for example,
* be blank, an 'embedded on <site>' or 'Current incognito session' (or a * be blank, an 'embedded on <site>' or 'Current incognito session' (or a
* mix of the last two). * mix of the last two).
* @return {string} The site description. * @return {string}
*/ */
computeSiteDescription_: function() { computeSiteDescription_: function() {
let displayName = ''; let description = '';
if (this.model.embeddingOrigin) { if (this.model.embeddingOrigin) {
displayName = loadTimeData.getStringF( if (this.model.category === settings.ContentSettingsTypes.COOKIES &&
'embeddedOnHost', this.sanitizePort(this.model.embeddingOrigin)); this.model.origin.trim() == settings.SITE_EXCEPTION_WILDCARD) {
description =
loadTimeData.getString(
'siteSettingsCookiesThirdPartyExceptionLabel');
} else {
description = loadTimeData.getStringF(
'embeddedOnHost', this.sanitizePort(this.model.embeddingOrigin));
}
} else if (this.category == settings.ContentSettingsTypes.GEOLOCATION) { } else if (this.category == settings.ContentSettingsTypes.GEOLOCATION) {
displayName = loadTimeData.getString('embeddedOnAnyHost'); description = loadTimeData.getString('embeddedOnAnyHost');
} }
// <if expr="chromeos"> // <if expr="chromeos">
if (this.model.category === settings.ContentSettingsTypes.NOTIFICATIONS && if (this.model.category === settings.ContentSettingsTypes.NOTIFICATIONS &&
this.model.showAndroidSmsNote) { this.model.showAndroidSmsNote) {
displayName = loadTimeData.getString('androidSmsNote'); description = loadTimeData.getString('androidSmsNote');
} }
// </if> // </if>
if (this.model.incognito) { if (this.model.incognito) {
if (displayName.length > 0) { if (description.length > 0) {
return loadTimeData.getStringF('embeddedIncognitoSite', displayName); description =
loadTimeData.getStringF('embeddedIncognitoSite', description);
} else {
description = loadTimeData.getString('incognitoSite');
} }
return loadTimeData.getString('incognitoSite');
} }
return displayName; return description;
}, },
/** /**
......
...@@ -2987,6 +2987,8 @@ void AddSiteSettingsStrings(content::WebUIDataSource* html_source, ...@@ -2987,6 +2987,8 @@ void AddSiteSettingsStrings(content::WebUIDataSource* html_source,
IDS_SETTINGS_SITE_SETTINGS_THIRD_PARTY_COOKIE_REMOVE_CONFIRMATION}, IDS_SETTINGS_SITE_SETTINGS_THIRD_PARTY_COOKIE_REMOVE_CONFIRMATION},
{"siteSettingsCookiesClearThirdParty", {"siteSettingsCookiesClearThirdParty",
IDS_SETTINGS_SITE_SETTINGS_CLEAR_THIRD_PARTY_COOKIES}, IDS_SETTINGS_SITE_SETTINGS_CLEAR_THIRD_PARTY_COOKIES},
{"siteSettingsCookiesThirdPartyExceptionLabel",
IDS_SETTINGS_SITE_SETTINGS_THIRD_PARTY_COOKIES_EXCEPTION_LABEL},
{"siteSettingsCookieRemoveDialogTitle", {"siteSettingsCookieRemoveDialogTitle",
IDS_SETTINGS_SITE_SETTINGS_COOKIE_REMOVE_DIALOG_TITLE}, IDS_SETTINGS_SITE_SETTINGS_COOKIE_REMOVE_DIALOG_TITLE},
{"siteSettingsCookieRemoveMultipleConfirmation", {"siteSettingsCookieRemoveMultipleConfirmation",
......
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