OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 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 | 6 |
7 var OptionsPage = options.OptionsPage; | 7 var OptionsPage = options.OptionsPage; |
8 | 8 |
9 /** | 9 /** |
10 * ClearBrowserDataOverlay class | 10 * ClearBrowserDataOverlay class |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 checkboxes[i].onclick = f; | 49 checkboxes[i].onclick = f; |
50 } | 50 } |
51 this.updateCommitButtonState_(); | 51 this.updateCommitButtonState_(); |
52 | 52 |
53 $('clearBrowserDataDismiss').onclick = function(event) { | 53 $('clearBrowserDataDismiss').onclick = function(event) { |
54 ClearBrowserDataOverlay.dismiss(); | 54 ClearBrowserDataOverlay.dismiss(); |
55 }; | 55 }; |
56 $('clearBrowserDataCommit').onclick = function(event) { | 56 $('clearBrowserDataCommit').onclick = function(event) { |
57 chrome.send('performClearBrowserData'); | 57 chrome.send('performClearBrowserData'); |
58 }; | 58 }; |
| 59 |
| 60 cr.ui.Throbber.decorate($('cbdThrobber')); |
59 }, | 61 }, |
60 | 62 |
61 // Set the enabled state of the commit button. | 63 // Set the enabled state of the commit button. |
62 updateCommitButtonState_: function() { | 64 updateCommitButtonState_: function() { |
63 var checkboxes = document.querySelectorAll( | 65 var checkboxes = document.querySelectorAll( |
64 '#cbdContentArea input[type=checkbox]'); | 66 '#cbdContentArea input[type=checkbox]'); |
65 var isChecked = false; | 67 var isChecked = false; |
66 for (var i = 0; i < checkboxes.length; i++) { | 68 for (var i = 0; i < checkboxes.length; i++) { |
67 if (checkboxes[i].checked) { | 69 if (checkboxes[i].checked) { |
68 isChecked = true; | 70 isChecked = true; |
69 break; | 71 break; |
70 } | 72 } |
71 } | 73 } |
72 $('clearBrowserDataCommit').disabled = !isChecked; | 74 $('clearBrowserDataCommit').disabled = !isChecked; |
73 }, | 75 }, |
74 }; | 76 }; |
75 | 77 |
76 // | 78 // |
77 // Chrome callbacks | 79 // Chrome callbacks |
78 // | 80 // |
79 ClearBrowserDataOverlay.setClearingState = function(state) { | 81 ClearBrowserDataOverlay.setClearingState = function(state) { |
80 $('deleteBrowsingHistoryCheckbox').disabled = state; | 82 $('deleteBrowsingHistoryCheckbox').disabled = state; |
81 $('deleteDownloadHistoryCheckbox').disabled = state; | 83 $('deleteDownloadHistoryCheckbox').disabled = state; |
82 $('deleteCacheCheckbox').disabled = state; | 84 $('deleteCacheCheckbox').disabled = state; |
83 $('deleteCookiesCheckbox').disabled = state; | 85 $('deleteCookiesCheckbox').disabled = state; |
84 $('deletePasswordsCheckbox').disabled = state; | 86 $('deletePasswordsCheckbox').disabled = state; |
85 $('deleteFormDataCheckbox').disabled = state; | 87 $('deleteFormDataCheckbox').disabled = state; |
86 $('clearBrowserDataTimePeriod').disabled = state; | 88 $('clearBrowserDataTimePeriod').disabled = state; |
87 $('cbdThrobber').style.visibility = state ? 'visible' : 'hidden'; | 89 $('cbdThrobber').visible = state; |
88 | 90 |
89 if (state) | 91 if (state) |
90 $('clearBrowserDataCommit').disabled = true; | 92 $('clearBrowserDataCommit').disabled = true; |
91 else | 93 else |
92 ClearBrowserDataOverlay.getInstance().updateCommitButtonState_(); | 94 ClearBrowserDataOverlay.getInstance().updateCommitButtonState_(); |
93 | |
94 function advanceThrobber() { | |
95 var throbber = $('cbdThrobber'); | |
96 // TODO(csilv): make this smoother using time-based animation? | |
97 throbber.style.backgroundPositionX = | |
98 ((parseInt(getComputedStyle(throbber).backgroundPositionX, 10) - 16) % | |
99 576) + 'px'; | |
100 } | |
101 if (state) { | |
102 ClearBrowserDataOverlay.throbIntervalId = | |
103 setInterval(advanceThrobber, 30); | |
104 } else { | |
105 clearInterval(ClearBrowserDataOverlay.throbIntervalId); | |
106 } | |
107 }; | 95 }; |
108 | 96 |
109 ClearBrowserDataOverlay.setClearLocalDataLabel = function(label) { | 97 ClearBrowserDataOverlay.setClearLocalDataLabel = function(label) { |
110 $('deleteCookiesLabel').innerText = label; | 98 $('deleteCookiesLabel').innerText = label; |
111 }; | 99 }; |
112 | 100 |
113 ClearBrowserDataOverlay.doneClearing = function() { | 101 ClearBrowserDataOverlay.doneClearing = function() { |
114 // The delay gives the user some feedback that the clearing | 102 // The delay gives the user some feedback that the clearing |
115 // actually worked. Otherwise the dialog just vanishes instantly in most | 103 // actually worked. Otherwise the dialog just vanishes instantly in most |
116 // cases. | 104 // cases. |
117 window.setTimeout(function() { | 105 window.setTimeout(function() { |
118 ClearBrowserDataOverlay.dismiss(); | 106 ClearBrowserDataOverlay.dismiss(); |
119 }, 200); | 107 }, 200); |
120 }; | 108 }; |
121 | 109 |
122 ClearBrowserDataOverlay.dismiss = function() { | 110 ClearBrowserDataOverlay.dismiss = function() { |
123 OptionsPage.clearOverlays(); | 111 OptionsPage.clearOverlays(); |
124 this.setClearingState(false); | 112 this.setClearingState(false); |
125 }; | 113 }; |
126 | 114 |
127 // Export | 115 // Export |
128 return { | 116 return { |
129 ClearBrowserDataOverlay: ClearBrowserDataOverlay | 117 ClearBrowserDataOverlay: ClearBrowserDataOverlay |
130 }; | 118 }; |
131 }); | 119 }); |
OLD | NEW |