Commit aaa6ca07 authored by Sean Harrison's avatar Sean Harrison Committed by Commit Bot

Add missing enums to SettingsPageInteraction enum

Add:
PRIVACY_SITE_SETTINGS_ALL
PRIVACY_SITE_SETTINGS_AR
PRIVACY_SITE_SETTINGS_VR

These were missed in a previous CL and hits a DCHECK

Add corresponding test to site_settings_page_test.js

Merge all tests into one to remove flakiness, testing each logging call in a separate test was taking too long and causing sporadic timeouts resulting in flakiness.

Now all logging checks are done by navigating around a single test instance and resetting proxy state, speed up removes all flakiness and was significant enough to allow the merging of all 4 split test suites without timeout concerns.

Bug: 1046488, 1048858
Change-Id: I074e2581d3489e179adfdc187e7165284ccc2685
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2027447
Commit-Queue: Sean Harrison <harrisonsean@chromium.org>
Reviewed-by: default avatarDemetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#738512}
parent 560e52cc
......@@ -55,8 +55,11 @@ cr.define('settings', function() {
PRIVACY_SITE_SETTINGS_PAYMENT_HANDLER: 36,
PRIVACY_SITE_SETTINGS_MIXEDSCRIPT: 37,
PRIVACY_SITE_SETTINGS_BLUETOOTH_SCANNING: 38,
PRIVACY_SITE_SETTINGS_ALL: 39,
PRIVACY_SITE_SETTINGS_AR: 40,
PRIVACY_SITE_SETTINGS_VR: 41,
// Leave this at the end.
SETTINGS_MAX_VALUE: 38,
SETTINGS_MAX_VALUE: 41,
};
/** @interface */
......
......@@ -982,21 +982,6 @@ TEST_F('CrSettingsSiteSettingsPageTest', 'UMALoggingTests', function() {
mocha.run();
});
TEST_F('CrSettingsSiteSettingsPageTest', 'UMALoggingTestsPart2', function() {
settings_site_settings_page.registerUMALoggingTestsPart2();
mocha.run();
});
TEST_F('CrSettingsSiteSettingsPageTest', 'UMALoggingTestsPart3', function() {
settings_site_settings_page.registerUMALoggingTestsPart3();
mocha.run();
});
TEST_F('CrSettingsSiteSettingsPageTest', 'UMALoggingTestsPart4', function() {
settings_site_settings_page.registerUMALoggingTestsPart4();
mocha.run();
});
/**
* Test fixture for
* chrome/browser/resources/settings/privacy_page/
......
......@@ -24,390 +24,343 @@ cr.define('settings_site_settings_page', function() {
page.remove();
});
test('LogCookiesClick', function() {
test('LogAllSiteSettingsPageClicks', async function() {
page.$$('#all-sites').click();
let result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_ALL,
result);
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#cookies').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_COOKIES,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_COOKIES,
result);
});
});
test('LogLocationClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#location').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_LOCATION,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_LOCATION,
result);
});
});
test('LogCameraClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#camera').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_CAMERA,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_CAMERA,
result);
});
});
test('LogMicrophoneClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#microphone').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_MICROPHONE,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_MICROPHONE,
result);
});
});
test('LogSensorsClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#sensors').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_SENSORS,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_SENSORS,
result);
});
});
test('LogNotificationsClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#notifications').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_NOTIFICATIONS,
result);
});
});
});
}
// Split tests into 4 to prevent timeout.
function registerUMALoggingTestsPart2() {
suite('SiteSettingsPageUMACheckPart2', function() {
/** @type {settings.TestPrivacyPageBrowserProxy} */
let testBrowserProxy;
/** @type {SettingsSiteSettingsPageElement} */
let page;
setup(function() {
testBrowserProxy = new TestMetricsBrowserProxy();
settings.MetricsBrowserProxyImpl.instance_ = testBrowserProxy;
PolymerTest.clearBody();
page = document.createElement('settings-site-settings-page');
document.body.appendChild(page);
Polymer.dom.flush();
});
teardown(function() {
page.remove();
});
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
test('LogJavascriptClick', function() {
page.$$('#javascript').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_JAVASCRIPT,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_JAVASCRIPT,
result);
});
});
test('LogFlashClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#flash').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_FLASH,
result);
});
});
test('LogImagesClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#images').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_IMAGES,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_IMAGES,
result);
});
});
test('LogPopupsClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#popups').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_POPUPS,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_POPUPS,
result);
});
});
if (loadTimeData.getBoolean('enableSafeBrowsingSubresourceFilter')) {
test('LogAdsClick', function() {
page.$$('#ads').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
assertEquals(
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_ADS,
result);
});
});
}
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
test('LogBackgroundSyncClick', function() {
page.$$('#background-sync').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_BACKGROUND_SYNC,
result);
});
});
test('LogSoundClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#sound').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_SOUND,
result);
});
});
});
}
// Split tests into 4 to prevent timeout.
function registerUMALoggingTestsPart3() {
suite('SiteSettingsPageUMACheckPart3', function() {
/** @type {settings.TestPrivacyPageBrowserProxy} */
let testBrowserProxy;
/** @type {SettingsSiteSettingsPageElement} */
let page;
if (loadTimeData.getBoolean('enableSafeBrowsingSubresourceFilter')) {
settings.Router.getInstance().navigateTo(
settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
setup(function() {
testBrowserProxy = new TestMetricsBrowserProxy();
settings.MetricsBrowserProxyImpl.instance_ = testBrowserProxy;
PolymerTest.clearBody();
page = document.createElement('settings-site-settings-page');
document.body.appendChild(page);
Polymer.dom.flush();
});
page.$$('#ads').click();
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_ADS,
result);
}
teardown(function() {
page.remove();
});
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
test('LogAutomaticDownloadsClick', function() {
page.$$('#automatic-downloads').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_AUTOMATIC_DOWNLOADS,
result);
});
});
test('LogUnsandboxedPluginsClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#unsandboxed-plugins').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_UNSANDBOXED_PLUGINS,
result);
});
});
if (!loadTimeData.getBoolean('isGuest')) {
test('LogHandlersClick', function() {
settings.Router.getInstance().navigateTo(
settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#protocol-handlers').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_HANDLERS,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_HANDLERS,
result);
});
});
}
test('LogMidiDevicesClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#midi-devices').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_MIDI_DEVICES,
result);
});
});
test('LogZoomLevelsClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#zoom-levels').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_ZOOM_LEVELS,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_ZOOM_LEVELS,
result);
});
});
test('LogUSBDevicesClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#usb-devices').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_USB_DEVICES,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_USB_DEVICES,
result);
});
});
test('LogSerialPortsClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#serial-ports').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_SERIAL_PORTS,
result);
});
});
});
}
// Split tests into 4 to prevent timeout.
function registerUMALoggingTestsPart4() {
suite('SiteSettingsPageUMACheckPart4', function() {
/** @type {settings.TestPrivacyPageBrowserProxy} */
let testBrowserProxy;
/** @type {SettingsSiteSettingsPageElement} */
let page;
setup(function() {
testBrowserProxy = new TestMetricsBrowserProxy();
settings.MetricsBrowserProxyImpl.instance_ = testBrowserProxy;
PolymerTest.clearBody();
page = document.createElement('settings-site-settings-page');
document.body.appendChild(page);
Polymer.dom.flush();
});
teardown(function() {
page.remove();
});
if (loadTimeData.getBoolean(
'enableNativeFileSystemWriteContentSetting')) {
test('LogNativeFileSystemWriteClick', function() {
settings.Router.getInstance().navigateTo(
settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#native-file-system-write').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_NATIVE_FILE_SYSTEM_WRITE,
result);
});
});
}
test('LogPDFDocumentsClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#pdf-documents').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_PDF_DOCUMENTS,
result);
});
});
test('LogProtectedContentClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#protected-content').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_PROTECTED_CONTENT,
result);
});
});
test('LogClipboardClick', function() {
settings.Router.getInstance().navigateTo(settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#clipboard').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_CLIPBOARD,
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_CLIPBOARD,
result);
});
});
if (loadTimeData.getBoolean('enablePaymentHandlerContentSetting')) {
test('LogPaymentHandlerClick', function() {
settings.Router.getInstance().navigateTo(
settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#paymentHandler').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_PAYMENT_HANDLER,
result);
});
});
}
if (loadTimeData.getBoolean('enableInsecureContentContentSetting')) {
test('LogMixedscriptClick', function() {
settings.Router.getInstance().navigateTo(
settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#mixedscript').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_MIXEDSCRIPT,
result);
});
});
}
if (loadTimeData.getBoolean('enableExperimentalWebPlatformFeatures')) {
test('LogBluetoothScanningClick', function() {
settings.Router.getInstance().navigateTo(
settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#bluetooth-scanning').click();
return testBrowserProxy.whenCalled('recordSettingsPageHistogram')
.then(result => {
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions
.PRIVACY_SITE_SETTINGS_BLUETOOTH_SCANNING,
result);
});
});
}
if (loadTimeData.getBoolean('enableWebXrContentSetting')) {
settings.Router.getInstance().navigateTo(
settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#ar').click();
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_AR,
result);
settings.Router.getInstance().navigateTo(
settings.routes.SITE_SETTINGS);
testBrowserProxy.reset();
page.$$('#vr').click();
result =
await testBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(
settings.SettingsPageInteractions.PRIVACY_SITE_SETTINGS_VR,
result);
}
});
});
}
return {
registerUMALoggingTests,
registerUMALoggingTestsPart2,
registerUMALoggingTestsPart3,
registerUMALoggingTestsPart4,
};
});
\ No newline at end of file
......@@ -58299,6 +58299,9 @@ Called by update_net_trust_anchors.py.-->
<int value="36" label="PRIVACY_SITE_SETTINGS_PAYMENT_HANDLER"/>
<int value="37" label="PRIVACY_SITE_SETTINGS_MIXEDSCRIPT"/>
<int value="38" label="PRIVACY_SITE_SETTINGS_BLUETOOTH_SCANNING"/>
<int value="39" label="PRIVACY_SITE_SETTINGS_ALL"/>
<int value="40" label="PRIVACY_SITE_SETTINGS_AR"/>
<int value="41" label="PRIVACY_SITE_SETTINGS_VR"/>
</enum>
<enum name="SettingsResetPromptConfigError">
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