Commit b8a1dc17 authored by Rainhard Findling's avatar Rainhard Findling Committed by Commit Bot

Safety check UI: update Chrome cleaner child states

* This CL aligns the Chrome cleaner child element behavior with the
  latest mocks for all states except the "safe" states, which will be
  updated in a separate CL.

Bug: 1087263
Change-Id: Ie2b05f879aa6b03ceff97d83f3376a701eedadb4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2276253
Commit-Queue: Rainhard Findling <rainhard@chromium.org>
Reviewed-by: default avatarEsmael Elmoslimany <aee@chromium.org>
Cr-Commit-Position: refs/heads/master@{#786277}
parent 46d888c9
...@@ -134,8 +134,8 @@ ...@@ -134,8 +134,8 @@
<message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_INFECTED" desc="This text describes that Chrome found harmful software on the computer."> <message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_INFECTED" desc="This text describes that Chrome found harmful software on the computer.">
Chromium found harmful software on your computer Chromium found harmful software on your computer
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_OFFLINE" desc="This text describes that Chrome can't check for unwanted software as there is no internet connection."> <message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_ERROR" desc="This text describes that Chrome can't check for unwanted software due to an error.">
Chromium can't check your device software. Try checking your internet connection. An error occurred while Chromium was checking the device software
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_DISABLED_BY_ADMIN" desc="This text describes that Chrome can't check for unwanted software because an administrator disabled the feature."> <message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_DISABLED_BY_ADMIN" desc="This text describes that Chrome can't check for unwanted software because an administrator disabled the feature.">
Your administrator has disabled Chromium's check for harmful software Your administrator has disabled Chromium's check for harmful software
......
11adbc65a727f22fea63e7aaa7517e4786d7b382
\ No newline at end of file
...@@ -135,8 +135,8 @@ ...@@ -135,8 +135,8 @@
<message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_INFECTED" desc="This text describes that Chrome found harmful software on the computer."> <message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_INFECTED" desc="This text describes that Chrome found harmful software on the computer.">
Chrome found harmful software on your computer Chrome found harmful software on your computer
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_OFFLINE" desc="This text describes that Chrome can't check for unwanted software as there is no internet connection."> <message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_ERROR" desc="This text describes that Chrome can't check for unwanted software due to an error.">
Chrome can't check your device software. Try checking your internet connection. An error occurred while Chrome was checking the device software
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_DISABLED_BY_ADMIN" desc="This text describes that Chrome can't check for unwanted software because an administrator disabled the feature."> <message name="IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_DISABLED_BY_ADMIN" desc="This text describes that Chrome can't check for unwanted software because an administrator disabled the feature.">
Your administrator has disabled Chrome's check for harmful software Your administrator has disabled Chrome's check for harmful software
......
...@@ -1172,6 +1172,9 @@ ...@@ -1172,6 +1172,9 @@
<message name="IDS_SETTINGS_SAFETY_CHECK_REVIEW" desc="Text for a button that allows users to review safety check findings, such as compromised passwords or blocklisted extensions."> <message name="IDS_SETTINGS_SAFETY_CHECK_REVIEW" desc="Text for a button that allows users to review safety check findings, such as compromised passwords or blocklisted extensions.">
Review Review
</message> </message>
<message name="IDS_SETTINGS_SAFETY_CHECK_REVIEW_ERROR_DETAILS" desc="Accessibility text for a button that allows users to review error details.">
Review error details
</message>
<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>
......
11adbc65a727f22fea63e7aaa7517e4786d7b382
\ No newline at end of file
...@@ -93,13 +93,13 @@ Polymer({ ...@@ -93,13 +93,13 @@ Polymer({
return SafetyCheckIconStatus.SAFE; return SafetyCheckIconStatus.SAFE;
case SafetyCheckChromeCleanerStatus.REPORTER_FAILED: case SafetyCheckChromeCleanerStatus.REPORTER_FAILED:
case SafetyCheckChromeCleanerStatus.SCANNING_FAILED: case SafetyCheckChromeCleanerStatus.SCANNING_FAILED:
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.CLEANING_FAILED: case SafetyCheckChromeCleanerStatus.CLEANING_FAILED:
case SafetyCheckChromeCleanerStatus.CLEANER_DOWNLOAD_FAILED: case SafetyCheckChromeCleanerStatus.CLEANER_DOWNLOAD_FAILED:
case SafetyCheckChromeCleanerStatus.CLEANING: case SafetyCheckChromeCleanerStatus.CLEANING:
case SafetyCheckChromeCleanerStatus.REBOOT_REQUIRED: case SafetyCheckChromeCleanerStatus.REBOOT_REQUIRED:
case SafetyCheckChromeCleanerStatus.DISABLED_BY_ADMIN: case SafetyCheckChromeCleanerStatus.DISABLED_BY_ADMIN:
return SafetyCheckIconStatus.INFO; return SafetyCheckIconStatus.INFO;
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP: case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.INFECTED: case SafetyCheckChromeCleanerStatus.INFECTED:
return SafetyCheckIconStatus.WARNING; return SafetyCheckIconStatus.WARNING;
...@@ -116,10 +116,11 @@ Polymer({ ...@@ -116,10 +116,11 @@ Polymer({
switch (this.status_) { switch (this.status_) {
case SafetyCheckChromeCleanerStatus.REPORTER_FAILED: case SafetyCheckChromeCleanerStatus.REPORTER_FAILED:
case SafetyCheckChromeCleanerStatus.SCANNING_FAILED: case SafetyCheckChromeCleanerStatus.SCANNING_FAILED:
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.CLEANING_FAILED: case SafetyCheckChromeCleanerStatus.CLEANING_FAILED:
case SafetyCheckChromeCleanerStatus.CLEANER_DOWNLOAD_FAILED: case SafetyCheckChromeCleanerStatus.CLEANER_DOWNLOAD_FAILED:
return this.i18n('passwordViewDetails');
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.INFECTED: case SafetyCheckChromeCleanerStatus.INFECTED:
case SafetyCheckChromeCleanerStatus.CLEANING: case SafetyCheckChromeCleanerStatus.CLEANING:
return this.i18n('safetyCheckReview'); return this.i18n('safetyCheckReview');
...@@ -138,10 +139,11 @@ Polymer({ ...@@ -138,10 +139,11 @@ Polymer({
switch (this.status_) { switch (this.status_) {
case SafetyCheckChromeCleanerStatus.REPORTER_FAILED: case SafetyCheckChromeCleanerStatus.REPORTER_FAILED:
case SafetyCheckChromeCleanerStatus.SCANNING_FAILED: case SafetyCheckChromeCleanerStatus.SCANNING_FAILED:
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.CLEANING_FAILED: case SafetyCheckChromeCleanerStatus.CLEANING_FAILED:
case SafetyCheckChromeCleanerStatus.CLEANER_DOWNLOAD_FAILED: case SafetyCheckChromeCleanerStatus.CLEANER_DOWNLOAD_FAILED:
return this.i18n('safetyCheckReviewErrorDetails');
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.INFECTED: case SafetyCheckChromeCleanerStatus.INFECTED:
case SafetyCheckChromeCleanerStatus.CLEANING: case SafetyCheckChromeCleanerStatus.CLEANING:
return this.i18n('safetyCheckChromeCleanerButtonAriaLabel'); return this.i18n('safetyCheckChromeCleanerButtonAriaLabel');
...@@ -158,6 +160,7 @@ Polymer({ ...@@ -158,6 +160,7 @@ Polymer({
*/ */
getButtonClass_: function() { getButtonClass_: function() {
switch (this.status_) { switch (this.status_) {
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP: case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.INFECTED: case SafetyCheckChromeCleanerStatus.INFECTED:
case SafetyCheckChromeCleanerStatus.REBOOT_REQUIRED: case SafetyCheckChromeCleanerStatus.REBOOT_REQUIRED:
......
...@@ -613,22 +613,16 @@ base::string16 SafetyCheckHandler::GetStringForChromeCleaner( ...@@ -613,22 +613,16 @@ base::string16 SafetyCheckHandler::GetStringForChromeCleaner(
return l10n_util::GetStringUTF16( return l10n_util::GetStringUTF16(
IDS_SETTINGS_RESET_CLEANUP_TITLE_NOTHING_FOUND); IDS_SETTINGS_RESET_CLEANUP_TITLE_NOTHING_FOUND);
case ChromeCleanerStatus::kReporterFailed: case ChromeCleanerStatus::kReporterFailed:
return l10n_util::GetStringUTF16(
IDS_SETTINGS_RESET_CLEANUP_EXPLANATION_SCAN_ERROR);
case ChromeCleanerStatus::kScanningFailed: case ChromeCleanerStatus::kScanningFailed:
case ChromeCleanerStatus::kCleaningFailed:
case ChromeCleanerStatus::kCleanerDownloadFailed:
return l10n_util::GetStringUTF16( return l10n_util::GetStringUTF16(
IDS_SETTINGS_RESET_CLEANUP_EXPLANATION_SCAN_ERROR); IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_ERROR);
case ChromeCleanerStatus::kConnectionLost: case ChromeCleanerStatus::kConnectionLost:
case ChromeCleanerStatus::kUserDeclinedCleanup: case ChromeCleanerStatus::kUserDeclinedCleanup:
case ChromeCleanerStatus::kInfected: case ChromeCleanerStatus::kInfected:
return l10n_util::GetStringUTF16( return l10n_util::GetStringUTF16(
IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_INFECTED); IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_INFECTED);
case ChromeCleanerStatus::kCleaningFailed:
return l10n_util::GetStringUTF16(
IDS_SETTINGS_RESET_CLEANUP_EXPLANATION_CLEANUP_ERROR);
case ChromeCleanerStatus::kCleanerDownloadFailed:
return l10n_util::GetStringUTF16(
IDS_SETTINGS_RESET_CLEANUP_EXPLANATION_CLEANUP_UNAVAILABLE);
case ChromeCleanerStatus::kCleaning: case ChromeCleanerStatus::kCleaning:
return l10n_util::GetStringUTF16( return l10n_util::GetStringUTF16(
IDS_SETTINGS_RESET_CLEANUP_TITLE_REMOVING); IDS_SETTINGS_RESET_CLEANUP_TITLE_REMOVING);
......
...@@ -1350,6 +1350,8 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, ...@@ -1350,6 +1350,8 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"safetyCheckIconWarningAriaLabel", {"safetyCheckIconWarningAriaLabel",
IDS_SETTINGS_SAFETY_CHECK_ICON_WARNING_ARIA_LABEL}, IDS_SETTINGS_SAFETY_CHECK_ICON_WARNING_ARIA_LABEL},
{"safetyCheckReview", IDS_SETTINGS_SAFETY_CHECK_REVIEW}, {"safetyCheckReview", IDS_SETTINGS_SAFETY_CHECK_REVIEW},
{"safetyCheckReviewErrorDetails",
IDS_SETTINGS_SAFETY_CHECK_REVIEW_ERROR_DETAILS},
{"safetyCheckUpdatesPrimaryLabel", {"safetyCheckUpdatesPrimaryLabel",
IDS_SETTINGS_SAFETY_CHECK_UPDATES_PRIMARY_LABEL}, IDS_SETTINGS_SAFETY_CHECK_UPDATES_PRIMARY_LABEL},
{"safetyCheckUpdatesButtonAriaLabel", {"safetyCheckUpdatesButtonAriaLabel",
......
...@@ -102,7 +102,7 @@ suite('SafetyCheckChromeCleanerUiTests', function() { ...@@ -102,7 +102,7 @@ suite('SafetyCheckChromeCleanerUiTests', function() {
}); });
}); });
test('chromeCleanerCSafeStatesUiTest', function() { test('chromeCleanerSafeStatesUiTest', function() {
for (const state of Object.values(SafetyCheckChromeCleanerStatus)) { for (const state of Object.values(SafetyCheckChromeCleanerStatus)) {
switch (state) { switch (state) {
case SafetyCheckChromeCleanerStatus.INITIAL: case SafetyCheckChromeCleanerStatus.INITIAL:
...@@ -126,14 +126,34 @@ suite('SafetyCheckChromeCleanerUiTests', function() { ...@@ -126,14 +126,34 @@ suite('SafetyCheckChromeCleanerUiTests', function() {
} }
}); });
test('chromeCleanerInfoWithDefaultButtonStatesUiTest', function() { test('chromeCleanerErrorStates', function() {
for (const state of Object.values(SafetyCheckChromeCleanerStatus)) { for (const state of Object.values(SafetyCheckChromeCleanerStatus)) {
switch (state) { switch (state) {
case SafetyCheckChromeCleanerStatus.REPORTER_FAILED: case SafetyCheckChromeCleanerStatus.REPORTER_FAILED:
case SafetyCheckChromeCleanerStatus.SCANNING_FAILED: case SafetyCheckChromeCleanerStatus.SCANNING_FAILED:
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.CLEANING_FAILED: case SafetyCheckChromeCleanerStatus.CLEANING_FAILED:
case SafetyCheckChromeCleanerStatus.CLEANER_DOWNLOAD_FAILED: case SafetyCheckChromeCleanerStatus.CLEANER_DOWNLOAD_FAILED:
fireSafetyCheckChromeCleanerEvent(state);
flush();
assertSafetyCheckChild({
page: page,
iconStatus: SafetyCheckIconStatus.INFO,
label: 'Device software',
buttonLabel: 'Details',
buttonAriaLabel: 'Review error details',
});
expectChromeCleanerRouteButtonClickActions();
break;
default:
// Not covered by this test.
break;
}
}
});
test('chromeCleanerInfoWithDefaultButtonStatesUiTest', function() {
for (const state of Object.values(SafetyCheckChromeCleanerStatus)) {
switch (state) {
case SafetyCheckChromeCleanerStatus.CLEANING: case SafetyCheckChromeCleanerStatus.CLEANING:
fireSafetyCheckChromeCleanerEvent(state); fireSafetyCheckChromeCleanerEvent(state);
flush(); flush();
...@@ -158,6 +178,7 @@ suite('SafetyCheckChromeCleanerUiTests', function() { ...@@ -158,6 +178,7 @@ suite('SafetyCheckChromeCleanerUiTests', function() {
switch (state) { switch (state) {
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP: case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.INFECTED: case SafetyCheckChromeCleanerStatus.INFECTED:
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
fireSafetyCheckChromeCleanerEvent(state); fireSafetyCheckChromeCleanerEvent(state);
flush(); flush();
assertSafetyCheckChild({ assertSafetyCheckChild({
......
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