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.exportPath('options'); |
| 6 |
| 7 /** |
| 8 * The user's selection in the synced data type drop-down menu, as an index. |
| 9 * @enum {number} |
| 10 * @const |
| 11 */ |
| 12 options.DataTypeSelection = { |
| 13 SYNC_EVERYTHING: 0, |
| 14 CHOOSE_WHAT_TO_SYNC: 1, |
| 15 SYNC_NOTHING: 2 |
| 16 }; |
| 17 |
5 cr.define('options', function() { | 18 cr.define('options', function() { |
6 /** @const */ var Page = cr.ui.pageManager.Page; | 19 /** @const */ var Page = cr.ui.pageManager.Page; |
7 /** @const */ var PageManager = cr.ui.pageManager.PageManager; | 20 /** @const */ var PageManager = cr.ui.pageManager.PageManager; |
8 | 21 |
9 // True if the synced account uses a custom passphrase. | 22 // True if the synced account uses a custom passphrase. |
10 var usePassphrase_ = false; | 23 var usePassphrase_ = false; |
11 | 24 |
12 // True if the synced account uses 'encrypt everything'. | 25 // True if the synced account uses 'encrypt everything'. |
13 var useEncryptEverything_ = false; | 26 var useEncryptEverything_ = false; |
14 | 27 |
(...skipping 17 matching lines...) Expand all Loading... |
32 // Initialized when the advanced settings dialog is first brought up, and | 45 // Initialized when the advanced settings dialog is first brought up, and |
33 // reset when the dialog is closed. | 46 // reset when the dialog is closed. |
34 var dataTypeBoxesDisabled_ = {}; | 47 var dataTypeBoxesDisabled_ = {}; |
35 | 48 |
36 // Used to determine whether to bring the OK button / passphrase field into | 49 // Used to determine whether to bring the OK button / passphrase field into |
37 // focus. | 50 // focus. |
38 var confirmPageVisible_ = false; | 51 var confirmPageVisible_ = false; |
39 var customizePageVisible_ = false; | 52 var customizePageVisible_ = false; |
40 | 53 |
41 /** | 54 /** |
42 * The user's selection in the synced data type drop-down menu, as an index. | |
43 * @enum {number} | |
44 * @const | |
45 */ | |
46 var DataTypeSelection = { | |
47 SYNC_EVERYTHING: 0, | |
48 CHOOSE_WHAT_TO_SYNC: 1, | |
49 SYNC_NOTHING: 2 | |
50 }; | |
51 | |
52 /** | |
53 * SyncSetupOverlay class | 55 * SyncSetupOverlay class |
54 * Encapsulated handling of the 'Sync Setup' overlay page. | 56 * Encapsulated handling of the 'Sync Setup' overlay page. |
55 * @class | 57 * @class |
56 */ | 58 */ |
57 function SyncSetupOverlay() { | 59 function SyncSetupOverlay() { |
58 Page.call(this, 'syncSetup', | 60 Page.call(this, 'syncSetup', |
59 loadTimeData.getString('syncSetupOverlayTabTitle'), | 61 loadTimeData.getString('syncSetupOverlayTabTitle'), |
60 'sync-setup-overlay'); | 62 'sync-setup-overlay'); |
61 } | 63 } |
62 | 64 |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 * advanced sync settings dialog. Called when "Choose what to sync" is | 149 * advanced sync settings dialog. Called when "Choose what to sync" is |
148 * selected. Required because all the checkboxes are checked when | 150 * selected. Required because all the checkboxes are checked when |
149 * "Sync everything" is selected, and unchecked when "Sync nothing" is | 151 * "Sync everything" is selected, and unchecked when "Sync nothing" is |
150 * selected. Note: We only restore checkboxes for data types that are | 152 * selected. Note: We only restore checkboxes for data types that are |
151 * actually visible and whose old values are found in the cache, since it's | 153 * actually visible and whose old values are found in the cache, since it's |
152 * possible for some data types to not be registered, and therefore, their | 154 * possible for some data types to not be registered, and therefore, their |
153 * checkboxes remain hidden, and never get cached. | 155 * checkboxes remain hidden, and never get cached. |
154 * @private | 156 * @private |
155 */ | 157 */ |
156 restoreDataTypeCheckboxes_: function() { | 158 restoreDataTypeCheckboxes_: function() { |
157 for (dataType in dataTypeBoxesChecked_) { | 159 for (var dataType in dataTypeBoxesChecked_) { |
158 $(dataType).checked = dataTypeBoxesChecked_[dataType]; | 160 $(dataType).checked = dataTypeBoxesChecked_[dataType]; |
159 } | 161 } |
160 }, | 162 }, |
161 | 163 |
162 /** | 164 /** |
163 * Enables / grays out the sync data type checkboxes in the advanced | 165 * Enables / grays out the sync data type checkboxes in the advanced |
164 * settings dialog. | 166 * settings dialog. |
165 * @param {boolean} enabled True for enabled, false for grayed out. | 167 * @param {boolean} enabled True for enabled, false for grayed out. |
166 * @private | 168 * @private |
167 */ | 169 */ |
168 setDataTypeCheckboxesEnabled_: function(enabled) { | 170 setDataTypeCheckboxesEnabled_: function(enabled) { |
169 for (dataType in dataTypeBoxesDisabled_) { | 171 for (dataType in dataTypeBoxesDisabled_) { |
170 $(dataType).disabled = !enabled || dataTypeBoxesDisabled_[dataType]; | 172 $(dataType).disabled = !enabled || dataTypeBoxesDisabled_[dataType]; |
171 } | 173 } |
172 }, | 174 }, |
173 | 175 |
174 /** | 176 /** |
175 * Sets the state of the sync data type checkboxes based on whether "Sync | 177 * Sets the state of the sync data type checkboxes based on whether "Sync |
176 * everything", "Choose what to sync", or "Sync nothing" are selected in the | 178 * everything", "Choose what to sync", or "Sync nothing" are selected in the |
177 * drop-down menu of the advanced settings dialog. | 179 * drop-down menu of the advanced settings dialog. |
178 * @param {cr.DataTypeSelection} selectedIndex Index of user's selection. | 180 * @param {options.DataTypeSelection} selectedIndex Index of user's |
| 181 * selection. |
179 * @private | 182 * @private |
180 */ | 183 */ |
181 setDataTypeCheckboxes_: function(selectedIndex) { | 184 setDataTypeCheckboxes_: function(selectedIndex) { |
182 if (selectedIndex == DataTypeSelection.CHOOSE_WHAT_TO_SYNC) { | 185 if (selectedIndex == options.DataTypeSelection.CHOOSE_WHAT_TO_SYNC) { |
183 this.setDataTypeCheckboxesEnabled_(true); | 186 this.setDataTypeCheckboxesEnabled_(true); |
184 this.restoreDataTypeCheckboxes_(); | 187 this.restoreDataTypeCheckboxes_(); |
185 } else { | 188 } else { |
186 this.setDataTypeCheckboxesEnabled_(false); | 189 this.setDataTypeCheckboxesEnabled_(false); |
187 this.checkAllDataTypeCheckboxes_(selectedIndex == | 190 this.checkAllDataTypeCheckboxes_( |
188 DataTypeSelection.SYNC_EVERYTHING); | 191 selectedIndex == options.DataTypeSelection.SYNC_EVERYTHING); |
189 } | 192 } |
190 }, | 193 }, |
191 | 194 |
192 checkPassphraseMatch_: function() { | 195 checkPassphraseMatch_: function() { |
193 var emptyError = $('empty-error'); | 196 var emptyError = $('empty-error'); |
194 var mismatchError = $('mismatch-error'); | 197 var mismatchError = $('mismatch-error'); |
195 emptyError.hidden = true; | 198 emptyError.hidden = true; |
196 mismatchError.hidden = true; | 199 mismatchError.hidden = true; |
197 | 200 |
198 var f = $('choose-data-types-form'); | 201 var f = $('choose-data-types-form'); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 // Don't allow the user to tweak the settings once we send the | 252 // Don't allow the user to tweak the settings once we send the |
250 // configuration to the backend. | 253 // configuration to the backend. |
251 this.setInputElementsDisabledState_(true); | 254 this.setInputElementsDisabledState_(true); |
252 $('use-default-link').hidden = true; | 255 $('use-default-link').hidden = true; |
253 $('use-default-link').disabled = true; | 256 $('use-default-link').disabled = true; |
254 $('use-default-link').onclick = null; | 257 $('use-default-link').onclick = null; |
255 | 258 |
256 // These values need to be kept in sync with where they are read in | 259 // These values need to be kept in sync with where they are read in |
257 // SyncSetupFlow::GetDataTypeChoiceData(). | 260 // SyncSetupFlow::GetDataTypeChoiceData(). |
258 var syncAll = $('sync-select-datatypes').selectedIndex == | 261 var syncAll = $('sync-select-datatypes').selectedIndex == |
259 DataTypeSelection.SYNC_EVERYTHING; | 262 options.DataTypeSelection.SYNC_EVERYTHING; |
260 var syncNothing = $('sync-select-datatypes').selectedIndex == | 263 var syncNothing = $('sync-select-datatypes').selectedIndex == |
261 DataTypeSelection.SYNC_NOTHING; | 264 options.DataTypeSelection.SYNC_NOTHING; |
262 var result = JSON.stringify({ | 265 var result = JSON.stringify({ |
263 'syncAllDataTypes': syncAll, | 266 'syncAllDataTypes': syncAll, |
264 'syncNothing': syncNothing, | 267 'syncNothing': syncNothing, |
265 'bookmarksSynced': syncAll || $('bookmarks-checkbox').checked, | 268 'bookmarksSynced': syncAll || $('bookmarks-checkbox').checked, |
266 'preferencesSynced': syncAll || $('preferences-checkbox').checked, | 269 'preferencesSynced': syncAll || $('preferences-checkbox').checked, |
267 'themesSynced': syncAll || $('themes-checkbox').checked, | 270 'themesSynced': syncAll || $('themes-checkbox').checked, |
268 'passwordsSynced': syncAll || $('passwords-checkbox').checked, | 271 'passwordsSynced': syncAll || $('passwords-checkbox').checked, |
269 'autofillSynced': syncAll || $('autofill-checkbox').checked, | 272 'autofillSynced': syncAll || $('autofill-checkbox').checked, |
270 'extensionsSynced': syncAll || $('extensions-checkbox').checked, | 273 'extensionsSynced': syncAll || $('extensions-checkbox').checked, |
271 'typedUrlsSynced': syncAll || $('typed-urls-checkbox').checked, | 274 'typedUrlsSynced': syncAll || $('typed-urls-checkbox').checked, |
(...skipping 20 matching lines...) Expand all Loading... |
292 var configureElements = | 295 var configureElements = |
293 $('customize-sync-preferences').querySelectorAll('input'); | 296 $('customize-sync-preferences').querySelectorAll('input'); |
294 for (var i = 0; i < configureElements.length; i++) | 297 for (var i = 0; i < configureElements.length; i++) |
295 configureElements[i].disabled = disabled; | 298 configureElements[i].disabled = disabled; |
296 $('sync-select-datatypes').disabled = disabled; | 299 $('sync-select-datatypes').disabled = disabled; |
297 | 300 |
298 $('customize-link').hidden = disabled; | 301 $('customize-link').hidden = disabled; |
299 $('customize-link').disabled = disabled; | 302 $('customize-link').disabled = disabled; |
300 $('customize-link').onclick = disabled ? null : function() { | 303 $('customize-link').onclick = disabled ? null : function() { |
301 SyncSetupOverlay.showCustomizePage(self.syncConfigureArgs_, | 304 SyncSetupOverlay.showCustomizePage(self.syncConfigureArgs_, |
302 DataTypeSelection.SYNC_EVERYTHING); | 305 options.DataTypeSelection.SYNC_EVERYTHING); |
303 return false; | 306 return false; |
304 }; | 307 }; |
305 }, | 308 }, |
306 | 309 |
307 /** | 310 /** |
308 * Shows or hides the sync data type checkboxes in the advanced sync | 311 * Shows or hides the sync data type checkboxes in the advanced sync |
309 * settings dialog. Also initializes |dataTypeBoxesChecked_| and | 312 * settings dialog. Also initializes |dataTypeBoxesChecked_| and |
310 * |dataTypeBoxedDisabled_| with their values, and makes their onclick | 313 * |dataTypeBoxedDisabled_| with their values, and makes their onclick |
311 * handlers update |dataTypeBoxesChecked_|. | 314 * handlers update |dataTypeBoxesChecked_|. |
312 * @param {Object} args The configuration data used to show/hide UI. | 315 * @param {Object} args The configuration data used to show/hide UI. |
313 * @private | 316 * @private |
314 */ | 317 */ |
315 setChooseDataTypesCheckboxes_: function(args) { | 318 setChooseDataTypesCheckboxes_: function(args) { |
316 var datatypeSelect = $('sync-select-datatypes'); | 319 var datatypeSelect = $('sync-select-datatypes'); |
317 datatypeSelect.selectedIndex = args.syncAllDataTypes ? | 320 datatypeSelect.selectedIndex = args.syncAllDataTypes ? |
318 DataTypeSelection.SYNC_EVERYTHING : | 321 options.DataTypeSelection.SYNC_EVERYTHING : |
319 DataTypeSelection.CHOOSE_WHAT_TO_SYNC; | 322 options.DataTypeSelection.CHOOSE_WHAT_TO_SYNC; |
320 | 323 |
321 $('bookmarks-checkbox').checked = args.bookmarksSynced; | 324 $('bookmarks-checkbox').checked = args.bookmarksSynced; |
322 dataTypeBoxesChecked_['bookmarks-checkbox'] = args.bookmarksSynced; | 325 dataTypeBoxesChecked_['bookmarks-checkbox'] = args.bookmarksSynced; |
323 dataTypeBoxesDisabled_['bookmarks-checkbox'] = args.bookmarksEnforced; | 326 dataTypeBoxesDisabled_['bookmarks-checkbox'] = args.bookmarksEnforced; |
324 $('bookmarks-checkbox').onclick = this.handleDataTypeClick_; | 327 $('bookmarks-checkbox').onclick = this.handleDataTypeClick_; |
325 | 328 |
326 $('preferences-checkbox').checked = args.preferencesSynced; | 329 $('preferences-checkbox').checked = args.preferencesSynced; |
327 dataTypeBoxesChecked_['preferences-checkbox'] = args.preferencesSynced; | 330 dataTypeBoxesChecked_['preferences-checkbox'] = args.preferencesSynced; |
328 dataTypeBoxesDisabled_['preferences-checkbox'] = args.preferencesEnforced; | 331 dataTypeBoxesDisabled_['preferences-checkbox'] = args.preferencesEnforced; |
329 $('preferences-checkbox').onclick = this.handleDataTypeClick_; | 332 $('preferences-checkbox').onclick = this.handleDataTypeClick_; |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 // Once the advanced sync settings dialog is visible, we transition | 438 // Once the advanced sync settings dialog is visible, we transition |
436 // between its drop-down menu items as follows: | 439 // between its drop-down menu items as follows: |
437 // "Sync everything": Show encryption and passphrase sections, and disable | 440 // "Sync everything": Show encryption and passphrase sections, and disable |
438 // and check all data type checkboxes. | 441 // and check all data type checkboxes. |
439 // "Sync nothing": Hide encryption and passphrase sections, and disable | 442 // "Sync nothing": Hide encryption and passphrase sections, and disable |
440 // and uncheck all data type checkboxes. | 443 // and uncheck all data type checkboxes. |
441 // "Choose what to sync": Show encryption and passphrase sections, enable | 444 // "Choose what to sync": Show encryption and passphrase sections, enable |
442 // data type checkboxes, and restore their checked state to the last time | 445 // data type checkboxes, and restore their checked state to the last time |
443 // the "Choose what to sync" was selected while the dialog was still up. | 446 // the "Choose what to sync" was selected while the dialog was still up. |
444 datatypeSelect.onchange = function() { | 447 datatypeSelect.onchange = function() { |
445 if (this.selectedIndex == DataTypeSelection.SYNC_NOTHING) { | 448 if (this.selectedIndex == options.DataTypeSelection.SYNC_NOTHING) { |
446 self.showSyncNothingPage_(); | 449 self.showSyncNothingPage_(); |
447 } else { | 450 } else { |
448 self.showCustomizePage_(self.syncConfigureArgs_, this.selectedIndex); | 451 self.showCustomizePage_(self.syncConfigureArgs_, this.selectedIndex); |
449 if (this.selectedIndex == DataTypeSelection.SYNC_EVERYTHING) | 452 if (this.selectedIndex == options.DataTypeSelection.SYNC_EVERYTHING) |
450 self.checkAllDataTypeCheckboxes_(true); | 453 self.checkAllDataTypeCheckboxes_(true); |
451 else | 454 else |
452 self.restoreDataTypeCheckboxes_(); | 455 self.restoreDataTypeCheckboxes_(); |
453 } | 456 } |
454 }; | 457 }; |
455 | 458 |
456 this.resetPage_('sync-setup-configure'); | 459 this.resetPage_('sync-setup-configure'); |
457 $('sync-setup-configure').hidden = false; | 460 $('sync-setup-configure').hidden = false; |
458 | 461 |
459 // onsubmit is changed when submitting a passphrase. Reset it to its | 462 // onsubmit is changed when submitting a passphrase. Reset it to its |
460 // default. | 463 // default. |
461 $('choose-data-types-form').onsubmit = function() { | 464 $('choose-data-types-form').onsubmit = function() { |
462 self.sendConfiguration_(); | 465 self.sendConfiguration_(); |
463 return false; | 466 return false; |
464 }; | 467 }; |
465 | 468 |
466 if (args) { | 469 if (args) { |
467 this.setCheckboxesAndErrors_(args); | 470 this.setCheckboxesAndErrors_(args); |
468 | 471 |
469 this.useEncryptEverything_ = args.encryptAllData; | 472 this.useEncryptEverything_ = args.encryptAllData; |
470 | 473 |
471 // Determine whether to display the 'OK, sync everything' confirmation | 474 // Determine whether to display the 'OK, sync everything' confirmation |
472 // dialog or the advanced sync settings dialog, and assign focus to the | 475 // dialog or the advanced sync settings dialog, and assign focus to the |
473 // OK button, or to the passphrase field if a passphrase is required. | 476 // OK button, or to the passphrase field if a passphrase is required. |
474 this.usePassphrase_ = args.usePassphrase; | 477 this.usePassphrase_ = args.usePassphrase; |
475 if (args.showSyncEverythingPage == false || this.usePassphrase_ || | 478 if (args.showSyncEverythingPage == false || this.usePassphrase_ || |
476 args.syncAllDataTypes == false || args.showPassphrase) { | 479 args.syncAllDataTypes == false || args.showPassphrase) { |
477 var index = args.syncAllDataTypes ? | 480 var index = args.syncAllDataTypes ? |
478 DataTypeSelection.SYNC_EVERYTHING : | 481 options.DataTypeSelection.SYNC_EVERYTHING : |
479 DataTypeSelection.CHOOSE_WHAT_TO_SYNC; | 482 options.DataTypeSelection.CHOOSE_WHAT_TO_SYNC; |
480 this.showCustomizePage_(args, index); | 483 this.showCustomizePage_(args, index); |
481 } else { | 484 } else { |
482 this.showSyncEverythingPage_(); | 485 this.showSyncEverythingPage_(); |
483 } | 486 } |
484 } | 487 } |
485 }, | 488 }, |
486 | 489 |
487 showSpinner_: function() { | 490 showSpinner_: function() { |
488 this.resetPage_('sync-setup-spinner'); | 491 this.resetPage_('sync-setup-spinner'); |
489 $('sync-setup-spinner').hidden = false; | 492 $('sync-setup-spinner').hidden = false; |
(...skipping 13 matching lines...) Expand all Loading... |
503 this.confirmPageVisible_ = true; | 506 this.confirmPageVisible_ = true; |
504 this.customizePageVisible_ = false; | 507 this.customizePageVisible_ = false; |
505 | 508 |
506 $('confirm-sync-preferences').hidden = false; | 509 $('confirm-sync-preferences').hidden = false; |
507 $('customize-sync-preferences').hidden = true; | 510 $('customize-sync-preferences').hidden = true; |
508 | 511 |
509 // Reset the selection to 'Sync everything'. | 512 // Reset the selection to 'Sync everything'. |
510 $('sync-select-datatypes').selectedIndex = 0; | 513 $('sync-select-datatypes').selectedIndex = 0; |
511 | 514 |
512 // The default state is to sync everything. | 515 // The default state is to sync everything. |
513 this.setDataTypeCheckboxes_(DataTypeSelection.SYNC_EVERYTHING); | 516 this.setDataTypeCheckboxes_(options.DataTypeSelection.SYNC_EVERYTHING); |
514 | 517 |
515 if (!this.usePassphrase_) | 518 if (!this.usePassphrase_) |
516 $('sync-custom-passphrase').hidden = true; | 519 $('sync-custom-passphrase').hidden = true; |
517 | 520 |
518 if (!this.useEncryptEverything_ && !this.usePassphrase_) | 521 if (!this.useEncryptEverything_ && !this.usePassphrase_) |
519 $('basic-encryption-option').checked = true; | 522 $('basic-encryption-option').checked = true; |
520 | 523 |
521 // Give the OK button focus only when the dialog wasn't already visible. | 524 // Give the OK button focus only when the dialog wasn't already visible. |
522 if (wasConfirmPageHidden) | 525 if (wasConfirmPageHidden) |
523 $('confirm-everything-ok').focus(); | 526 $('confirm-everything-ok').focus(); |
524 }, | 527 }, |
525 | 528 |
526 /** | 529 /** |
527 * Reveals the UI for when the user chooses not to sync any data types. | 530 * Reveals the UI for when the user chooses not to sync any data types. |
528 * This happens when the user signs in and selects "Sync nothing" in the | 531 * This happens when the user signs in and selects "Sync nothing" in the |
529 * advanced sync settings dialog. | 532 * advanced sync settings dialog. |
530 * @private | 533 * @private |
531 */ | 534 */ |
532 showSyncNothingPage_: function() { | 535 showSyncNothingPage_: function() { |
533 // Reset the selection to 'Sync nothing'. | 536 // Reset the selection to 'Sync nothing'. |
534 $('sync-select-datatypes').selectedIndex = DataTypeSelection.SYNC_NOTHING; | 537 $('sync-select-datatypes').selectedIndex = |
| 538 options.DataTypeSelection.SYNC_NOTHING; |
535 | 539 |
536 // Uncheck and disable the individual data type checkboxes. | 540 // Uncheck and disable the individual data type checkboxes. |
537 this.checkAllDataTypeCheckboxes_(false); | 541 this.checkAllDataTypeCheckboxes_(false); |
538 this.setDataTypeCheckboxesEnabled_(false); | 542 this.setDataTypeCheckboxesEnabled_(false); |
539 | 543 |
540 // Hide the encryption section. | 544 // Hide the encryption section. |
541 $('customize-sync-encryption-new').hidden = true; | 545 $('customize-sync-encryption-new').hidden = true; |
542 $('sync-custom-passphrase-container').hidden = true; | 546 $('sync-custom-passphrase-container').hidden = true; |
543 $('sync-existing-passphrase-container').hidden = true; | 547 $('sync-existing-passphrase-container').hidden = true; |
544 | 548 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 // previously but failed). | 588 // previously but failed). |
585 $('incorrect-passphrase').hidden = | 589 $('incorrect-passphrase').hidden = |
586 !(args.usePassphrase && args.passphraseFailed); | 590 !(args.usePassphrase && args.passphraseFailed); |
587 | 591 |
588 $('sync-passphrase-warning').hidden = false; | 592 $('sync-passphrase-warning').hidden = false; |
589 }, | 593 }, |
590 | 594 |
591 /** | 595 /** |
592 * Displays the advanced sync setting dialog, and pre-selects either the | 596 * Displays the advanced sync setting dialog, and pre-selects either the |
593 * "Sync everything" or the "Choose what to sync" drop-down menu item. | 597 * "Sync everything" or the "Choose what to sync" drop-down menu item. |
594 * @param {cr.DataTypeSelection} index Index of item to pre-select. | 598 * @param {options.DataTypeSelection} index Index of item to pre-select. |
595 * @private | 599 * @private |
596 */ | 600 */ |
597 showCustomizePage_: function(args, index) { | 601 showCustomizePage_: function(args, index) { |
598 // Determine whether to bring the OK button field into focus. | 602 // Determine whether to bring the OK button field into focus. |
599 var wasCustomizePageHidden = !this.customizePageVisible_; | 603 var wasCustomizePageHidden = !this.customizePageVisible_; |
600 this.customizePageVisible_ = true; | 604 this.customizePageVisible_ = true; |
601 this.confirmPageVisible_ = false; | 605 this.confirmPageVisible_ = false; |
602 | 606 |
603 $('confirm-sync-preferences').hidden = true; | 607 $('confirm-sync-preferences').hidden = true; |
604 $('customize-sync-preferences').hidden = false; | 608 $('customize-sync-preferences').hidden = false; |
605 | 609 |
606 $('sync-custom-passphrase-container').hidden = false; | 610 $('sync-custom-passphrase-container').hidden = false; |
607 $('sync-new-encryption-section-container').hidden = false; | 611 $('sync-new-encryption-section-container').hidden = false; |
608 $('customize-sync-encryption-new').hidden = args.isSupervised; | 612 $('customize-sync-encryption-new').hidden = args.isSupervised; |
609 | 613 |
610 $('sync-existing-passphrase-container').hidden = true; | 614 $('sync-existing-passphrase-container').hidden = true; |
611 | 615 |
612 $('sync-select-datatypes').selectedIndex = index; | 616 $('sync-select-datatypes').selectedIndex = index; |
613 this.setDataTypeCheckboxesEnabled_( | 617 this.setDataTypeCheckboxesEnabled_( |
614 index == DataTypeSelection.CHOOSE_WHAT_TO_SYNC); | 618 index == options.DataTypeSelection.CHOOSE_WHAT_TO_SYNC); |
615 | 619 |
616 // Give the OK button focus only when the dialog wasn't already visible. | 620 // Give the OK button focus only when the dialog wasn't already visible. |
617 if (wasCustomizePageHidden) | 621 if (wasCustomizePageHidden) |
618 $('choose-datatypes-ok').focus(); | 622 $('choose-datatypes-ok').focus(); |
619 | 623 |
620 if (args.showPassphrase) { | 624 if (args.showPassphrase) { |
621 this.showPassphraseContainer_(args); | 625 this.showPassphraseContainer_(args); |
622 // Give the passphrase field focus only when the dialog wasn't already | 626 // Give the passphrase field focus only when the dialog wasn't already |
623 // visible. | 627 // visible. |
624 if (wasCustomizePageHidden) | 628 if (wasCustomizePageHidden) |
625 $('passphrase').focus(); | 629 $('passphrase').focus(); |
626 } else { | 630 } else { |
627 // We only show the 'Use Default' link if we're not prompting for an | 631 // We only show the 'Use Default' link if we're not prompting for an |
628 // existing passphrase. | 632 // existing passphrase. |
629 $('use-default-link').hidden = false; | 633 $('use-default-link').hidden = false; |
630 $('use-default-link').disabled = false; | 634 $('use-default-link').disabled = false; |
631 $('use-default-link').onclick = function() { | 635 $('use-default-link').onclick = function() { |
632 SyncSetupOverlay.showSyncEverythingPage(); | 636 SyncSetupOverlay.showSyncEverythingPage(); |
633 return false; | 637 return false; |
634 }; | 638 }; |
635 } | 639 } |
636 }, | 640 }, |
637 | 641 |
638 /** | 642 /** |
639 * Shows the appropriate sync setup page. | 643 * Shows the appropriate sync setup page. |
640 * @param {string} page A page of the sync setup to show. | 644 * @param {string} page A page of the sync setup to show. |
641 * @param {object} args Data from the C++ to forward on to the right | 645 * @param {Object} args Data from the C++ to forward on to the right |
642 * section. | 646 * section. |
643 */ | 647 */ |
644 showSyncSetupPage_: function(page, args) { | 648 showSyncSetupPage_: function(page, args) { |
645 // If the user clicks the OK button, dismiss the dialog immediately, and | 649 // If the user clicks the OK button, dismiss the dialog immediately, and |
646 // do not go through the process of hiding elements of the overlay. | 650 // do not go through the process of hiding elements of the overlay. |
647 // See crbug.com/308873. | 651 // See crbug.com/308873. |
648 if (page == 'done') { | 652 if (page == 'done') { |
649 this.closeOverlay_(); | 653 this.closeOverlay_(); |
650 return; | 654 return; |
651 } | 655 } |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
694 var throbbers = this.pageDiv.getElementsByClassName('throbber'); | 698 var throbbers = this.pageDiv.getElementsByClassName('throbber'); |
695 for (var i = 0; i < throbbers.length; i++) | 699 for (var i = 0; i < throbbers.length; i++) |
696 throbbers[i].style.visibility = visible ? 'visible' : 'hidden'; | 700 throbbers[i].style.visibility = visible ? 'visible' : 'hidden'; |
697 }, | 701 }, |
698 | 702 |
699 /** | 703 /** |
700 * Reset the state of all descendant elements of a root element to their | 704 * Reset the state of all descendant elements of a root element to their |
701 * initial state. | 705 * initial state. |
702 * The initial state is specified by adding a class to the descendant | 706 * The initial state is specified by adding a class to the descendant |
703 * element in sync_setup_overlay.html. | 707 * element in sync_setup_overlay.html. |
704 * @param {HTMLElement} pageElementId The root page element id. | 708 * @param {string} pageElementId The root page element id. |
705 * @private | 709 * @private |
706 */ | 710 */ |
707 resetPage_: function(pageElementId) { | 711 resetPage_: function(pageElementId) { |
708 var page = $(pageElementId); | 712 var page = $(pageElementId); |
709 var forEach = function(arr, fn) { | 713 var forEach = function(arr, fn) { |
710 var length = arr.length; | 714 var length = arr.length; |
711 for (var i = 0; i < length; i++) { | 715 for (var i = 0; i < length; i++) { |
712 fn(arr[i]); | 716 fn(arr[i]); |
713 } | 717 } |
714 }; | 718 }; |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
804 | 808 |
805 SyncSetupOverlay.showStopSyncingUI = function() { | 809 SyncSetupOverlay.showStopSyncingUI = function() { |
806 SyncSetupOverlay.getInstance().showStopSyncingUI_(); | 810 SyncSetupOverlay.getInstance().showStopSyncingUI_(); |
807 }; | 811 }; |
808 | 812 |
809 // Export | 813 // Export |
810 return { | 814 return { |
811 SyncSetupOverlay: SyncSetupOverlay | 815 SyncSetupOverlay: SyncSetupOverlay |
812 }; | 816 }; |
813 }); | 817 }); |
OLD | NEW |