Chromium Code Reviews| Index: chrome/browser/resources/options/import_data_overlay.js |
| diff --git a/chrome/browser/resources/options/import_data_overlay.js b/chrome/browser/resources/options/import_data_overlay.js |
| index 71c8b42ff2930f70d420fb6f7f320dd1e9c1c08b..e6c6ae36c58275cce3dc0830b0095c3d7fb91eca 100644 |
| --- a/chrome/browser/resources/options/import_data_overlay.js |
| +++ b/chrome/browser/resources/options/import_data_overlay.js |
| @@ -88,10 +88,12 @@ cr.define('options', function() { |
| * @private |
| */ |
| setControlsSensitive_: function(sensitive) { |
| - var checkboxes = |
| - document.querySelectorAll('#import-checkboxes input[type=checkbox]'); |
| - for (var i = 0; i < checkboxes.length; i++) |
| - this.setUpCheckboxState_(checkboxes[i], sensitive); |
| + var importOptions = ['history', 'favorites', 'passwords', 'search']; |
| + for (var i = 0; i < importOptions.length; i++) { |
| + var checkbox = $('import-' + importOptions[i]); |
| + var enabled = !(checkbox.controlledBy == 'undefined') && sensitive; |
| + this.setUpCheckboxState_(checkbox, enabled); |
| + } |
| $('import-data-commit').disabled = !sensitive; |
| }, |
| @@ -103,7 +105,6 @@ cr.define('options', function() { |
| */ |
| setUpCheckboxState_: function(checkbox, enabled) { |
| checkbox.disabled = !enabled; |
| - checkbox.checked = enabled; |
| }, |
| /** |
| @@ -118,8 +119,10 @@ cr.define('options', function() { |
| var importOptions = ['history', 'favorites', 'passwords', 'search']; |
| for (var i = 0; i < importOptions.length; i++) { |
| var checkbox = $('import-' + importOptions[i]); |
| - this.setUpCheckboxState_(checkbox, |
| - browserProfile ? browserProfile[importOptions[i]] : false); |
| + var enabled = (checkbox.controlledBy == 'undefined') && |
| + (browserProfile ? |
| + browserProfile[importOptions[i]] : false); |
|
Mattias Nissler (ping if slow)
2011/07/20 09:28:31
maybe break the line after the initial = and then
|
| + this.setUpCheckboxState_(checkbox, enabled); |
| } |
| }, |
| @@ -152,6 +155,25 @@ cr.define('options', function() { |
| this.validateCommitButton_(); |
| } |
| }, |
| + |
| + /** |
| + * Clear import prefs set when user checks/unchecks a checkbox so that the |
| + * each checkbox goes back to the default "checked" state. |
| + * @private |
| + */ |
| + clearUserPrefs_: function() { |
| + var importPrefs = ['import_history', |
| + 'import_bookmarks', |
| + 'import_saved_passwords', |
| + 'import_search_engine']; |
| + for (var i = 0; i < importPrefs.length; i++) |
| + Preferences.clearPref(importPrefs[i], undefined); |
| + }, |
| + }; |
| + |
| + |
| + ImportDataOverlay.clearUserPrefs = function() { |
| + ImportDataOverlay.getInstance().clearUserPrefs_(); |
| }; |
| /** |
| @@ -185,6 +207,7 @@ cr.define('options', function() { |
| * Remove the import overlay from display. |
| */ |
| ImportDataOverlay.dismiss = function() { |
| + ImportDataOverlay.clearUserPrefs(); |
| OptionsPage.closeOverlay(); |
| }; |