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(); |
}; |