Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: chrome/browser/resources/options2/clear_browser_data_overlay.js

Issue 10502015: Adding "Clear hosted app data" checkbox to browsing data removal UI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Feedback. Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 cr.define('options', function() { 5 cr.define('options', function() {
6 var OptionsPage = options.OptionsPage; 6 var OptionsPage = options.OptionsPage;
7 7
8 /** 8 /**
9 * ClearBrowserDataOverlay class 9 * ClearBrowserDataOverlay class
10 * Encapsulated handling of the 'Clear Browser Data' overlay page. 10 * Encapsulated handling of the 'Clear Browser Data' overlay page.
(...skipping 18 matching lines...) Expand all
29 // Call base class implementation to starts preference initialization. 29 // Call base class implementation to starts preference initialization.
30 OptionsPage.prototype.initializePage.call(this); 30 OptionsPage.prototype.initializePage.call(this);
31 31
32 var f = this.updateCommitButtonState_.bind(this); 32 var f = this.updateCommitButtonState_.bind(this);
33 var types = ['browser.clear_data.browsing_history', 33 var types = ['browser.clear_data.browsing_history',
34 'browser.clear_data.download_history', 34 'browser.clear_data.download_history',
35 'browser.clear_data.cache', 35 'browser.clear_data.cache',
36 'browser.clear_data.cookies', 36 'browser.clear_data.cookies',
37 'browser.clear_data.passwords', 37 'browser.clear_data.passwords',
38 'browser.clear_data.form_data', 38 'browser.clear_data.form_data',
39 'browser.clear_data.hosted_apps_data',
39 'browser.clear_data.content_licenses']; 40 'browser.clear_data.content_licenses'];
40 types.forEach(function(type) { 41 types.forEach(function(type) {
41 Preferences.getInstance().addEventListener(type, f); 42 Preferences.getInstance().addEventListener(type, f);
42 }); 43 });
43 44
44 var checkboxes = document.querySelectorAll( 45 var checkboxes = document.querySelectorAll(
45 '#cbdContentArea input[type=checkbox]'); 46 '#cbdContentArea input[type=checkbox]');
46 for (var i = 0; i < checkboxes.length; i++) { 47 for (var i = 0; i < checkboxes.length; i++) {
47 checkboxes[i].onclick = f; 48 checkboxes[i].onclick = f;
48 } 49 }
49 this.updateCommitButtonState_(); 50 this.updateCommitButtonState_();
50 51
51 $('clearBrowserDataDismiss').onclick = function(event) { 52 $('clearBrowserDataDismiss').onclick = function(event) {
52 ClearBrowserDataOverlay.dismiss(); 53 ClearBrowserDataOverlay.dismiss();
53 }; 54 };
54 $('clearBrowserDataCommit').onclick = function(event) { 55 $('clearBrowserDataCommit').onclick = function(event) {
56 ClearBrowserDataOverlay.setClearingState(true);
55 chrome.send('performClearBrowserData'); 57 chrome.send('performClearBrowserData');
56 }; 58 };
57 }, 59 },
58 60
59 // Set the enabled state of the commit button. 61 // Set the enabled state of the commit button.
60 updateCommitButtonState_: function() { 62 updateCommitButtonState_: function() {
61 var checkboxes = document.querySelectorAll( 63 var checkboxes = document.querySelectorAll(
62 '#cbdContentArea input[type=checkbox]'); 64 '#cbdContentArea input[type=checkbox]');
63 var isChecked = false; 65 var isChecked = false;
64 for (var i = 0; i < checkboxes.length; i++) { 66 for (var i = 0; i < checkboxes.length; i++) {
65 if (checkboxes[i].checked) { 67 if (checkboxes[i].checked) {
66 isChecked = true; 68 isChecked = true;
67 break; 69 break;
68 } 70 }
69 } 71 }
70 $('clearBrowserDataCommit').disabled = !isChecked; 72 $('clearBrowserDataCommit').disabled = !isChecked;
71 }, 73 },
72 }; 74 };
73 75
74 // 76 //
75 // Chrome callbacks 77 // Chrome callbacks
76 // 78 //
77 ClearBrowserDataOverlay.setClearingState = function(state) { 79 ClearBrowserDataOverlay.setClearingState = function(state) {
78 $('deleteBrowsingHistoryCheckbox').disabled = state; 80 $('deleteBrowsingHistoryCheckbox').disabled = state;
79 $('deleteDownloadHistoryCheckbox').disabled = state; 81 $('deleteDownloadHistoryCheckbox').disabled = state;
80 $('deleteCacheCheckbox').disabled = state; 82 $('deleteCacheCheckbox').disabled = state;
81 $('deleteCookiesCheckbox').disabled = state; 83 $('deleteCookiesCheckbox').disabled = state;
82 $('deletePasswordsCheckbox').disabled = state; 84 $('deletePasswordsCheckbox').disabled = state;
83 $('deleteFormDataCheckbox').disabled = state; 85 $('deleteFormDataCheckbox').disabled = state;
86 $('deleteHostedAppsDataCheckbox').disabled = state;
84 $('deauthorizeContentLicensesCheckbox').disabled = state; 87 $('deauthorizeContentLicensesCheckbox').disabled = state;
85 $('clearBrowserDataTimePeriod').disabled = state; 88 $('clearBrowserDataTimePeriod').disabled = state;
86 $('cbdThrobber').style.visibility = state ? 'visible' : 'hidden'; 89 $('cbdThrobber').style.visibility = state ? 'visible' : 'hidden';
90 $('clearBrowserDataDismiss').disabled = state;
87 91
88 if (state) 92 if (state)
89 $('clearBrowserDataCommit').disabled = true; 93 $('clearBrowserDataCommit').disabled = true;
90 else 94 else
91 ClearBrowserDataOverlay.getInstance().updateCommitButtonState_(); 95 ClearBrowserDataOverlay.getInstance().updateCommitButtonState_();
92 }; 96 };
93 97
94 ClearBrowserDataOverlay.doneClearing = function() { 98 ClearBrowserDataOverlay.doneClearing = function() {
95 // The delay gives the user some feedback that the clearing 99 // The delay gives the user some feedback that the clearing
96 // actually worked. Otherwise the dialog just vanishes instantly in most 100 // actually worked. Otherwise the dialog just vanishes instantly in most
97 // cases. 101 // cases.
98 window.setTimeout(function() { 102 window.setTimeout(function() {
99 ClearBrowserDataOverlay.dismiss(); 103 ClearBrowserDataOverlay.dismiss();
100 }, 200); 104 }, 200);
101 }; 105 };
102 106
103 ClearBrowserDataOverlay.dismiss = function() { 107 ClearBrowserDataOverlay.dismiss = function() {
104 OptionsPage.closeOverlay(); 108 OptionsPage.closeOverlay();
105 this.setClearingState(false); 109 this.setClearingState(false);
106 }; 110 };
107 111
108 // Export 112 // Export
109 return { 113 return {
110 ClearBrowserDataOverlay: ClearBrowserDataOverlay 114 ClearBrowserDataOverlay: ClearBrowserDataOverlay
111 }; 115 };
112 }); 116 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698