Chromium Code Reviews| 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 501e462927513019b5c1a9cc6a1f598b892ab883..57310bd8e49983868bd46f9d57d94356cfe956f3 100644 |
| --- a/chrome/browser/resources/options/clear_browser_data_overlay.js |
| +++ b/chrome/browser/resources/options/clear_browser_data_overlay.js |
| @@ -36,23 +36,54 @@ cr.define('options', function() { |
| $('clearBrowsingDataTimePeriod').initializeValues( |
| templateData.clearBrowsingDataTimeList); |
| - var f = this.updateCommitButtonState_.bind(this); |
| + var updateCommitButton = this.updateCommitButtonState_.bind(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.lso_data', |
| 'browser.clear_data.form_data']; |
| types.forEach(function(type) { |
| - Preferences.getInstance().addEventListener(type, f); |
| + Preferences.getInstance().addEventListener(type, updateCommitButton); |
| }); |
| var checkboxes = document.querySelectorAll( |
| '#checkboxListData input[type=checkbox]'); |
| for (var i = 0; i < checkboxes.length; i++) { |
| - checkboxes[i].onclick = f; |
| + checkboxes[i].onclick = updateCommitButton; |
| } |
| - this.updateCommitButtonState_(); |
| + updateCommitButton(); |
| + |
| + var checkbox = $('deleteLSODataCheckbox'); |
| + // Listen to pref changes. |
| + Preferences.getInstance().addEventListener( |
| + 'browser.clear_data.lso_data', |
| + function(event) { |
| + var value = event.value && event.value['value']; |
| + checkbox.pref_value = Boolean(value); |
| + checkbox.managed = event.value && |
| + event.value['managed']; |
|
Evan Stade
2011/01/04 22:59:24
can this not fit on the above line? either way, th
Bernhard Bauer
2011/01/04 23:15:32
Done.
|
| + checkbox.updateState(); |
| + }); |
| + |
| + ClearBrowserDataOverlay.setClearPluginLSODataEnabled = |
| + function(enabled) { |
|
Evan Stade
2011/01/04 22:59:24
this can fit on the above line I believe
Bernhard Bauer
2011/01/04 23:15:32
Done.
|
| + checkbox.manually_disabled = !enabled; |
| + checkbox.updateState(); |
| + }; |
| + |
| + // Listen to user events. |
| + checkbox.addEventListener('click', function(e) { |
|
Evan Stade
2011/01/04 22:59:24
why is it insufficient to use a pref attribute lik
Bernhard Bauer
2011/01/04 23:15:32
The checkbox is only checked if the preference is
|
| + Preferences.setBooleanPref('browser.clear_data.lso_data', |
| + checkbox.checked, checkbox.metric); |
| + }); |
| + |
| + checkbox.updateState = function() { |
| + checkbox.checked = checkbox.pref_value && !checkbox.manually_disabled; |
| + checkbox.disabled = checkbox.managed || checkbox.manually_disabled; |
| + updateCommitButton(); |
| + }; |
| // Setup click handler for the clear(Ok) button. |
| $('clearBrowsingDataCommit').onclick = function(event) { |
| @@ -85,6 +116,7 @@ cr.define('options', function() { |
| $('deleteCookiesCheckbox').disabled = state; |
| $('deletePasswordsCheckbox').disabled = state; |
| $('deleteFormDataCheckbox').disabled = state; |
| + $('deleteLSODataCheckbox').disabled = state; |
| $('clearBrowsingDataTimePeriod').disabled = state; |
| $('clearBrowsingDataDismiss').disabled = state; |
| $('cbdThrobber').style.visibility = state ? 'visible' : 'hidden'; |