Commit 8497044c authored by Rainhard Findling's avatar Rainhard Findling Committed by Commit Bot

Wire user actions to safety check buttons

* Prepares extension child for state update in backend
 (crrev.com/c/2089775).
* Updates button relaunches browser.
* Password button links to password check page.
* Safe browsing button links to security page.
* Extensions button opens extensions in new tab.

Bug: 1015841
Change-Id: I522ce5080eda92ebcee6ce6d17303eb490a651c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2087677
Commit-Queue: Rainhard Findling <rainhard@chromium.org>
Reviewed-by: default avatardpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#748019}
parent 46eb80c6
...@@ -89,10 +89,10 @@ ...@@ -89,10 +89,10 @@
<message name="IDS_SETTINGS_SAFETY_CHECK_PARENT_PRIMARY_LABEL_BEFORE" desc="This text describes what the safety check is. (It's an area of the Settings page where users can quickly check whether their safety-related settings are fully protecting them.)"> <message name="IDS_SETTINGS_SAFETY_CHECK_PARENT_PRIMARY_LABEL_BEFORE" desc="This text describes what the safety check is. (It's an area of the Settings page where users can quickly check whether their safety-related settings are fully protecting them.)">
Chromium can help keep you safe from data breaches, bad extensions, and more Chromium can help keep you safe from data breaches, bad extensions, and more
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_SUB_LABEL_FAILED_OFFLINE" desc="This text describles that Chrome cannot check for updates because there currently is no internet connection."> <message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_FAILED_OFFLINE" desc="This text describles that Chrome cannot check for updates because there currently is no internet connection.">
Chromium can't check for updates. Try checking your internet connection. Chromium can't check for updates. Try checking your internet connection.
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_SUB_LABEL_FAILED" desc="This text describles that Chrome cannot update due to an unknown error."> <message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_FAILED" desc="This text describles that Chrome cannot update due to an unknown error.">
Chromium didn't update, something went wrong. <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Fix Chromium update problems and failed updates.<ph name="END_LINK">&lt;/a&gt;</ph> Chromium didn't update, something went wrong. <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Fix Chromium update problems and failed updates.<ph name="END_LINK">&lt;/a&gt;</ph>
</message> </message>
......
...@@ -89,10 +89,10 @@ ...@@ -89,10 +89,10 @@
<message name="IDS_SETTINGS_SAFETY_CHECK_PARENT_PRIMARY_LABEL_BEFORE" desc="This text describes what the safety check is. (It's an area of the Settings page where users can quickly check whether their safety-related settings are fully protecting them.)"> <message name="IDS_SETTINGS_SAFETY_CHECK_PARENT_PRIMARY_LABEL_BEFORE" desc="This text describes what the safety check is. (It's an area of the Settings page where users can quickly check whether their safety-related settings are fully protecting them.)">
Chrome can help keep you safe from data breaches, bad extensions, and more Chrome can help keep you safe from data breaches, bad extensions, and more
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_SUB_LABEL_FAILED_OFFLINE" desc="This text describles that Chrome cannot check for updates because there currently is no internet connection."> <message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_FAILED_OFFLINE" desc="This text describles that Chrome cannot check for updates because there currently is no internet connection.">
Chrome can't check for updates. Try checking your internet connection. Chrome can't check for updates. Try checking your internet connection.
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_SUB_LABEL_FAILED" desc="This text describles that Chrome cannot update due to an unknown error."> <message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_FAILED" desc="This text describles that Chrome cannot update due to an unknown error.">
Chrome didn't update, something went wrong. <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Fix Chrome update problems and failed updates.<ph name="END_LINK">&lt;/a&gt;</ph> Chrome didn't update, something went wrong. <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Fix Chrome update problems and failed updates.<ph name="END_LINK">&lt;/a&gt;</ph>
</message> </message>
......
...@@ -1537,28 +1537,25 @@ ...@@ -1537,28 +1537,25 @@
<message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_PRIMARY_LABEL" desc="'Updates' is an element in safety check that shows the update status of Chrome."> <message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_PRIMARY_LABEL" desc="'Updates' is an element in safety check that shows the update status of Chrome.">
Updates Updates
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_SUB_LABEL_DISABLED_BY_ADMIN" desc="This text describles that updates are managed by the administrator."> <message name="IDS_SETTINGS_SAFETY_CHECK_UPDATES_DISABLED_BY_ADMIN" desc="This text describles that updates are managed by the administrator.">
Updates are managed by your <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>administrator<ph name="END_LINK">&lt;/a&gt;</ph> Updates are managed by your <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>administrator<ph name="END_LINK">&lt;/a&gt;</ph>
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_PASSWORDS_PRIMARY_LABEL" desc="'Passwords' is an element in safety check that allows users to check for their passwords being compromised."> <message name="IDS_SETTINGS_SAFETY_CHECK_PASSWORDS_PRIMARY_LABEL" desc="'Passwords' is an element in safety check that allows users to check for their passwords being compromised.">
Passwords Passwords
</message> </message>
<message name="IDS_SAFETY_CHECK_PASSWORDS_BUTTON_COMPROMISED" desc="This button allows users to change their compromised passwords."> <message name="IDS_SETTINGS_SAFETY_CHECK_PASSWORDS_BUTTON" desc="This button allows users to change their compromised passwords.">
Change passwords Change passwords
</message> </message>
<message name="IDS_SAFETY_CHECK_PASSWORDS_BUTTON_ERROR" desc="This button allows users to try the password check again."> <message name="IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_ENABLED" desc="This text points out that Safe Browsing is enabled and that the user is protected.">
Try again
</message>
<message name="IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_SUB_LABEL_ENABLED" desc="This text points out that Safe Browsing is enabled and that the user is protected.">
Safe Browsing is up to date and protecting you from harmful sites and downloads Safe Browsing is up to date and protecting you from harmful sites and downloads
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_SUB_LABEL_DISABLED" desc="This text points out that Safe Browsing is disabled and that the user is not protected."> <message name="IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_DISABLED" desc="This text points out that Safe Browsing is disabled and that the user is not protected.">
Safe Browsing is off. To stay safe on the web, turn it on. Safe Browsing is off. To stay safe on the web, turn it on.
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_SUB_LABEL_DISABLED_BY_ADMIN" desc="This text points out that Safe Browsing is disabled by an administrator."> <message name="IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_DISABLED_BY_ADMIN" desc="This text points out that Safe Browsing is disabled by an administrator.">
Your <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>administrator<ph name="END_LINK">&lt;/a&gt;</ph> has turned off Safe Browsing Your <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>administrator<ph name="END_LINK">&lt;/a&gt;</ph> has turned off Safe Browsing
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_SUB_LABEL_DISABLED_BY_EXTENSION" desc="This text points out that Safe Browsing is disabled by an extension."> <message name="IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_DISABLED_BY_EXTENSION" desc="This text points out that Safe Browsing is disabled by an extension.">
An extension has turned off Safe Browsing An extension has turned off Safe Browsing
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_BUTTON" desc="This is the text for the button that allows users to manage their Safe Browsing settings."> <message name="IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_BUTTON" desc="This is the text for the button that allows users to manage their Safe Browsing settings.">
......
...@@ -16,6 +16,9 @@ js_library("safety_check_page") { ...@@ -16,6 +16,9 @@ js_library("safety_check_page") {
deps = [ deps = [
":safety_check_browser_proxy", ":safety_check_browser_proxy",
"..:lifetime_browser_proxy", "..:lifetime_browser_proxy",
"..:open_window_proxy",
"..:route",
"..:router",
"//ui/webui/resources/js:assert", "//ui/webui/resources/js:assert",
"//ui/webui/resources/js:i18n_behavior", "//ui/webui/resources/js:i18n_behavior",
"//ui/webui/resources/js:web_ui_listener_behavior", "//ui/webui/resources/js:web_ui_listener_behavior",
......
...@@ -64,10 +64,11 @@ cr.define('settings', function() { ...@@ -64,10 +64,11 @@ cr.define('settings', function() {
const SafetyCheckExtensionsStatus = { const SafetyCheckExtensionsStatus = {
CHECKING: 0, CHECKING: 0,
ERROR: 1, ERROR: 1,
SAFE: 2, NO_BLACKLISTED_EXTENSIONS: 2,
BAD_EXTENSIONS_ON: 3, BLACKLISTED_ALL_DISABLED: 3,
BAD_EXTENSIONS_OFF: 4, BLACKLISTED_REENABLED_ALL_BY_USER: 4,
MANAGED_BY_ADMIN: 5, BLACKLISTED_REENABLED_SOME_BY_USER: 5,
BLACKLISTED_REENABLED_ALL_BY_ADMIN: 6,
}; };
/** @interface */ /** @interface */
......
...@@ -10,7 +10,10 @@ ...@@ -10,7 +10,10 @@
<link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html"> <link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html">
<link rel="import" href="../i18n_setup.html"> <link rel="import" href="../i18n_setup.html">
<link rel="import" href="../lifetime_browser_proxy.html"> <link rel="import" href="../lifetime_browser_proxy.html">
<link rel="import" href="../open_window_proxy.html">
<link rel="import" href="../prefs/prefs_behavior.html"> <link rel="import" href="../prefs/prefs_behavior.html">
<link rel="import" href="../route.html">
<link rel="import" href="../router.html">
<link rel="import" href="../settings_shared_css.html"> <link rel="import" href="../settings_shared_css.html">
<link rel="import" href="safety_check_browser_proxy.html"> <link rel="import" href="safety_check_browser_proxy.html">
...@@ -115,10 +118,9 @@ ...@@ -115,10 +118,9 @@
<template is="dom-if" <template is="dom-if"
if="[[shouldShowPasswordsButton_(passwordsStatus_)]]" restamp> if="[[shouldShowPasswordsButton_(passwordsStatus_)]]" restamp>
<div class="separator"></div> <div class="separator"></div>
<cr-button id="safetyCheckPasswordsButton" <cr-button id="safetyCheckPasswordsButton" class="action-button"
class$="[[getPasswordsButtonClass_(passwordsStatus_)]]"
on-click="onPasswordsButtonClick_" no-search> on-click="onPasswordsButtonClick_" no-search>
[[getPasswordsButtonText_(passwordsStatus_)]] $i18n{safetyCheckPasswordsButton}
</cr-button> </cr-button>
</template> </template>
</div> </div>
......
...@@ -442,13 +442,8 @@ Polymer({ ...@@ -442,13 +442,8 @@ Polymer({
* @return {boolean} * @return {boolean}
*/ */
shouldShowPasswordsButton_: function() { shouldShowPasswordsButton_: function() {
switch (this.passwordsStatus_) { return this.passwordsStatus_ ==
case settings.SafetyCheckPasswordsStatus.COMPROMISED: settings.SafetyCheckPasswordsStatus.COMPROMISED;
case settings.SafetyCheckPasswordsStatus.ERROR:
return true;
default:
return false;
}
}, },
/** /**
...@@ -504,46 +499,12 @@ Polymer({ ...@@ -504,46 +499,12 @@ Polymer({
} }
}, },
/**
* @private
* @return {?string}
*/
getPasswordsButtonText_: function() {
switch (this.passwordsStatus_) {
case settings.SafetyCheckPasswordsStatus.COMPROMISED:
return this.i18n('safetyCheckPasswordsButtonCompromised');
case settings.SafetyCheckPasswordsStatus.ERROR:
return this.i18n('safetyCheckPasswordsButtonError');
default:
return null;
}
},
/**
* @private
* @return {string}
*/
getPasswordsButtonClass_: function() {
switch (this.passwordsStatus_) {
case settings.SafetyCheckPasswordsStatus.COMPROMISED:
return 'action-button';
default:
return '';
}
},
/** @private */ /** @private */
onPasswordsButtonClick_: function() { onPasswordsButtonClick_: function() {
switch (this.passwordsStatus_) { settings.Router.getInstance().navigateTo(
case settings.SafetyCheckPasswordsStatus.COMPROMISED: loadTimeData.getBoolean('enablePasswordCheck') ?
// TODO(crbug.com/1010001): Implement once behavior has been agreed on. settings.routes.CHECK_PASSWORDS :
break; settings.routes.PASSWORDS);
case settings.SafetyCheckPasswordsStatus.ERROR:
this.runSafetyCheck_();
break;
default:
break;
}
}, },
/** /**
...@@ -551,12 +512,8 @@ Polymer({ ...@@ -551,12 +512,8 @@ Polymer({
* @return {boolean} * @return {boolean}
*/ */
shouldShowSafeBrowsingButton_: function() { shouldShowSafeBrowsingButton_: function() {
switch (this.safeBrowsingStatus_) { return this.safeBrowsingStatus_ ==
case settings.SafetyCheckSafeBrowsingStatus.DISABLED: settings.SafetyCheckSafeBrowsingStatus.DISABLED;
return true;
default:
return false;
}
}, },
/** /**
...@@ -643,7 +600,7 @@ Polymer({ ...@@ -643,7 +600,7 @@ Polymer({
/** @private */ /** @private */
onSafeBrowsingButtonClick_: function() { onSafeBrowsingButtonClick_: function() {
// TODO(crbug.com/1010001): Implement once behavior has been agreed on. settings.Router.getInstance().navigateTo(settings.routes.SECURITY);
}, },
/** /**
...@@ -652,8 +609,11 @@ Polymer({ ...@@ -652,8 +609,11 @@ Polymer({
*/ */
shouldShowExtensionsButton_: function() { shouldShowExtensionsButton_: function() {
switch (this.extensionsStatus_) { switch (this.extensionsStatus_) {
case settings.SafetyCheckExtensionsStatus.BAD_EXTENSIONS_ON: case settings.SafetyCheckExtensionsStatus.BLACKLISTED_ALL_DISABLED:
case settings.SafetyCheckExtensionsStatus.BAD_EXTENSIONS_OFF: case settings.SafetyCheckExtensionsStatus
.BLACKLISTED_REENABLED_ALL_BY_USER:
case settings.SafetyCheckExtensionsStatus
.BLACKLISTED_REENABLED_SOME_BY_USER:
return true; return true;
default: default:
return false; return false;
...@@ -666,12 +626,12 @@ Polymer({ ...@@ -666,12 +626,12 @@ Polymer({
*/ */
shouldShowExtensionsManagedIcon_: function() { shouldShowExtensionsManagedIcon_: function() {
return this.extensionsStatus_ == return this.extensionsStatus_ ==
settings.SafetyCheckExtensionsStatus.MANAGED_BY_ADMIN; settings.SafetyCheckExtensionsStatus.BLACKLISTED_REENABLED_ALL_BY_ADMIN;
}, },
/** @private */ /** @private */
onSafetyCheckExtensionsButtonClicked_: function() { onSafetyCheckExtensionsButtonClicked_: function() {
// TODO(crbug.com/1010001): Implement once behavior has been agreed on. settings.OpenWindowProxyImpl.getInstance().openURL('chrome://extensions');
}, },
/** /**
...@@ -683,12 +643,16 @@ Polymer({ ...@@ -683,12 +643,16 @@ Polymer({
case settings.SafetyCheckExtensionsStatus.CHECKING: case settings.SafetyCheckExtensionsStatus.CHECKING:
return null; return null;
case settings.SafetyCheckExtensionsStatus.ERROR: case settings.SafetyCheckExtensionsStatus.ERROR:
case settings.SafetyCheckExtensionsStatus.MANAGED_BY_ADMIN: case settings.SafetyCheckExtensionsStatus
.BLACKLISTED_REENABLED_ALL_BY_ADMIN:
return 'cr:info'; return 'cr:info';
case settings.SafetyCheckExtensionsStatus.SAFE: case settings.SafetyCheckExtensionsStatus.NO_BLACKLISTED_EXTENSIONS:
case settings.SafetyCheckExtensionsStatus.BAD_EXTENSIONS_OFF: case settings.SafetyCheckExtensionsStatus.BLACKLISTED_ALL_DISABLED:
return 'cr:check'; return 'cr:check';
case settings.SafetyCheckExtensionsStatus.BAD_EXTENSIONS_ON: case settings.SafetyCheckExtensionsStatus
.BLACKLISTED_REENABLED_ALL_BY_USER:
case settings.SafetyCheckExtensionsStatus
.BLACKLISTED_REENABLED_SOME_BY_USER:
return 'cr:warning'; return 'cr:warning';
default: default:
assertNotReached(); assertNotReached();
...@@ -715,10 +679,13 @@ Polymer({ ...@@ -715,10 +679,13 @@ Polymer({
getExtensionsIconClass_: function() { getExtensionsIconClass_: function() {
switch (this.extensionsStatus_) { switch (this.extensionsStatus_) {
case settings.SafetyCheckExtensionsStatus.CHECKING: case settings.SafetyCheckExtensionsStatus.CHECKING:
case settings.SafetyCheckExtensionsStatus.SAFE: case settings.SafetyCheckExtensionsStatus.NO_BLACKLISTED_EXTENSIONS:
case settings.SafetyCheckExtensionsStatus.BAD_EXTENSIONS_OFF: case settings.SafetyCheckExtensionsStatus.BLACKLISTED_ALL_DISABLED:
return 'icon-blue'; return 'icon-blue';
case settings.SafetyCheckExtensionsStatus.BAD_EXTENSIONS_ON: case settings.SafetyCheckExtensionsStatus
.BLACKLISTED_REENABLED_ALL_BY_USER:
case settings.SafetyCheckExtensionsStatus
.BLACKLISTED_REENABLED_SOME_BY_USER:
return 'icon-red'; return 'icon-red';
default: default:
return ''; return '';
...@@ -731,7 +698,10 @@ Polymer({ ...@@ -731,7 +698,10 @@ Polymer({
*/ */
getExtensionsButtonClass_: function() { getExtensionsButtonClass_: function() {
switch (this.extensionsStatus_) { switch (this.extensionsStatus_) {
case settings.SafetyCheckExtensionsStatus.BAD_EXTENSIONS_ON: case settings.SafetyCheckExtensionsStatus
.BLACKLISTED_REENABLED_ALL_BY_USER:
case settings.SafetyCheckExtensionsStatus
.BLACKLISTED_REENABLED_SOME_BY_USER:
return 'action-button'; return 'action-button';
default: default:
return ''; return '';
......
...@@ -1130,17 +1130,15 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, ...@@ -1130,17 +1130,15 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"safetyCheckUpdatesPrimaryLabel", {"safetyCheckUpdatesPrimaryLabel",
IDS_SETTINGS_SAFETY_CHECK_UPDATES_PRIMARY_LABEL}, IDS_SETTINGS_SAFETY_CHECK_UPDATES_PRIMARY_LABEL},
{"safetyCheckUpdatesSubLabelFailedOffline", {"safetyCheckUpdatesSubLabelFailedOffline",
IDS_SETTINGS_SAFETY_CHECK_UPDATES_SUB_LABEL_FAILED_OFFLINE}, IDS_SETTINGS_SAFETY_CHECK_UPDATES_FAILED_OFFLINE},
{"safetyCheckPasswordsButtonCompromised", {"safetyCheckPasswordsButton",
IDS_SAFETY_CHECK_PASSWORDS_BUTTON_COMPROMISED}, IDS_SETTINGS_SAFETY_CHECK_PASSWORDS_BUTTON},
{"safetyCheckPasswordsButtonError",
IDS_SAFETY_CHECK_PASSWORDS_BUTTON_ERROR},
{"safetyCheckSafeBrowsingSubLabelEnabled", {"safetyCheckSafeBrowsingSubLabelEnabled",
IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_SUB_LABEL_ENABLED}, IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_ENABLED},
{"safetyCheckSafeBrowsingSubLabelDisabled", {"safetyCheckSafeBrowsingSubLabelDisabled",
IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_SUB_LABEL_DISABLED}, IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_DISABLED},
{"safetyCheckSafeBrowsingSubLabelDisabledByExtension", {"safetyCheckSafeBrowsingSubLabelDisabledByExtension",
IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_SUB_LABEL_DISABLED_BY_EXTENSION}, IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_DISABLED_BY_EXTENSION},
{"safetyCheckSafeBrowsingButton", {"safetyCheckSafeBrowsingButton",
IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_BUTTON}, IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_BUTTON},
{"safetyCheckExtensionsPrimaryLabel", {"safetyCheckExtensionsPrimaryLabel",
...@@ -1175,17 +1173,17 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, ...@@ -1175,17 +1173,17 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
html_source->AddString( html_source->AddString(
"safetyCheckUpdatesSubLabelFailed", "safetyCheckUpdatesSubLabelFailed",
l10n_util::GetStringFUTF16( l10n_util::GetStringFUTF16(
IDS_SETTINGS_SAFETY_CHECK_UPDATES_SUB_LABEL_FAILED, IDS_SETTINGS_SAFETY_CHECK_UPDATES_FAILED,
base::ASCIIToUTF16(chrome::kChromeFixUpdateProblems))); base::ASCIIToUTF16(chrome::kChromeFixUpdateProblems)));
html_source->AddString( html_source->AddString(
"safetyCheckUpdatesSubLabelDisabledByAdmin", "safetyCheckUpdatesSubLabelDisabledByAdmin",
l10n_util::GetStringFUTF16( l10n_util::GetStringFUTF16(
IDS_SETTINGS_SAFETY_CHECK_UPDATES_SUB_LABEL_DISABLED_BY_ADMIN, IDS_SETTINGS_SAFETY_CHECK_UPDATES_DISABLED_BY_ADMIN,
base::ASCIIToUTF16(chrome::kWhoIsMyAdministratorHelpURL))); base::ASCIIToUTF16(chrome::kWhoIsMyAdministratorHelpURL)));
html_source->AddString( html_source->AddString(
"safetyCheckSafeBrowsingSubLabelDisabledByAdmin", "safetyCheckSafeBrowsingSubLabelDisabledByAdmin",
l10n_util::GetStringFUTF16( l10n_util::GetStringFUTF16(
IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_SUB_LABEL_DISABLED_BY_ADMIN, IDS_SETTINGS_SAFETY_CHECK_SAFE_BROWSING_DISABLED_BY_ADMIN,
base::ASCIIToUTF16(chrome::kWhoIsMyAdministratorHelpURL))); base::ASCIIToUTF16(chrome::kWhoIsMyAdministratorHelpURL)));
// The link to the Advanced Protection Program landing page, with a referrer // The link to the Advanced Protection Program landing page, with a referrer
......
...@@ -79,7 +79,8 @@ suite('SafetyCheckUiTests', function() { ...@@ -79,7 +79,8 @@ suite('SafetyCheckUiTests', function() {
fireSafetyCheckPasswordsEvent(settings.SafetyCheckPasswordsStatus.SAFE); fireSafetyCheckPasswordsEvent(settings.SafetyCheckPasswordsStatus.SAFE);
fireSafetyCheckSafeBrowsingEvent( fireSafetyCheckSafeBrowsingEvent(
settings.SafetyCheckSafeBrowsingStatus.ENABLED); settings.SafetyCheckSafeBrowsingStatus.ENABLED);
fireSafetyCheckExtensionsEvent(settings.SafetyCheckExtensionsStatus.SAFE); fireSafetyCheckExtensionsEvent(
settings.SafetyCheckExtensionsStatus.NO_BLACKLISTED_EXTENSIONS);
Polymer.dom.flush(); Polymer.dom.flush();
...@@ -147,16 +148,10 @@ suite('SafetyCheckUiTests', function() { ...@@ -147,16 +148,10 @@ suite('SafetyCheckUiTests', function() {
fireSafetyCheckPasswordsEvent(state); fireSafetyCheckPasswordsEvent(state);
Polymer.dom.flush(); Polymer.dom.flush();
// button is only visible in COMPROMISED and ERROR states // button is only visible in COMPROMISED state
switch (state) { assertEquals(
case settings.SafetyCheckPasswordsStatus.COMPROMISED: state === settings.SafetyCheckPasswordsStatus.COMPROMISED,
case settings.SafetyCheckPasswordsStatus.ERROR: !!page.$$('#safetyCheckPasswordsButton'));
assertTrue(!!page.$$('#safetyCheckPasswordsButton'));
break;
default:
assertFalse(!!page.$$('#safetyCheckPasswordsButton'));
break;
}
} }
}); });
...@@ -200,6 +195,22 @@ suite('SafetyCheckUiTests', function() { ...@@ -200,6 +195,22 @@ suite('SafetyCheckUiTests', function() {
assertTrue(!!page.$$('#safetyCheckSafeBrowsingManagedIcon')); assertTrue(!!page.$$('#safetyCheckSafeBrowsingManagedIcon'));
}); });
test('extensionsCheckingUiTest', function() {
fireSafetyCheckExtensionsEvent(
settings.SafetyCheckExtensionsStatus.CHECKING);
Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
});
test('extensionsErrorUiTest', function() {
fireSafetyCheckExtensionsEvent(settings.SafetyCheckExtensionsStatus.ERROR);
Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
});
test('extensionsCheckingUiTest', function() { test('extensionsCheckingUiTest', function() {
fireSafetyCheckExtensionsEvent( fireSafetyCheckExtensionsEvent(
settings.SafetyCheckExtensionsStatus.CHECKING); settings.SafetyCheckExtensionsStatus.CHECKING);
...@@ -216,31 +227,40 @@ suite('SafetyCheckUiTests', function() { ...@@ -216,31 +227,40 @@ suite('SafetyCheckUiTests', function() {
}); });
test('extensionsSafeUiTest', function() { test('extensionsSafeUiTest', function() {
fireSafetyCheckExtensionsEvent(settings.SafetyCheckExtensionsStatus.SAFE); fireSafetyCheckExtensionsEvent(
settings.SafetyCheckExtensionsStatus.NO_BLACKLISTED_EXTENSIONS);
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckExtensionsButton')); assertFalse(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon')); assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
}); });
test('extensionsBadExtensionsOnUiTest', function() { test('extensionsBlacklistedOffUiTest', function() {
fireSafetyCheckExtensionsEvent( fireSafetyCheckExtensionsEvent(
settings.SafetyCheckExtensionsStatus.BAD_EXTENSIONS_ON); settings.SafetyCheckExtensionsStatus.BLACKLISTED_ALL_DISABLED);
Polymer.dom.flush(); Polymer.dom.flush();
assertTrue(!!page.$$('#safetyCheckExtensionsButton')); assertTrue(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon')); assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
}); });
test('extensionsBadExtensionsOffUiTest', function() { test('extensionsBlacklistedOnAllUserUiTest', function() {
fireSafetyCheckExtensionsEvent( fireSafetyCheckExtensionsEvent(
settings.SafetyCheckExtensionsStatus.BAD_EXTENSIONS_OFF); settings.SafetyCheckExtensionsStatus.BLACKLISTED_REENABLED_ALL_BY_USER);
Polymer.dom.flush(); Polymer.dom.flush();
assertTrue(!!page.$$('#safetyCheckExtensionsButton')); assertTrue(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon')); assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
}); });
test('extensionsManagedByAdminUiTest', function() { test('extensionsBlacklistedOnUserAdminUiTest', function() {
fireSafetyCheckExtensionsEvent( fireSafetyCheckExtensionsEvent(settings.SafetyCheckExtensionsStatus
settings.SafetyCheckExtensionsStatus.MANAGED_BY_ADMIN); .BLACKLISTED_REENABLED_SOME_BY_USER);
Polymer.dom.flush();
assertTrue(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
});
test('extensionsBlacklistedOnAllAdminUiTest', function() {
fireSafetyCheckExtensionsEvent(settings.SafetyCheckExtensionsStatus
.BLACKLISTED_REENABLED_ALL_BY_ADMIN);
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckExtensionsButton')); assertFalse(!!page.$$('#safetyCheckExtensionsButton'));
assertTrue(!!page.$$('#safetyCheckExtensionsManagedIcon')); assertTrue(!!page.$$('#safetyCheckExtensionsManagedIcon'));
......
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