| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 var OptionsPage = options.OptionsPage; | 6 var OptionsPage = options.OptionsPage; |
| 7 | 7 |
| 8 /** | 8 /** |
| 9 * ClearBrowserDataOverlay class | 9 * ClearBrowserDataOverlay class |
| 10 * Encapsulated handling of the 'Clear Browser Data' overlay page. | 10 * Encapsulated handling of the 'Clear Browser Data' overlay page. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 // Call base class implementation to starts preference initialization. | 29 // Call base class implementation to starts preference initialization. |
| 30 OptionsPage.prototype.initializePage.call(this); | 30 OptionsPage.prototype.initializePage.call(this); |
| 31 | 31 |
| 32 var f = this.updateCommitButtonState_.bind(this); | 32 var f = this.updateCommitButtonState_.bind(this); |
| 33 var types = ['browser.clear_data.browsing_history', | 33 var types = ['browser.clear_data.browsing_history', |
| 34 'browser.clear_data.download_history', | 34 'browser.clear_data.download_history', |
| 35 'browser.clear_data.cache', | 35 'browser.clear_data.cache', |
| 36 'browser.clear_data.cookies', | 36 'browser.clear_data.cookies', |
| 37 'browser.clear_data.passwords', | 37 'browser.clear_data.passwords', |
| 38 'browser.clear_data.form_data', | 38 'browser.clear_data.form_data', |
| 39 'browser.clear_data.hosted_apps_data', |
| 39 'browser.clear_data.content_licenses']; | 40 'browser.clear_data.content_licenses']; |
| 40 types.forEach(function(type) { | 41 types.forEach(function(type) { |
| 41 Preferences.getInstance().addEventListener(type, f); | 42 Preferences.getInstance().addEventListener(type, f); |
| 42 }); | 43 }); |
| 43 | 44 |
| 44 var checkboxes = document.querySelectorAll( | 45 var checkboxes = document.querySelectorAll( |
| 45 '#cbdContentArea input[type=checkbox]'); | 46 '#cbdContentArea input[type=checkbox]'); |
| 46 for (var i = 0; i < checkboxes.length; i++) { | 47 for (var i = 0; i < checkboxes.length; i++) { |
| 47 checkboxes[i].onclick = f; | 48 checkboxes[i].onclick = f; |
| 48 } | 49 } |
| 49 this.updateCommitButtonState_(); | 50 this.updateCommitButtonState_(); |
| 50 | 51 |
| 51 $('clearBrowserDataDismiss').onclick = function(event) { | 52 $('clearBrowserDataDismiss').onclick = function(event) { |
| 52 ClearBrowserDataOverlay.dismiss(); | 53 ClearBrowserDataOverlay.dismiss(); |
| 53 }; | 54 }; |
| 54 $('clearBrowserDataCommit').onclick = function(event) { | 55 $('clearBrowserDataCommit').onclick = function(event) { |
| 56 ClearBrowserDataOverlay.setClearingState(true); |
| 55 chrome.send('performClearBrowserData'); | 57 chrome.send('performClearBrowserData'); |
| 56 }; | 58 }; |
| 57 }, | 59 }, |
| 58 | 60 |
| 59 // Set the enabled state of the commit button. | 61 // Set the enabled state of the commit button. |
| 60 updateCommitButtonState_: function() { | 62 updateCommitButtonState_: function() { |
| 61 var checkboxes = document.querySelectorAll( | 63 var checkboxes = document.querySelectorAll( |
| 62 '#cbdContentArea input[type=checkbox]'); | 64 '#cbdContentArea input[type=checkbox]'); |
| 63 var isChecked = false; | 65 var isChecked = false; |
| 64 for (var i = 0; i < checkboxes.length; i++) { | 66 for (var i = 0; i < checkboxes.length; i++) { |
| 65 if (checkboxes[i].checked) { | 67 if (checkboxes[i].checked) { |
| 66 isChecked = true; | 68 isChecked = true; |
| 67 break; | 69 break; |
| 68 } | 70 } |
| 69 } | 71 } |
| 70 $('clearBrowserDataCommit').disabled = !isChecked; | 72 $('clearBrowserDataCommit').disabled = !isChecked; |
| 71 }, | 73 }, |
| 72 }; | 74 }; |
| 73 | 75 |
| 74 // | 76 // |
| 75 // Chrome callbacks | 77 // Chrome callbacks |
| 76 // | 78 // |
| 77 ClearBrowserDataOverlay.setClearingState = function(state) { | 79 ClearBrowserDataOverlay.setClearingState = function(state) { |
| 78 $('deleteBrowsingHistoryCheckbox').disabled = state; | 80 $('deleteBrowsingHistoryCheckbox').disabled = state; |
| 79 $('deleteDownloadHistoryCheckbox').disabled = state; | 81 $('deleteDownloadHistoryCheckbox').disabled = state; |
| 80 $('deleteCacheCheckbox').disabled = state; | 82 $('deleteCacheCheckbox').disabled = state; |
| 81 $('deleteCookiesCheckbox').disabled = state; | 83 $('deleteCookiesCheckbox').disabled = state; |
| 82 $('deletePasswordsCheckbox').disabled = state; | 84 $('deletePasswordsCheckbox').disabled = state; |
| 83 $('deleteFormDataCheckbox').disabled = state; | 85 $('deleteFormDataCheckbox').disabled = state; |
| 86 $('deleteHostedAppsDataCheckbox').disabled = state; |
| 84 $('deauthorizeContentLicensesCheckbox').disabled = state; | 87 $('deauthorizeContentLicensesCheckbox').disabled = state; |
| 85 $('clearBrowserDataTimePeriod').disabled = state; | 88 $('clearBrowserDataTimePeriod').disabled = state; |
| 86 $('cbdThrobber').style.visibility = state ? 'visible' : 'hidden'; | 89 $('cbdThrobber').style.visibility = state ? 'visible' : 'hidden'; |
| 90 $('clearBrowserDataDismiss').disabled = state; |
| 87 | 91 |
| 88 if (state) | 92 if (state) |
| 89 $('clearBrowserDataCommit').disabled = true; | 93 $('clearBrowserDataCommit').disabled = true; |
| 90 else | 94 else |
| 91 ClearBrowserDataOverlay.getInstance().updateCommitButtonState_(); | 95 ClearBrowserDataOverlay.getInstance().updateCommitButtonState_(); |
| 92 }; | 96 }; |
| 93 | 97 |
| 94 ClearBrowserDataOverlay.doneClearing = function() { | 98 ClearBrowserDataOverlay.doneClearing = function() { |
| 95 // The delay gives the user some feedback that the clearing | 99 // The delay gives the user some feedback that the clearing |
| 96 // actually worked. Otherwise the dialog just vanishes instantly in most | 100 // actually worked. Otherwise the dialog just vanishes instantly in most |
| 97 // cases. | 101 // cases. |
| 98 window.setTimeout(function() { | 102 window.setTimeout(function() { |
| 99 ClearBrowserDataOverlay.dismiss(); | 103 ClearBrowserDataOverlay.dismiss(); |
| 100 }, 200); | 104 }, 200); |
| 101 }; | 105 }; |
| 102 | 106 |
| 103 ClearBrowserDataOverlay.dismiss = function() { | 107 ClearBrowserDataOverlay.dismiss = function() { |
| 104 OptionsPage.closeOverlay(); | 108 OptionsPage.closeOverlay(); |
| 105 this.setClearingState(false); | 109 this.setClearingState(false); |
| 106 }; | 110 }; |
| 107 | 111 |
| 108 // Export | 112 // Export |
| 109 return { | 113 return { |
| 110 ClearBrowserDataOverlay: ClearBrowserDataOverlay | 114 ClearBrowserDataOverlay: ClearBrowserDataOverlay |
| 111 }; | 115 }; |
| 112 }); | 116 }); |
| OLD | NEW |