summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/resources/settings/privacy_page/privacy_page.js
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/resources/settings/privacy_page/privacy_page.js')
-rw-r--r--chromium/chrome/browser/resources/settings/privacy_page/privacy_page.js439
1 files changed, 0 insertions, 439 deletions
diff --git a/chromium/chrome/browser/resources/settings/privacy_page/privacy_page.js b/chromium/chrome/browser/resources/settings/privacy_page/privacy_page.js
deleted file mode 100644
index a7b63fd525e..00000000000
--- a/chromium/chrome/browser/resources/settings/privacy_page/privacy_page.js
+++ /dev/null
@@ -1,439 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-/**
- * @typedef {{
- * enabled: boolean,
- * pref: !chrome.settingsPrivate.PrefObject
- * }}
- */
-let BlockAutoplayStatus;
-
-/**
- * @fileoverview
- * 'settings-privacy-page' is the settings page containing privacy and
- * security settings.
- */
-(function() {
-
-/**
- * Must be kept in sync with the C++ enum of the same name.
- * @enum {number}
- */
-const NetworkPredictionOptions = {
- ALWAYS: 0,
- WIFI_ONLY: 1,
- NEVER: 2,
- DEFAULT: 1,
-};
-
-Polymer({
- is: 'settings-privacy-page',
-
- behaviors: [
- settings.RouteObserverBehavior,
- I18nBehavior,
- WebUIListenerBehavior,
- ],
-
- properties: {
- /**
- * Preferences state.
- */
- prefs: {
- type: Object,
- notify: true,
- },
-
- /**
- * The current sync status, supplied by SyncBrowserProxy.
- * @type {?settings.SyncStatus}
- */
- syncStatus: Object,
-
- /**
- * Dictionary defining page visibility.
- * @type {!PrivacyPageVisibility}
- */
- pageVisibility: Object,
-
- /** @private */
- isGuest_: {
- type: Boolean,
- value: function() {
- return loadTimeData.getBoolean('isGuest');
- }
- },
-
- /** @private */
- showClearBrowsingDataDialog_: Boolean,
-
- /** @private */
- showDoNotTrackDialog_: {
- type: Boolean,
- value: false,
- },
-
- /**
- * Used for HTML bindings. This is defined as a property rather than within
- * the ready callback, because the value needs to be available before
- * local DOM initialization - otherwise, the toggle has unexpected behavior.
- * @private
- */
- networkPredictionUncheckedValue_: {
- type: Number,
- value: NetworkPredictionOptions.NEVER,
- },
-
- /** @private */
- enableSafeBrowsingSubresourceFilter_: {
- type: Boolean,
- value: function() {
- return loadTimeData.getBoolean('enableSafeBrowsingSubresourceFilter');
- }
- },
-
- /** @private */
- enableBlockAutoplayContentSetting_: {
- type: Boolean,
- value: function() {
- return loadTimeData.getBoolean('enableBlockAutoplayContentSetting');
- }
- },
-
- /** @private {BlockAutoplayStatus} */
- blockAutoplayStatus_: {
- type: Object,
- value: function() {
- return /** @type {BlockAutoplayStatus} */ ({});
- }
- },
-
- /** @private */
- enablePaymentHandlerContentSetting_: {
- type: Boolean,
- value: function() {
- return loadTimeData.getBoolean('enablePaymentHandlerContentSetting');
- }
- },
-
- /** @private */
- enableExperimentalWebPlatformFeatures_: {
- type: Boolean,
- value: function() {
- return loadTimeData.getBoolean('enableExperimentalWebPlatformFeatures');
- },
- },
-
- /** @private */
- enableSecurityKeysSubpage_: {
- type: Boolean,
- readOnly: true,
- value: function() {
- return loadTimeData.getBoolean('enableSecurityKeysSubpage');
- }
- },
-
- /** @private */
- enableInsecureContentContentSetting_: {
- type: Boolean,
- value: function() {
- return loadTimeData.getBoolean('enableInsecureContentContentSetting');
- }
- },
-
- /** @private */
- enableNativeFileSystemWriteContentSetting_: {
- type: Boolean,
- value: function() {
- return loadTimeData.getBoolean(
- 'enableNativeFileSystemWriteContentSetting');
- }
- },
-
- /** @private {!Map<string, string>} */
- focusConfig_: {
- type: Object,
- value: function() {
- const map = new Map();
- // <if expr="use_nss_certs">
- if (settings.routes.CERTIFICATES) {
- map.set(settings.routes.CERTIFICATES.path, '#manageCertificates');
- }
- // </if>
- if (settings.routes.SITE_SETTINGS) {
- map.set(
- settings.routes.SITE_SETTINGS.path,
- '#site-settings-subpage-trigger');
- }
-
- if (settings.routes.SITE_SETTINGS_SITE_DATA) {
- map.set(
- settings.routes.SITE_SETTINGS_SITE_DATA.path,
- '#site-data-trigger');
- }
-
- if (settings.routes.SECURITY_KEYS) {
- map.set(
- settings.routes.SECURITY_KEYS.path,
- '#security-keys-subpage-trigger');
- }
- return map;
- },
- },
-
- /**
- * This flag is used to conditionally show a set of sync UIs to the
- * profiles that have been migrated to have a unified consent flow.
- * TODO(tangltom): In the future when all profiles are completely migrated,
- * this should be removed, and UIs hidden behind it should become default.
- * @private
- */
- unifiedConsentEnabled_: {
- type: Boolean,
- value: function() {
- return loadTimeData.getBoolean('unifiedConsentEnabled');
- },
- },
-
- // <if expr="not chromeos">
- /** @private */
- showRestart_: Boolean,
- // </if>
-
- /** @private */
- showSignoutDialog_: Boolean,
-
- /** @private */
- searchFilter_: String,
- },
-
- /** @override */
- ready: function() {
- this.ContentSettingsTypes = settings.ContentSettingsTypes;
- this.ChooserType = settings.ChooserType;
-
- this.browserProxy_ = settings.PrivacyPageBrowserProxyImpl.getInstance();
-
- this.onBlockAutoplayStatusChanged_({
- pref: /** @type {chrome.settingsPrivate.PrefObject} */ ({value: false}),
- enabled: false
- });
-
- this.addWebUIListener(
- 'onBlockAutoplayStatusChanged',
- this.onBlockAutoplayStatusChanged_.bind(this));
-
- settings.SyncBrowserProxyImpl.getInstance().getSyncStatus().then(
- this.handleSyncStatus_.bind(this));
- this.addWebUIListener(
- 'sync-status-changed', this.handleSyncStatus_.bind(this));
- },
-
- /**
- * Handler for when the sync state is pushed from the browser.
- * @param {?settings.SyncStatus} syncStatus
- * @private
- */
- handleSyncStatus_: function(syncStatus) {
- this.syncStatus = syncStatus;
- },
-
- /** @protected */
- currentRouteChanged: function() {
- this.showClearBrowsingDataDialog_ =
- settings.getCurrentRoute() == settings.routes.CLEAR_BROWSER_DATA;
- },
-
- /**
- * @param {!Event} event
- * @private
- */
- onDoNotTrackDomChange_: function(event) {
- if (this.showDoNotTrackDialog_) {
- this.maybeShowDoNotTrackDialog_();
- }
- },
-
- /**
- * Called when the block autoplay status changes.
- * @param {BlockAutoplayStatus} autoplayStatus
- * @private
- */
- onBlockAutoplayStatusChanged_: function(autoplayStatus) {
- this.blockAutoplayStatus_ = autoplayStatus;
- },
-
- /**
- * Updates the block autoplay pref when the toggle is changed.
- * @param {!Event} event
- * @private
- */
- onBlockAutoplayToggleChange_: function(event) {
- const target = /** @type {!SettingsToggleButtonElement} */ (event.target);
- this.browserProxy_.setBlockAutoplayEnabled(target.checked);
- },
-
- /**
- * Handles the change event for the do-not-track toggle. Shows a
- * confirmation dialog when enabling the setting.
- * @param {!Event} event
- * @private
- */
- onDoNotTrackChange_: function(event) {
- const target = /** @type {!SettingsToggleButtonElement} */ (event.target);
- if (!target.checked) {
- // Always allow disabling the pref.
- target.sendPrefChange();
- return;
- }
- this.showDoNotTrackDialog_ = true;
- // If the dialog has already been stamped, show it. Otherwise it will be
- // shown in onDomChange_.
- this.maybeShowDoNotTrackDialog_();
- },
-
- /** @private */
- maybeShowDoNotTrackDialog_: function() {
- const dialog = this.$$('#confirmDoNotTrackDialog');
- if (dialog && !dialog.open) {
- dialog.showModal();
- }
- },
-
- /** @private */
- closeDoNotTrackDialog_: function() {
- this.$$('#confirmDoNotTrackDialog').close();
- this.showDoNotTrackDialog_ = false;
- },
-
- /** @private */
- onDoNotTrackDialogClosed_: function() {
- cr.ui.focusWithoutInk(this.$.doNotTrack);
- },
-
- /**
- * Handles the shared proxy confirmation dialog 'Confirm' button.
- * @private
- */
- onDoNotTrackDialogConfirm_: function() {
- /** @type {!SettingsToggleButtonElement} */ (this.$.doNotTrack)
- .sendPrefChange();
- this.closeDoNotTrackDialog_();
- },
-
- /**
- * Handles the shared proxy confirmation dialog 'Cancel' button or a cancel
- * event.
- * @private
- */
- onDoNotTrackDialogCancel_: function() {
- /** @type {!SettingsToggleButtonElement} */ (this.$.doNotTrack)
- .resetToPrefValue();
- this.closeDoNotTrackDialog_();
- },
-
- /** @private */
- onManageCertificatesTap_: function() {
- // <if expr="use_nss_certs">
- settings.navigateTo(settings.routes.CERTIFICATES);
- // </if>
- // <if expr="is_win or is_macosx">
- this.browserProxy_.showManageSSLCertificates();
- // </if>
- },
-
- /** @private */
- onSyncAndGoogleServicesClick_: function() {
- // Navigate to sync page, and remove (privacy related) search text to
- // avoid the sync page from being hidden.
- settings.navigateTo(settings.routes.SYNC, null, true);
- },
-
- /**
- * This is a workaround to connect the remove all button to the subpage.
- * @private
- */
- onRemoveAllCookiesFromSite_: function() {
- const node = /** @type {?SiteDataDetailsSubpageElement} */ (
- this.$$('site-data-details-subpage'));
- if (node) {
- node.removeAll();
- }
- },
-
- /** @private */
- onSiteDataTap_: function() {
- settings.navigateTo(settings.routes.SITE_SETTINGS_SITE_DATA);
- },
-
- /** @private */
- onSiteSettingsTap_: function() {
- settings.navigateTo(settings.routes.SITE_SETTINGS);
- },
-
- /** @private */
- onClearBrowsingDataTap_: function() {
- settings.navigateTo(settings.routes.CLEAR_BROWSER_DATA);
- },
-
- /** @private */
- onDialogClosed_: function() {
- settings.navigateTo(settings.routes.CLEAR_BROWSER_DATA.parent);
- cr.ui.focusWithoutInk(assert(this.$.clearBrowsingData));
- },
-
- /** @private */
- onSecurityKeysTap_: function() {
- settings.navigateTo(settings.routes.SECURITY_KEYS);
- },
-
- /** @private */
- getProtectedContentLabel_: function(value) {
- return value ? this.i18n('siteSettingsProtectedContentEnable') :
- this.i18n('siteSettingsBlocked');
- },
-
- /** @private */
- getProtectedContentIdentifiersLabel_: function(value) {
- return value ? this.i18n('siteSettingsProtectedContentEnableIdentifiers') :
- this.i18n('siteSettingsBlocked');
- },
-
- /** @private */
- onSigninAllowedChange_: function() {
- if (this.syncStatus.signedIn && !this.$.signinAllowedToggle.checked) {
- // Switch the toggle back on and show the signout dialog.
- this.$.signinAllowedToggle.checked = true;
- this.showSignoutDialog_ = true;
- } else {
- /** @type {!SettingsToggleButtonElement} */ (this.$.signinAllowedToggle)
- .sendPrefChange();
- this.showRestart_ = true;
- }
- },
-
- /** @private */
- onSignoutDialogClosed_: function() {
- if (/** @type {!SettingsSignoutDialogElement} */ (
- this.$$('settings-signout-dialog'))
- .wasConfirmed()) {
- this.$.signinAllowedToggle.checked = false;
- /** @type {!SettingsToggleButtonElement} */ (this.$.signinAllowedToggle)
- .sendPrefChange();
- this.showRestart_ = true;
- }
- this.showSignoutDialog_ = false;
- },
-
- /**
- * @param {!Event} e
- * @private
- */
- onRestartTap_: function(e) {
- e.stopPropagation();
- settings.LifetimeBrowserProxyImpl.getInstance().restart();
- },
-});
-})();