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 @@
<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
</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.">
Chromium can't check your device software. Try checking your 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.">
An error occurred while Chromium was checking the device software
</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.">
Your administrator has disabled Chromium's check for harmful software
......
11adbc65a727f22fea63e7aaa7517e4786d7b382
\ No newline at end of file
......@@ -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.">
Chrome found harmful software on your computer
</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.">
Chrome can't check your device software. Try checking your 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.">
An error occurred while Chrome was checking the device software
</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.">
Your administrator has disabled Chrome's check for harmful software
......
......@@ -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.">
Review
</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.">
Updates
</message>
......
11adbc65a727f22fea63e7aaa7517e4786d7b382
\ No newline at end of file
......@@ -93,13 +93,13 @@ Polymer({
return SafetyCheckIconStatus.SAFE;
case SafetyCheckChromeCleanerStatus.REPORTER_FAILED:
case SafetyCheckChromeCleanerStatus.SCANNING_FAILED:
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.CLEANING_FAILED:
case SafetyCheckChromeCleanerStatus.CLEANER_DOWNLOAD_FAILED:
case SafetyCheckChromeCleanerStatus.CLEANING:
case SafetyCheckChromeCleanerStatus.REBOOT_REQUIRED:
case SafetyCheckChromeCleanerStatus.DISABLED_BY_ADMIN:
return SafetyCheckIconStatus.INFO;
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.INFECTED:
return SafetyCheckIconStatus.WARNING;
......@@ -116,10 +116,11 @@ Polymer({
switch (this.status_) {
case SafetyCheckChromeCleanerStatus.REPORTER_FAILED:
case SafetyCheckChromeCleanerStatus.SCANNING_FAILED:
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.CLEANING_FAILED:
case SafetyCheckChromeCleanerStatus.CLEANER_DOWNLOAD_FAILED:
return this.i18n('passwordViewDetails');
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.INFECTED:
case SafetyCheckChromeCleanerStatus.CLEANING:
return this.i18n('safetyCheckReview');
......@@ -138,10 +139,11 @@ Polymer({
switch (this.status_) {
case SafetyCheckChromeCleanerStatus.REPORTER_FAILED:
case SafetyCheckChromeCleanerStatus.SCANNING_FAILED:
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.CLEANING_FAILED:
case SafetyCheckChromeCleanerStatus.CLEANER_DOWNLOAD_FAILED:
return this.i18n('safetyCheckReviewErrorDetails');
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.INFECTED:
case SafetyCheckChromeCleanerStatus.CLEANING:
return this.i18n('safetyCheckChromeCleanerButtonAriaLabel');
......@@ -158,6 +160,7 @@ Polymer({
*/
getButtonClass_: function() {
switch (this.status_) {
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.INFECTED:
case SafetyCheckChromeCleanerStatus.REBOOT_REQUIRED:
......
......@@ -613,22 +613,16 @@ base::string16 SafetyCheckHandler::GetStringForChromeCleaner(
return l10n_util::GetStringUTF16(
IDS_SETTINGS_RESET_CLEANUP_TITLE_NOTHING_FOUND);
case ChromeCleanerStatus::kReporterFailed:
return l10n_util::GetStringUTF16(
IDS_SETTINGS_RESET_CLEANUP_EXPLANATION_SCAN_ERROR);
case ChromeCleanerStatus::kScanningFailed:
case ChromeCleanerStatus::kCleaningFailed:
case ChromeCleanerStatus::kCleanerDownloadFailed:
return l10n_util::GetStringUTF16(
IDS_SETTINGS_RESET_CLEANUP_EXPLANATION_SCAN_ERROR);
IDS_SETTINGS_SAFETY_CHECK_CHROME_CLEANER_ERROR);
case ChromeCleanerStatus::kConnectionLost:
case ChromeCleanerStatus::kUserDeclinedCleanup:
case ChromeCleanerStatus::kInfected:
return l10n_util::GetStringUTF16(
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:
return l10n_util::GetStringUTF16(
IDS_SETTINGS_RESET_CLEANUP_TITLE_REMOVING);
......
......@@ -1350,6 +1350,8 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"safetyCheckIconWarningAriaLabel",
IDS_SETTINGS_SAFETY_CHECK_ICON_WARNING_ARIA_LABEL},
{"safetyCheckReview", IDS_SETTINGS_SAFETY_CHECK_REVIEW},
{"safetyCheckReviewErrorDetails",
IDS_SETTINGS_SAFETY_CHECK_REVIEW_ERROR_DETAILS},
{"safetyCheckUpdatesPrimaryLabel",
IDS_SETTINGS_SAFETY_CHECK_UPDATES_PRIMARY_LABEL},
{"safetyCheckUpdatesButtonAriaLabel",
......
......@@ -102,7 +102,7 @@ suite('SafetyCheckChromeCleanerUiTests', function() {
});
});
test('chromeCleanerCSafeStatesUiTest', function() {
test('chromeCleanerSafeStatesUiTest', function() {
for (const state of Object.values(SafetyCheckChromeCleanerStatus)) {
switch (state) {
case SafetyCheckChromeCleanerStatus.INITIAL:
......@@ -126,14 +126,34 @@ suite('SafetyCheckChromeCleanerUiTests', function() {
}
});
test('chromeCleanerInfoWithDefaultButtonStatesUiTest', function() {
test('chromeCleanerErrorStates', function() {
for (const state of Object.values(SafetyCheckChromeCleanerStatus)) {
switch (state) {
case SafetyCheckChromeCleanerStatus.REPORTER_FAILED:
case SafetyCheckChromeCleanerStatus.SCANNING_FAILED:
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
case SafetyCheckChromeCleanerStatus.CLEANING_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:
fireSafetyCheckChromeCleanerEvent(state);
flush();
......@@ -158,6 +178,7 @@ suite('SafetyCheckChromeCleanerUiTests', function() {
switch (state) {
case SafetyCheckChromeCleanerStatus.USER_DECLINED_CLEANUP:
case SafetyCheckChromeCleanerStatus.INFECTED:
case SafetyCheckChromeCleanerStatus.CONNECTION_LOST:
fireSafetyCheckChromeCleanerEvent(state);
flush();
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