| 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..0072ffd5de5af49932f995df43350777f1f37b70 100644
|
| --- a/chrome/browser/resources/options/clear_browser_data_overlay.js
|
| +++ b/chrome/browser/resources/options/clear_browser_data_overlay.js
|
| @@ -36,23 +36,52 @@ 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'];
|
| + checkbox.updateState();
|
| + });
|
| +
|
| + ClearBrowserDataOverlay.setClearPluginLSODataEnabled = function(enabled) {
|
| + checkbox.manually_disabled = !enabled;
|
| + checkbox.updateState();
|
| + };
|
| +
|
| + // Listen to user events.
|
| + checkbox.addEventListener('click', function(e) {
|
| + 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 +114,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';
|
|
|