| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 * ClearBrowserData class | 10 * ClearBrowserData class |
| 11 * Encapsulated handling of the 'Clear Browser Data' overlay page. | 11 * Encapsulated handling of the 'Clear Browser Data' overlay page. |
| 12 * @class | 12 * @class |
| 13 */ | 13 */ |
| 14 function ClearBrowserDataOverlay() { | 14 function ClearBrowserDataPage() { |
| 15 OptionsPage.call(this, 'clearBrowserDataOverlay', | 15 OptionsPage.call(this, 'clearBrowserDataPage', |
| 16 templateData.clearBrowserDataTitle, | 16 templateData.clearBrowserDataTitle, |
| 17 'clearBrowserDataOverlay'); | 17 'clearBrowserDataPage'); |
| 18 } | 18 } |
| 19 | 19 |
| 20 ClearBrowserDataOverlay.throbIntervalId = 0; | 20 ClearBrowserDataPage.throbIntervalId = 0; |
| 21 | 21 |
| 22 cr.addSingletonGetter(ClearBrowserDataOverlay); | 22 cr.addSingletonGetter(ClearBrowserDataPage); |
| 23 | 23 |
| 24 ClearBrowserDataOverlay.prototype = { | 24 ClearBrowserDataPage.prototype = { |
| 25 // Inherit ClearBrowserDataOverlay from OptionsPage. | 25 // Inherit ClearBrowserDataPage from OptionsPage. |
| 26 __proto__: OptionsPage.prototype, | 26 __proto__: OptionsPage.prototype, |
| 27 | 27 |
| 28 /** | 28 /** |
| 29 * Initialize the page. | 29 * Initialize the page. |
| 30 */ | 30 */ |
| 31 initializePage: function() { | 31 initializePage: function() { |
| 32 // Call base class implementation to starts preference initialization. | 32 // Call base class implementation to starts preference initialization. |
| 33 OptionsPage.prototype.initializePage.call(this); | 33 OptionsPage.prototype.initializePage.call(this); |
| 34 | 34 |
| 35 // The time period is stored as a number. |
| 36 $('clearBrowsingDataTimePeriod').dataType = 'number'; |
| 37 |
| 35 var f = this.updateCommitButtonState_.bind(this); | 38 var f = this.updateCommitButtonState_.bind(this); |
| 36 var types = ['browser.clear_data.browsing_history', | 39 var types = ['browser.clear_data.browsing_history', |
| 37 'browser.clear_data.download_history', | 40 'browser.clear_data.download_history', |
| 38 'browser.clear_data.cache', | 41 'browser.clear_data.cache', |
| 39 'browser.clear_data.cookies', | 42 'browser.clear_data.cookies', |
| 40 'browser.clear_data.passwords', | 43 'browser.clear_data.passwords', |
| 41 'browser.clear_data.form_data']; | 44 'browser.clear_data.form_data']; |
| 42 types.forEach(function(type) { | 45 types.forEach(function(type) { |
| 43 Preferences.getInstance().addEventListener(type, f); | 46 Preferences.getInstance().addEventListener(type, f); |
| 44 }); | 47 }); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 67 break; | 70 break; |
| 68 } | 71 } |
| 69 } | 72 } |
| 70 $('clearBrowsingDataCommit').disabled = !isChecked; | 73 $('clearBrowsingDataCommit').disabled = !isChecked; |
| 71 }, | 74 }, |
| 72 }; | 75 }; |
| 73 | 76 |
| 74 // | 77 // |
| 75 // Chrome callbacks | 78 // Chrome callbacks |
| 76 // | 79 // |
| 77 ClearBrowserDataOverlay.setClearingState = function(state) { | 80 ClearBrowserDataPage.setClearingState = function(state) { |
| 78 $('deleteBrowsingHistoryCheckbox').disabled = state; | 81 $('deleteBrowsingHistoryCheckbox').disabled = state; |
| 79 $('deleteDownloadHistoryCheckbox').disabled = state; | 82 $('deleteDownloadHistoryCheckbox').disabled = state; |
| 80 $('deleteCacheCheckbox').disabled = state; | 83 $('deleteCacheCheckbox').disabled = state; |
| 81 $('deleteCookiesCheckbox').disabled = state; | 84 $('deleteCookiesCheckbox').disabled = state; |
| 82 $('deletePasswordsCheckbox').disabled = state; | 85 $('deletePasswordsCheckbox').disabled = state; |
| 83 $('deleteFormDataCheckbox').disabled = state; | 86 $('deleteFormDataCheckbox').disabled = state; |
| 84 $('clearBrowsingDataTimePeriod').disabled = state; | 87 $('clearBrowsingDataTimePeriod').disabled = state; |
| 85 $('clearBrowsingDataDismiss').disabled = state; | |
| 86 $('cbdThrobber').style.visibility = state ? 'visible' : 'hidden'; | 88 $('cbdThrobber').style.visibility = state ? 'visible' : 'hidden'; |
| 87 | 89 |
| 88 if (state) | 90 if (state) |
| 89 $('clearBrowsingDataCommit').disabled = true; | 91 $('clearBrowsingDataCommit').disabled = true; |
| 90 else | 92 else |
| 91 ClearBrowserDataOverlay.getInstance().updateCommitButtonState_(); | 93 ClearBrowserDataPage.getInstance().updateCommitButtonState_(); |
| 92 | 94 |
| 93 function advanceThrobber() { | 95 function advanceThrobber() { |
| 94 var throbber = $('cbdThrobber'); | 96 var throbber = $('cbdThrobber'); |
| 95 // TODO(csilv): make this smoother using time-based animation? | 97 // TODO(csilv): make this smoother using time-based animation? |
| 96 throbber.style.backgroundPositionX = | 98 throbber.style.backgroundPositionX = |
| 97 ((parseInt(getComputedStyle(throbber).backgroundPositionX, 10) - 16) % | 99 ((parseInt(getComputedStyle(throbber).backgroundPositionX, 10) - 16) % |
| 98 576) + 'px'; | 100 576) + 'px'; |
| 99 } | 101 } |
| 100 if (state) { | 102 if (state) { |
| 101 ClearBrowserDataOverlay.throbIntervalId = | 103 ClearBrowserDataPage.throbIntervalId = |
| 102 setInterval(advanceThrobber, 30); | 104 setInterval(advanceThrobber, 30); |
| 103 } else { | 105 } else { |
| 104 clearInterval(ClearBrowserDataOverlay.throbIntervalId); | 106 clearInterval(ClearBrowserDataPage.throbIntervalId); |
| 105 } | 107 } |
| 106 } | 108 } |
| 107 | 109 |
| 108 ClearBrowserDataOverlay.dismiss = function() { | 110 ClearBrowserDataPage.dismiss = function() { |
| 109 OptionsPage.clearOverlays(); | 111 OptionsPage.clearOverlays(); |
| 110 this.setClearingState(false); | 112 this.setClearingState(false); |
| 111 } | 113 } |
| 112 | 114 |
| 113 // Export | 115 // Export |
| 114 return { | 116 return { |
| 115 ClearBrowserDataOverlay: ClearBrowserDataOverlay | 117 ClearBrowserDataPage: ClearBrowserDataPage |
| 116 }; | 118 }; |
| 117 | 119 |
| 118 }); | 120 }); |
| 119 | 121 |
| OLD | NEW |