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

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

Issue 7003007: Apply content-security-policy to the HTML options page. This is a (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 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) 2011 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 templateData.clearBrowserDataOverlayTabTitle,
16 'clearBrowserDataOverlay');
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 types.forEach(function(type) {
40 Preferences.getInstance().addEventListener(type, f);
41 });
42
43 var checkboxes = document.querySelectorAll(
44 '#cbdContentArea input[type=checkbox]');
45 for (var i = 0; i < checkboxes.length; i++) {
46 checkboxes[i].onclick = f;
47 }
48 this.updateCommitButtonState_();
49
50 $('clearBrowserDataDismiss').onclick = function(event) {
51 ClearBrowserDataOverlay.dismiss();
52 };
53 $('clearBrowserDataCommit').onclick = function(event) {
54 chrome.send('performClearBrowserData');
55 };
56 },
57
58 // Set the enabled state of the commit button.
59 updateCommitButtonState_: function() {
60 var checkboxes = document.querySelectorAll(
61 '#cbdContentArea input[type=checkbox]');
62 var isChecked = false;
63 for (var i = 0; i < checkboxes.length; i++) {
64 if (checkboxes[i].checked) {
65 isChecked = true;
66 break;
67 }
68 }
69 $('clearBrowserDataCommit').disabled = !isChecked;
70 },
71 };
72
73 //
74 // Chrome callbacks
75 //
76 ClearBrowserDataOverlay.setClearingState = function(state) {
77 $('deleteBrowsingHistoryCheckbox').disabled = state;
78 $('deleteDownloadHistoryCheckbox').disabled = state;
79 $('deleteCacheCheckbox').disabled = state;
80 $('deleteCookiesCheckbox').disabled = state;
81 $('deletePasswordsCheckbox').disabled = state;
82 $('deleteFormDataCheckbox').disabled = state;
83 $('clearBrowserDataTimePeriod').disabled = state;
84 $('cbdThrobber').style.visibility = state ? 'visible' : 'hidden';
85
86 if (state)
87 $('clearBrowserDataCommit').disabled = true;
88 else
89 ClearBrowserDataOverlay.getInstance().updateCommitButtonState_();
90 };
91
92 ClearBrowserDataOverlay.doneClearing = function() {
93 // The delay gives the user some feedback that the clearing
94 // actually worked. Otherwise the dialog just vanishes instantly in most
95 // cases.
96 window.setTimeout(function() {
97 ClearBrowserDataOverlay.dismiss();
98 }, 200);
99 };
100
101 ClearBrowserDataOverlay.dismiss = function() {
102 OptionsPage.closeOverlay();
103 this.setClearingState(false);
104 };
105
106 // Export
107 return {
108 ClearBrowserDataOverlay: ClearBrowserDataOverlay
109 };
110 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698