| 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 |