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

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

Issue 10809005: Options: Rename chrome/browser/resources/options2 -> chrome/browser/resources/options. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix. Created 8 years, 4 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
(Empty)
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
3 // found in the LICENSE file.
4
5 cr.define('options', function() {
6 var OptionsPage = options.OptionsPage;
7
8 /**
9 * ClearBrowserDataOverlay class
10 * Encapsulated handling of the 'Clear Browser Data' overlay page.
11 * @class
12 */
13 function ClearBrowserDataOverlay() {
14 OptionsPage.call(this, 'clearBrowserData',
15 loadTimeData.getString('clearBrowserDataOverlayTabTitle'),
16 'clear-browser-data-overlay');
17 }
18
19 cr.addSingletonGetter(ClearBrowserDataOverlay);
20
21 ClearBrowserDataOverlay.prototype = {
22 // Inherit ClearBrowserDataOverlay from OptionsPage.
23 __proto__: OptionsPage.prototype,
24
25 /**
26 * Initialize the page.
27 */
28 initializePage: function() {
29 // Call base class implementation to starts preference initialization.
30 OptionsPage.prototype.initializePage.call(this);
31
32 var f = this.updateCommitButtonState_.bind(this);
33 var types = ['browser.clear_data.browsing_history',
34 'browser.clear_data.download_history',
35 'browser.clear_data.cache',
36 'browser.clear_data.cookies',
37 'browser.clear_data.passwords',
38 'browser.clear_data.form_data',
39 'browser.clear_data.hosted_apps_data',
40 'browser.clear_data.content_licenses'];
41 types.forEach(function(type) {
42 Preferences.getInstance().addEventListener(type, f);
43 });
44
45 var checkboxes = document.querySelectorAll(
46 '#cbd-content-area input[type=checkbox]');
47 for (var i = 0; i < checkboxes.length; i++) {
48 checkboxes[i].onclick = f;
49 }
50 this.updateCommitButtonState_();
51
52 $('clear-browser-data-dismiss').onclick = function(event) {
53 ClearBrowserDataOverlay.dismiss();
54 };
55 $('clear-browser-data-commit').onclick = function(event) {
56 ClearBrowserDataOverlay.setClearingState(true);
57 chrome.send('performClearBrowserData');
58 };
59 },
60
61 // Set the enabled state of the commit button.
62 updateCommitButtonState_: function() {
63 var checkboxes = document.querySelectorAll(
64 '#cbd-content-area input[type=checkbox]');
65 var isChecked = false;
66 for (var i = 0; i < checkboxes.length; i++) {
67 if (checkboxes[i].checked) {
68 isChecked = true;
69 break;
70 }
71 }
72 $('clear-browser-data-commit').disabled = !isChecked;
73 },
74 };
75
76 //
77 // Chrome callbacks
78 //
79 ClearBrowserDataOverlay.setClearingState = function(state) {
80 $('delete-browsing-history-checkbox').disabled = state;
81 $('delete-download-history-checkbox').disabled = state;
82 $('delete-cache-checkbox').disabled = state;
83 $('delete-cookies-checkbox').disabled = state;
84 $('delete-passwords-checkbox').disabled = state;
85 $('delete-form-data-checkbox').disabled = state;
86 $('delete-hosted-apps-data-checkbox').disabled = state;
87 $('deauthorize-content-licenses-checkbox').disabled = state;
88 $('clear-browser-data-time-period').disabled = state;
89 $('cbd-throbber').style.visibility = state ? 'visible' : 'hidden';
90 $('clear-browser-data-dismiss').disabled = state;
91
92 if (state)
93 $('clear-browser-data-commit').disabled = true;
94 else
95 ClearBrowserDataOverlay.getInstance().updateCommitButtonState_();
96 };
97
98 ClearBrowserDataOverlay.doneClearing = function() {
99 // The delay gives the user some feedback that the clearing
100 // actually worked. Otherwise the dialog just vanishes instantly in most
101 // cases.
102 window.setTimeout(function() {
103 ClearBrowserDataOverlay.dismiss();
104 }, 200);
105 };
106
107 ClearBrowserDataOverlay.dismiss = function() {
108 OptionsPage.closeOverlay();
109 this.setClearingState(false);
110 };
111
112 // Export
113 return {
114 ClearBrowserDataOverlay: ClearBrowserDataOverlay
115 };
116 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698