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

Safety check UI: clear search term on navigation

* When navigating to a Settings subpage from safety check, clear the
  search term so that content on the subpage is not hidden by it.

Bug: 1085422
Change-Id: I8caf29cc417e7af69fa2981d444e580c0963bac0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2230483
Commit-Queue: Rainhard Findling <rainhard@chromium.org>
Reviewed-by: default avatardpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#775789}
parent a3db4d82
...@@ -182,7 +182,7 @@ Polymer({ ...@@ -182,7 +182,7 @@ Polymer({
case SafetyCheckChromeCleanerStatus.CLEANING: case SafetyCheckChromeCleanerStatus.CLEANING:
Router.getInstance().navigateTo( Router.getInstance().navigateTo(
routes.CHROME_CLEANUP, routes.CHROME_CLEANUP,
/* dynamicParams */ null, /* removeSearch */ true); /* dynamicParams= */ null, /* removeSearch= */ true);
break; break;
case SafetyCheckChromeCleanerStatus.REBOOT_REQUIRED: case SafetyCheckChromeCleanerStatus.REBOOT_REQUIRED:
// TODO(crbug.com/1087263): Implement CCT-based reboot here. // TODO(crbug.com/1087263): Implement CCT-based reboot here.
......
...@@ -122,7 +122,9 @@ Polymer({ ...@@ -122,7 +122,9 @@ Polymer({
this.metricsBrowserProxy_.recordAction( this.metricsBrowserProxy_.recordAction(
'Settings.SafetyCheck.ManagePasswords'); 'Settings.SafetyCheck.ManagePasswords');
Router.getInstance().navigateTo(routes.CHECK_PASSWORDS); Router.getInstance().navigateTo(
routes.CHECK_PASSWORDS,
/* dynamicParams= */ null, /* removeSearch= */ true);
PasswordManagerImpl.getInstance().recordPasswordCheckReferrer( PasswordManagerImpl.getInstance().recordPasswordCheckReferrer(
PasswordManagerProxy.PasswordCheckReferrer.SAFETY_CHECK); PasswordManagerProxy.PasswordCheckReferrer.SAFETY_CHECK);
}, },
......
...@@ -120,7 +120,9 @@ Polymer({ ...@@ -120,7 +120,9 @@ Polymer({
this.metricsBrowserProxy_.recordAction( this.metricsBrowserProxy_.recordAction(
'Settings.SafetyCheck.ManageSafeBrowsing'); 'Settings.SafetyCheck.ManageSafeBrowsing');
Router.getInstance().navigateTo(routes.SECURITY); Router.getInstance().navigateTo(
routes.SECURITY, /* dynamicParams= */ null,
/* removeSearch= */ true);
}, },
/** /**
......
...@@ -63,15 +63,19 @@ function assertSafetyCheckChild({ ...@@ -63,15 +63,19 @@ function assertSafetyCheckChild({
suite('SafetyCheckChromeCleanerUiTests', function() { suite('SafetyCheckChromeCleanerUiTests', function() {
/** @type {?TestMetricsBrowserProxy} */ /** @type {?TestMetricsBrowserProxy} */
let metricsBrowserProxy = null; let metricsBrowserProxy = null;
/** @type {!SettingsSafetyCheckExtensionsChildElement} */ /** @type {!SettingsSafetyCheckExtensionsChildElement} */
let page; let page;
/** @type {!SettingsUiElement} */
let ui;
setup(function() { setup(function() {
metricsBrowserProxy = new TestMetricsBrowserProxy(); metricsBrowserProxy = new TestMetricsBrowserProxy();
MetricsBrowserProxyImpl.instance_ = metricsBrowserProxy; MetricsBrowserProxyImpl.instance_ = metricsBrowserProxy;
document.body.innerHTML = ''; document.body.innerHTML = '';
ui = /** @type {!SettingsUiElement} */ (
document.createElement('settings-ui'));
document.body.appendChild(ui);
page = /** @type {!SettingsSafetyCheckExtensionsChildElement} */ ( page = /** @type {!SettingsSafetyCheckExtensionsChildElement} */ (
document.createElement('settings-safety-check-chrome-cleaner-child')); document.createElement('settings-safety-check-chrome-cleaner-child'));
document.body.appendChild(page); document.body.appendChild(page);
...@@ -84,11 +88,19 @@ suite('SafetyCheckChromeCleanerUiTests', function() { ...@@ -84,11 +88,19 @@ suite('SafetyCheckChromeCleanerUiTests', function() {
/** @return {!Promise} */ /** @return {!Promise} */
async function expectChromeCleanerRouteButtonClickActions() { async function expectChromeCleanerRouteButtonClickActions() {
// Put some search term into the Settings search.
const toolbar = /** @type {!CrToolbarElement} */ (ui.$$('cr-toolbar'));
const searchField =
/** @type {CrToolbarSearchFieldElement} */ (toolbar.getSearchField());
searchField.setValue('GOOG');
// User clicks review extensions button. // User clicks review extensions button.
page.$$('#safetyCheckChild').$$('#button').click(); page.$$('#safetyCheckChild').$$('#button').click();
// // TODO(crbug.com/1087263): Ensure UMA is logged. // // TODO(crbug.com/1087263): Ensure UMA is logged.
// Ensure the correct Settings page is shown. // Ensure the correct Settings page is shown.
assertEquals(routes.CHROME_CLEANUP, Router.getInstance().getCurrentRoute()); assertEquals(routes.CHROME_CLEANUP, Router.getInstance().getCurrentRoute());
// Ensure the search term got cleared
assertEquals('', searchField.getSearchInput().value);
} }
test('chromeCleanerCheckingUiTest', function() { test('chromeCleanerCheckingUiTest', function() {
......
...@@ -473,15 +473,19 @@ suite('SafetyCheckUpdatesChildUiTests', function() { ...@@ -473,15 +473,19 @@ suite('SafetyCheckUpdatesChildUiTests', function() {
suite('SafetyCheckPasswordsChildUiTests', function() { suite('SafetyCheckPasswordsChildUiTests', function() {
/** @type {?TestMetricsBrowserProxy} */ /** @type {?TestMetricsBrowserProxy} */
let metricsBrowserProxy = null; let metricsBrowserProxy = null;
/** @type {!SettingsSafetyCheckPasswordsChildElement} */ /** @type {!SettingsSafetyCheckPasswordsChildElement} */
let page; let page;
/** @type {!SettingsUiElement} */
let ui;
setup(function() { setup(function() {
metricsBrowserProxy = new TestMetricsBrowserProxy(); metricsBrowserProxy = new TestMetricsBrowserProxy();
MetricsBrowserProxyImpl.instance_ = metricsBrowserProxy; MetricsBrowserProxyImpl.instance_ = metricsBrowserProxy;
document.body.innerHTML = ''; document.body.innerHTML = '';
ui = /** @type {!SettingsUiElement} */ (
document.createElement('settings-ui'));
document.body.appendChild(ui);
page = /** @type {!SettingsSafetyCheckPasswordsChildElement} */ ( page = /** @type {!SettingsSafetyCheckPasswordsChildElement} */ (
document.createElement('settings-safety-check-passwords-child')); document.createElement('settings-safety-check-passwords-child'));
document.body.appendChild(page); document.body.appendChild(page);
...@@ -528,6 +532,12 @@ suite('SafetyCheckPasswordsChildUiTests', function() { ...@@ -528,6 +532,12 @@ suite('SafetyCheckPasswordsChildUiTests', function() {
const passwordManager = new TestPasswordManagerProxy(); const passwordManager = new TestPasswordManagerProxy();
PasswordManagerImpl.instance_ = passwordManager; PasswordManagerImpl.instance_ = passwordManager;
// Put some search term into the Settings search.
const toolbar = /** @type {!CrToolbarElement} */ (ui.$$('cr-toolbar'));
const searchField =
/** @type {CrToolbarSearchFieldElement} */ (toolbar.getSearchField());
searchField.setValue('GOOG');
// User clicks the manage passwords button. // User clicks the manage passwords button.
page.$$('#safetyCheckChild').$$('#button').click(); page.$$('#safetyCheckChild').$$('#button').click();
// Ensure UMA is logged. // Ensure UMA is logged.
...@@ -541,6 +551,8 @@ suite('SafetyCheckPasswordsChildUiTests', function() { ...@@ -541,6 +551,8 @@ suite('SafetyCheckPasswordsChildUiTests', function() {
// Ensure the correct Settings page is shown. // Ensure the correct Settings page is shown.
assertEquals( assertEquals(
routes.CHECK_PASSWORDS, Router.getInstance().getCurrentRoute()); routes.CHECK_PASSWORDS, Router.getInstance().getCurrentRoute());
// Ensure the search term got cleared.
assertEquals('', searchField.getSearchInput().value);
// Ensure correct referrer sent to password check. // Ensure correct referrer sent to password check.
const referrer = const referrer =
...@@ -580,15 +592,19 @@ suite('SafetyCheckPasswordsChildUiTests', function() { ...@@ -580,15 +592,19 @@ suite('SafetyCheckPasswordsChildUiTests', function() {
suite('SafetyCheckSafeBrowsingChildUiTests', function() { suite('SafetyCheckSafeBrowsingChildUiTests', function() {
/** @type {?TestMetricsBrowserProxy} */ /** @type {?TestMetricsBrowserProxy} */
let metricsBrowserProxy = null; let metricsBrowserProxy = null;
/** @type {!SettingsSafetyCheckSafeBrowsingChildElement} */ /** @type {!SettingsSafetyCheckSafeBrowsingChildElement} */
let page; let page;
/** @type {!SettingsUiElement} */
let ui;
setup(function() { setup(function() {
metricsBrowserProxy = new TestMetricsBrowserProxy(); metricsBrowserProxy = new TestMetricsBrowserProxy();
MetricsBrowserProxyImpl.instance_ = metricsBrowserProxy; MetricsBrowserProxyImpl.instance_ = metricsBrowserProxy;
document.body.innerHTML = ''; document.body.innerHTML = '';
ui = /** @type {!SettingsUiElement} */ (
document.createElement('settings-ui'));
document.body.appendChild(ui);
page = /** @type {!SettingsSafetyCheckSafeBrowsingChildElement} */ ( page = /** @type {!SettingsSafetyCheckSafeBrowsingChildElement} */ (
document.createElement('settings-safety-check-safe-browsing-child')); document.createElement('settings-safety-check-safe-browsing-child'));
document.body.appendChild(page); document.body.appendChild(page);
...@@ -643,6 +659,12 @@ suite('SafetyCheckSafeBrowsingChildUiTests', function() { ...@@ -643,6 +659,12 @@ suite('SafetyCheckSafeBrowsingChildUiTests', function() {
buttonClass: 'action-button', buttonClass: 'action-button',
}); });
// Put some search term into the Settings search.
const toolbar = /** @type {!CrToolbarElement} */ (ui.$$('cr-toolbar'));
const searchField =
/** @type {CrToolbarSearchFieldElement} */ (toolbar.getSearchField());
searchField.setValue('GOOG');
// User clicks the manage safe browsing button. // User clicks the manage safe browsing button.
page.$$('#safetyCheckChild').$$('#button').click(); page.$$('#safetyCheckChild').$$('#button').click();
// Ensure UMA is logged. // Ensure UMA is logged.
...@@ -655,6 +677,8 @@ suite('SafetyCheckSafeBrowsingChildUiTests', function() { ...@@ -655,6 +677,8 @@ suite('SafetyCheckSafeBrowsingChildUiTests', function() {
await metricsBrowserProxy.whenCalled('recordAction')); await metricsBrowserProxy.whenCalled('recordAction'));
// Ensure the correct Settings page is shown. // Ensure the correct Settings page is shown.
assertEquals(routes.SECURITY, Router.getInstance().getCurrentRoute()); assertEquals(routes.SECURITY, Router.getInstance().getCurrentRoute());
// Ensure the search term got cleared.
assertEquals('', searchField.getSearchInput().value);
}); });
test('safeBrowsingDisabledByAdminUiTest', function() { test('safeBrowsingDisabledByAdminUiTest', function() {
......
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