Index: chrome/browser/resources/options/clear_browser_data_overlay.js |
diff --git a/chrome/browser/resources/options/clear_browser_data_overlay.js b/chrome/browser/resources/options/clear_browser_data_overlay.js |
index 21ae083c4db54b2f180b68a32a8e3914ff3abc19..0542d9a64094d6860296932b3a84758b00be4dfe 100644 |
--- a/chrome/browser/resources/options/clear_browser_data_overlay.js |
+++ b/chrome/browser/resources/options/clear_browser_data_overlay.js |
@@ -34,13 +34,44 @@ cr.define('options', function() { |
// Setup option values for the time period select control. |
$('clearBrowsingDataTimePeriod').initializeValues( |
- templateData.clearBrowsingDataTimeList) |
+ templateData.clearBrowsingDataTimeList); |
+ |
+ var f = cr.bind(this.updateButtonState_, this); |
+ var types = ['browser.clear_data.browsing_history', |
+ 'browser.clear_data.download_history', |
+ 'browser.clear_data.cache', |
+ 'browser.clear_data.cookies', |
+ 'browser.clear_data.passwords', |
+ 'browser.clear_data.form_data']; |
+ types.forEach(function(type) { |
+ Preferences.getInstance().addEventListener(type, f); |
+ }); |
+ |
+ var checkboxes = document.querySelectorAll( |
+ '#checkboxListData input[type=checkbox]'); |
+ for (var i = 0; i < checkboxes.length; i++) { |
+ checkboxes[i].onclick = f; |
+ } |
+ this.updateButtonState_(); |
// Setup click handler for the clear(Ok) button. |
$('clearBrowsingDataCommit').onclick = function(event) { |
chrome.send('performClearBrowserData'); |
}; |
- } |
+ }, |
+ |
+ updateButtonState_: function() { |
+ var checkboxes = document.querySelectorAll( |
+ '#checkboxListData input[type=checkbox]'); |
+ var isChecked = false; |
+ for (var i = 0; i < checkboxes.length; i++) { |
+ if (checkboxes[i].checked) { |
+ isChecked = true; |
+ break; |
+ } |
+ } |
+ $('clearBrowsingDataCommit').disabled = !isChecked; |
+ }, |
}; |
// |