Chromium Code Reviews

Unified Diff: chrome/browser/resources/options/clear_browser_data_overlay.js

Issue 5964008: Add UI to the Clear Browsing Data dialog to remove Flash LSO data. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 9 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
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';

Powered by Google App Engine