Index: chrome/browser/resources/options/personal_options.js |
=================================================================== |
--- chrome/browser/resources/options/personal_options.js (revision 84868) |
+++ chrome/browser/resources/options/personal_options.js (working copy) |
@@ -1,246 +0,0 @@ |
-// Copyright (c) 2011 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. |
- |
-cr.define('options', function() { |
- |
- var OptionsPage = options.OptionsPage; |
- |
- // State variables. |
- var syncEnabled = false; |
- var syncSetupCompleted = false; |
- |
- /** |
- * Encapsulated handling of personal options page. |
- * @constructor |
- */ |
- function PersonalOptions() { |
- OptionsPage.call(this, 'personal', |
- templateData.personalPageTabTitle, |
- 'personal-page'); |
- } |
- |
- cr.addSingletonGetter(PersonalOptions); |
- |
- PersonalOptions.prototype = { |
- // Inherit PersonalOptions from OptionsPage. |
- __proto__: options.OptionsPage.prototype, |
- |
- // Initialize PersonalOptions page. |
- initializePage: function() { |
- // Call base class implementation to start preference initialization. |
- OptionsPage.prototype.initializePage.call(this); |
- |
- var self = this; |
- $('sync-action-link').onclick = function(event) { |
- chrome.send('showSyncActionDialog'); |
- }; |
- $('start-stop-sync').onclick = function(event) { |
- if (self.syncSetupCompleted) |
- self.showStopSyncingOverlay_(); |
- else |
- chrome.send('showSyncLoginDialog'); |
- }; |
- $('customize-sync').onclick = function(event) { |
- chrome.send('showCustomizeSyncDialog'); |
- }; |
- $('privacy-dashboard-link').onclick = function(event) { |
- chrome.send('openPrivacyDashboardTabAndActivate'); |
- }; |
- $('manage-passwords').onclick = function(event) { |
- OptionsPage.navigateToPage('passwords'); |
- OptionsPage.showTab($('passwords-nav-tab')); |
- chrome.send('coreOptionsUserMetricsAction', |
- ['Options_ShowPasswordManager']); |
- }; |
- $('autofill-settings').onclick = function(event) { |
- OptionsPage.navigateToPage('autofill'); |
- chrome.send('coreOptionsUserMetricsAction', |
- ['Options_ShowAutofillSettings']); |
- }; |
- $('themes-reset').onclick = function(event) { |
- chrome.send('themesReset'); |
- }; |
- |
- if (!cr.isChromeOS) { |
- $('import-data').onclick = function(event) { |
- OptionsPage.navigateToPage('importData'); |
- chrome.send('coreOptionsUserMetricsAction', ['Import_ShowDlg']); |
- }; |
- |
- if ($('themes-GTK-button')) { |
- $('themes-GTK-button').onclick = function(event) { |
- chrome.send('themesSetGTK'); |
- }; |
- } |
- } else { |
- $('change-picture-button').onclick = function(event) { |
- OptionsPage.navigateToPage('changePicture'); |
- }; |
- chrome.send('loadAccountPicture'); |
- } |
- |
- if (cr.commandLine.options['--bwsi']) { |
- // Disable the screen lock checkbox for the guest mode. |
- $('enable-screen-lock').disabled = true; |
- } |
- |
- if (PersonalOptions.disablePasswordManagement()) { |
- $('passwords-offersave').disabled = true; |
- $('passwords-neversave').disabled = true; |
- $('passwords-offersave').value = false; |
- $('passwords-neversave').value = true; |
- $('manage-passwords').disabled = true; |
- } |
- }, |
- |
- showStopSyncingOverlay_: function() { |
- AlertOverlay.show(localStrings.getString('stop_syncing_title'), |
- localStrings.getString('stop_syncing_explanation'), |
- localStrings.getString('stop_syncing_confirm'), |
- localStrings.getString('cancel'), |
- function() { chrome.send('stopSyncing'); }); |
- }, |
- |
- setElementVisible_: function(element, visible) { |
- element.hidden = !visible; |
- if (visible) |
- element.classList.remove('hidden'); |
- else |
- element.classList.add('hidden'); |
- }, |
- |
- setSyncEnabled_: function(enabled) { |
- this.syncEnabled = enabled; |
- }, |
- |
- setSyncSetupCompleted_: function(completed) { |
- this.syncSetupCompleted = completed; |
- this.setElementVisible_($('customize-sync'), completed); |
- $('privacy-dashboard-link').hidden = !completed; |
- }, |
- |
- setAccountPicture_: function(image) { |
- $('account-picture').src = image; |
- }, |
- |
- setSyncStatus_: function(status) { |
- var statusSet = status != ''; |
- $('sync-overview').hidden = statusSet; |
- $('sync-status').hidden = !statusSet; |
- $('sync-status-text').textContent = status; |
- }, |
- |
- setSyncStatusErrorVisible_: function(visible) { |
- visible ? $('sync-status').classList.add('sync-error') : |
- $('sync-status').classList.remove('sync-error'); |
- }, |
- |
- setSyncActionLinkEnabled_: function(enabled) { |
- $('sync-action-link').disabled = !enabled; |
- }, |
- |
- setSyncActionLinkLabel_: function(status) { |
- $('sync-action-link').textContent = status; |
- |
- // link-button does is not zero-area when the contents of the button are |
- // empty, so explicitly hide the element. |
- this.setElementVisible_($('sync-action-link'), status.length != 0); |
- }, |
- |
- setProfilesSectionVisible_: function(visible) { |
- this.setElementVisible_($('profiles-create'), visible); |
- }, |
- |
- setNewProfileButtonEnabled_: function(enabled) { |
- $('new-profile').disabled = !enabled; |
- if (enabled) |
- $('profiles-create').classList.remove('disabled'); |
- else |
- $('profiles-create').classList.add('disabled'); |
- }, |
- |
- setStartStopButtonVisible_: function(visible) { |
- this.setElementVisible_($('start-stop-sync'), visible); |
- }, |
- |
- setStartStopButtonEnabled_: function(enabled) { |
- $('start-stop-sync').disabled = !enabled; |
- }, |
- |
- setStartStopButtonLabel_: function(label) { |
- $('start-stop-sync').textContent = label; |
- }, |
- |
- setGtkThemeButtonEnabled_: function(enabled) { |
- if (!cr.isChromeOS && navigator.platform.match(/linux|BSD/i)) { |
- $('themes-GTK-button').disabled = !enabled; |
- } |
- }, |
- |
- setThemesResetButtonEnabled_: function(enabled) { |
- $('themes-reset').disabled = !enabled; |
- }, |
- |
- hideSyncSection_: function() { |
- this.setElementVisible_($('sync-section'), false); |
- }, |
- |
- /** |
- * Toggles the visibility of the data type checkboxes based on whether they |
- * are enabled on not. |
- * @param {Object} dict A mapping from data type to a boolean indicating |
- * whether it is enabled. |
- * @private |
- */ |
- setRegisteredDataTypes_: function(dict) { |
- for (var type in dict) { |
- if (type.match(/Registered$/) && !dict[type]) { |
- node = $(type.replace(/([a-z]+)Registered$/i, '$1').toLowerCase() |
- + '-check'); |
- if (node) |
- node.parentNode.style.display = 'none'; |
- } |
- } |
- }, |
- }; |
- |
- /** |
- * Returns whether the user should be able to manage (view and edit) their |
- * stored passwords. Password management is disabled in guest mode. |
- * @return {boolean} True if password management should be disabled. |
- */ |
- PersonalOptions.disablePasswordManagement = function() { |
- return cr.commandLine.options['--bwsi']; |
- }; |
- |
- // Forward public APIs to private implementations. |
- [ |
- 'setSyncEnabled', |
- 'setSyncSetupCompleted', |
- 'setAccountPicture', |
- 'setSyncStatus', |
- 'setSyncStatusErrorVisible', |
- 'setSyncActionLinkEnabled', |
- 'setSyncActionLinkLabel', |
- 'setProfilesSectionVisible', |
- 'setNewProfileButtonEnabled', |
- 'setStartStopButtonVisible', |
- 'setStartStopButtonEnabled', |
- 'setStartStopButtonLabel', |
- 'setGtkThemeButtonEnabled', |
- 'setThemesResetButtonEnabled', |
- 'hideSyncSection', |
- 'setRegisteredDataTypes', |
- ].forEach(function(name) { |
- PersonalOptions[name] = function(value) { |
- PersonalOptions.getInstance()[name + '_'](value); |
- }; |
- }); |
- |
- // Export |
- return { |
- PersonalOptions: PersonalOptions |
- }; |
- |
-}); |