| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 cr.define('options', function() { | 5 cr.define('options', function() { |
| 6 var OptionsPage = options.OptionsPage; | 6 var OptionsPage = options.OptionsPage; |
| 7 var ArrayDataModel = cr.ui.ArrayDataModel; | 7 var ArrayDataModel = cr.ui.ArrayDataModel; |
| 8 var RepeatingButton = cr.ui.RepeatingButton; | 8 var RepeatingButton = cr.ui.RepeatingButton; |
| 9 | 9 |
| 10 // | 10 // |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 OptionsPage.prototype.initializePage.call(this); | 59 OptionsPage.prototype.initializePage.call(this); |
| 60 var self = this; | 60 var self = this; |
| 61 | 61 |
| 62 window.addEventListener('message', this.handleWindowMessage_.bind(this)); | 62 window.addEventListener('message', this.handleWindowMessage_.bind(this)); |
| 63 | 63 |
| 64 $('advanced-settings-expander').onclick = | 64 $('advanced-settings-expander').onclick = |
| 65 this.toggleAdvancedSettings_.bind(this); | 65 this.toggleAdvancedSettings_.bind(this); |
| 66 $('advanced-settings').addEventListener('webkitTransitionEnd', | 66 $('advanced-settings').addEventListener('webkitTransitionEnd', |
| 67 this.advancedSettingsTransitionEnded_.bind(this)); | 67 this.advancedSettingsTransitionEnded_.bind(this)); |
| 68 | 68 |
| 69 AccountsOptions.applyGuestModeVisibility(document); |
| 70 |
| 69 // Sync (Sign in) section. | 71 // Sync (Sign in) section. |
| 70 this.updateSyncState_(templateData.syncData); | 72 this.updateSyncState_(templateData.syncData); |
| 71 | 73 |
| 72 $('sync-action-link').onclick = function(event) { | 74 $('sync-action-link').onclick = function(event) { |
| 73 SyncSetupOverlay.showErrorUI(); | 75 SyncSetupOverlay.showErrorUI(); |
| 74 }; | 76 }; |
| 75 $('start-stop-sync').onclick = function(event) { | 77 $('start-stop-sync').onclick = function(event) { |
| 76 if (self.syncSetupCompleted) | 78 if (self.syncSetupCompleted) |
| 77 SyncSetupOverlay.showStopSyncingUI(); | 79 SyncSetupOverlay.showStopSyncingUI(); |
| 78 else | 80 else |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 if (selectedProfile) | 199 if (selectedProfile) |
| 198 ManageProfileOverlay.showManageDialog(selectedProfile); | 200 ManageProfileOverlay.showManageDialog(selectedProfile); |
| 199 }; | 201 }; |
| 200 $('profiles-delete').onclick = function(event) { | 202 $('profiles-delete').onclick = function(event) { |
| 201 var selectedProfile = self.getSelectedProfileItem_(); | 203 var selectedProfile = self.getSelectedProfileItem_(); |
| 202 if (selectedProfile) | 204 if (selectedProfile) |
| 203 ManageProfileOverlay.showDeleteDialog(selectedProfile); | 205 ManageProfileOverlay.showDeleteDialog(selectedProfile); |
| 204 }; | 206 }; |
| 205 | 207 |
| 206 if (cr.isChromeOS) { | 208 if (cr.isChromeOS) { |
| 209 if (!AccountsOptions.loggedInAsGuest()) { |
| 210 $('account-picture-wrapper').onclick = function(event) { |
| 211 OptionsPage.navigateToPage('changePicture'); |
| 212 }; |
| 213 } |
| 214 |
| 207 // Username (canonical email) of the currently logged in user or | 215 // Username (canonical email) of the currently logged in user or |
| 208 // |kGuestUser| if a guest session is active. | 216 // |kGuestUser| if a guest session is active. |
| 209 this.username_ = localStrings.getString('username'); | 217 this.username_ = localStrings.getString('username'); |
| 210 | 218 |
| 211 this.updateAccountPicture_(); | 219 this.updateAccountPicture_(); |
| 212 | 220 |
| 213 if (cr.commandLine && cr.commandLine.options['--bwsi']) { | |
| 214 // Disable the screen lock checkbox in guest mode. | |
| 215 $('enable-screen-lock').disabled = true; | |
| 216 | |
| 217 // Hide the startup section in Guest mode. | |
| 218 $('startup-section').hidden = true; | |
| 219 } else { | |
| 220 $('account-picture-wrapper').onclick = function(event) { | |
| 221 OptionsPage.navigateToPage('changePicture'); | |
| 222 }; | |
| 223 } | |
| 224 | |
| 225 $('manage-accounts-button').onclick = function(event) { | 221 $('manage-accounts-button').onclick = function(event) { |
| 226 OptionsPage.navigateToPage('accounts'); | 222 OptionsPage.navigateToPage('accounts'); |
| 227 chrome.send('coreOptionsUserMetricsAction', | 223 chrome.send('coreOptionsUserMetricsAction', |
| 228 ['Options_ManageAccounts']); | 224 ['Options_ManageAccounts']); |
| 229 }; | 225 }; |
| 230 } else { | 226 } else { |
| 231 $('import-data').onclick = function(event) { | 227 $('import-data').onclick = function(event) { |
| 232 ImportDataOverlay.show(); | 228 ImportDataOverlay.show(); |
| 233 chrome.send('coreOptionsUserMetricsAction', ['Import_ShowDlg']); | 229 chrome.send('coreOptionsUserMetricsAction', ['Import_ShowDlg']); |
| 234 }; | 230 }; |
| 235 | 231 |
| 236 if ($('themes-GTK-button')) { | 232 if ($('themes-GTK-button')) { |
| 237 $('themes-GTK-button').onclick = function(event) { | 233 $('themes-GTK-button').onclick = function(event) { |
| 238 chrome.send('themesSetGTK'); | 234 chrome.send('themesSetGTK'); |
| 239 }; | 235 }; |
| 240 } | 236 } |
| 241 } | 237 } |
| 242 | 238 |
| 243 // Default browser section. | 239 // Default browser section. |
| 244 if (!cr.isChromeOS) { | 240 if (!cr.isChromeOS) { |
| 245 $('set-as-default-browser').onclick = function(event) { | 241 $('set-as-default-browser').onclick = function(event) { |
| 246 chrome.send('becomeDefaultBrowser'); | 242 chrome.send('becomeDefaultBrowser'); |
| 247 }; | 243 }; |
| 248 | 244 |
| 249 $('auto-launch').onclick = this.handleAutoLaunchChanged_; | 245 $('auto-launch').onclick = this.handleAutoLaunchChanged_; |
| 250 } | 246 } |
| 251 | 247 |
| 252 // Date and time section (CrOS only). | |
| 253 if (cr.isChromeOS && AccountsOptions.loggedInAsGuest()) { | |
| 254 // Disable time-related settings if we're not logged in as a real user. | |
| 255 $('timezone-select').disabled = true; | |
| 256 $('use-24hour-clock').disabled = true; | |
| 257 } | |
| 258 | |
| 259 // Privacy section. | 248 // Privacy section. |
| 260 $('privacyContentSettingsButton').onclick = function(event) { | 249 $('privacyContentSettingsButton').onclick = function(event) { |
| 261 OptionsPage.navigateToPage('content'); | 250 OptionsPage.navigateToPage('content'); |
| 262 OptionsPage.showTab($('cookies-nav-tab')); | 251 OptionsPage.showTab($('cookies-nav-tab')); |
| 263 chrome.send('coreOptionsUserMetricsAction', | 252 chrome.send('coreOptionsUserMetricsAction', |
| 264 ['Options_ContentSettings']); | 253 ['Options_ContentSettings']); |
| 265 }; | 254 }; |
| 266 $('privacyClearDataButton').onclick = function(event) { | 255 $('privacyClearDataButton').onclick = function(event) { |
| 267 OptionsPage.navigateToPage('clearBrowserData'); | 256 OptionsPage.navigateToPage('clearBrowserData'); |
| 268 chrome.send('coreOptionsUserMetricsAction', ['Options_ClearData']); | 257 chrome.send('coreOptionsUserMetricsAction', ['Options_ClearData']); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 OptionsPage.navigateToPage('autofill'); | 304 OptionsPage.navigateToPage('autofill'); |
| 316 chrome.send('coreOptionsUserMetricsAction', | 305 chrome.send('coreOptionsUserMetricsAction', |
| 317 ['Options_ShowAutofillSettings']); | 306 ['Options_ShowAutofillSettings']); |
| 318 }; | 307 }; |
| 319 $('manage-passwords').onclick = function(event) { | 308 $('manage-passwords').onclick = function(event) { |
| 320 OptionsPage.navigateToPage('passwords'); | 309 OptionsPage.navigateToPage('passwords'); |
| 321 OptionsPage.showTab($('passwords-nav-tab')); | 310 OptionsPage.showTab($('passwords-nav-tab')); |
| 322 chrome.send('coreOptionsUserMetricsAction', | 311 chrome.send('coreOptionsUserMetricsAction', |
| 323 ['Options_ShowPasswordManager']); | 312 ['Options_ShowPasswordManager']); |
| 324 }; | 313 }; |
| 325 if (this.guestModeActive_()) { | 314 if (cr.isChromeOS && AccountsOptions.loggedInAsGuest()) { |
| 326 // Disable and turn off Autofill in guest mode. | 315 // Disable and turn off Autofill in guest mode. |
| 327 var autofillEnabled = $('autofill-enabled'); | 316 var autofillEnabled = $('autofill-enabled'); |
| 328 autofillEnabled.disabled = true; | 317 autofillEnabled.disabled = true; |
| 329 autofillEnabled.checked = false; | 318 autofillEnabled.checked = false; |
| 330 cr.dispatchSimpleEvent(autofillEnabled, 'change'); | 319 cr.dispatchSimpleEvent(autofillEnabled, 'change'); |
| 331 $('autofill-settings').disabled = true; | 320 $('autofill-settings').disabled = true; |
| 332 | 321 |
| 333 // Disable and turn off Password Manager in guest mode. | 322 // Disable and turn off Password Manager in guest mode. |
| 334 var passwordManagerEnabled = $('password-manager-enabled'); | 323 var passwordManagerEnabled = $('password-manager-enabled'); |
| 335 passwordManagerEnabled.disabled = true; | 324 passwordManagerEnabled.disabled = true; |
| 336 passwordManagerEnabled.checked = false; | 325 passwordManagerEnabled.checked = false; |
| 337 cr.dispatchSimpleEvent(passwordManagerEnabled, 'change'); | 326 cr.dispatchSimpleEvent(passwordManagerEnabled, 'change'); |
| 338 $('manage-passwords').disabled = true; | 327 $('manage-passwords').disabled = true; |
| 339 | |
| 340 // Hide the entire section on ChromeOS | |
| 341 if (cr.isChromeOS) | |
| 342 $('passwords-and-autofill-section').hidden = true; | |
| 343 } | 328 } |
| 344 | 329 |
| 345 if (cr.isMac) { | 330 if (cr.isMac) { |
| 346 $('mac-passwords-warning').hidden = | 331 $('mac-passwords-warning').hidden = |
| 347 !(localStrings.getString('macPasswordsWarning')); | 332 !(localStrings.getString('macPasswordsWarning')); |
| 348 } | 333 } |
| 349 | 334 |
| 350 // Network section. | 335 // Network section. |
| 351 if (!cr.isChromeOS) { | 336 if (!cr.isChromeOS) { |
| 352 $('proxiesConfigureButton').onclick = function(event) { | 337 $('proxiesConfigureButton').onclick = function(event) { |
| (...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 959 * @private | 944 * @private |
| 960 */ | 945 */ |
| 961 setMetricsReportingSettingVisibility_: function(visible) { | 946 setMetricsReportingSettingVisibility_: function(visible) { |
| 962 if (visible) | 947 if (visible) |
| 963 $('metricsReportingSetting').style.display = 'block'; | 948 $('metricsReportingSetting').style.display = 'block'; |
| 964 else | 949 else |
| 965 $('metricsReportingSetting').style.display = 'none'; | 950 $('metricsReportingSetting').style.display = 'none'; |
| 966 }, | 951 }, |
| 967 | 952 |
| 968 /** | 953 /** |
| 969 * Returns whether the browser in guest mode. Some features are disabled or | |
| 970 * hidden in guest mode. | |
| 971 * @return {boolean} True if guest mode is currently active. | |
| 972 * @private | |
| 973 */ | |
| 974 guestModeActive_: function() { | |
| 975 return cr.commandLine && cr.commandLine.options['--bwsi']; | |
| 976 }, | |
| 977 | |
| 978 /** | |
| 979 * Set the font size selected item. | 954 * Set the font size selected item. |
| 980 * @private | 955 * @private |
| 981 */ | 956 */ |
| 982 setFontSize_: function(font_size_value) { | 957 setFontSize_: function(font_size_value) { |
| 983 var selectCtl = $('defaultFontSize'); | 958 var selectCtl = $('defaultFontSize'); |
| 984 for (var i = 0; i < selectCtl.options.length; i++) { | 959 for (var i = 0; i < selectCtl.options.length; i++) { |
| 985 if (selectCtl.options[i].value == font_size_value) { | 960 if (selectCtl.options[i].value == font_size_value) { |
| 986 selectCtl.selectedIndex = i; | 961 selectCtl.selectedIndex = i; |
| 987 if ($('Custom')) | 962 if ($('Custom')) |
| 988 selectCtl.remove($('Custom').index); | 963 selectCtl.remove($('Custom').index); |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1222 if ('cookies' in dict && 'value' in dict['cookies']) | 1197 if ('cookies' in dict && 'value' in dict['cookies']) |
| 1223 this.sessionOnlyCookies_ = dict['cookies']['value'] == 'session'; | 1198 this.sessionOnlyCookies_ = dict['cookies']['value'] == 'session'; |
| 1224 } | 1199 } |
| 1225 | 1200 |
| 1226 }; | 1201 }; |
| 1227 | 1202 |
| 1228 //Forward public APIs to private implementations. | 1203 //Forward public APIs to private implementations. |
| 1229 [ | 1204 [ |
| 1230 'addBluetoothDevice', | 1205 'addBluetoothDevice', |
| 1231 'getStartStopSyncButton', | 1206 'getStartStopSyncButton', |
| 1232 'guestModeActive', | |
| 1233 'hideBluetoothSettings', | 1207 'hideBluetoothSettings', |
| 1234 'removeCloudPrintConnectorSection', | 1208 'removeCloudPrintConnectorSection', |
| 1235 'removeBluetoothDevice', | 1209 'removeBluetoothDevice', |
| 1236 'setAutoOpenFileTypesDisabledAttribute', | 1210 'setAutoOpenFileTypesDisabledAttribute', |
| 1237 'setBackgroundModeCheckboxState', | 1211 'setBackgroundModeCheckboxState', |
| 1238 'setBluetoothState', | 1212 'setBluetoothState', |
| 1239 'setCheckRevocationCheckboxState', | 1213 'setCheckRevocationCheckboxState', |
| 1240 'setContentFilterSettingsValue', | 1214 'setContentFilterSettingsValue', |
| 1241 'setFontSize', | 1215 'setFontSize', |
| 1242 'setGtkThemeButtonEnabled', | 1216 'setGtkThemeButtonEnabled', |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1277 BrowserOptions.getLoggedInUsername = function() { | 1251 BrowserOptions.getLoggedInUsername = function() { |
| 1278 return BrowserOptions.getInstance().username_; | 1252 return BrowserOptions.getInstance().username_; |
| 1279 }; | 1253 }; |
| 1280 } | 1254 } |
| 1281 | 1255 |
| 1282 // Export | 1256 // Export |
| 1283 return { | 1257 return { |
| 1284 BrowserOptions: BrowserOptions | 1258 BrowserOptions: BrowserOptions |
| 1285 }; | 1259 }; |
| 1286 }); | 1260 }); |
| OLD | NEW |