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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 Preferences.getInstance().addEventListener(type, f); | 45 Preferences.getInstance().addEventListener(type, f); |
46 }); | 46 }); |
47 | 47 |
48 var checkboxes = document.querySelectorAll( | 48 var checkboxes = document.querySelectorAll( |
49 '#cbd-content-area input[type=checkbox]'); | 49 '#cbd-content-area input[type=checkbox]'); |
50 for (var i = 0; i < checkboxes.length; i++) { | 50 for (var i = 0; i < checkboxes.length; i++) { |
51 checkboxes[i].onclick = f; | 51 checkboxes[i].onclick = f; |
52 } | 52 } |
53 this.updateCommitButtonState_(); | 53 this.updateCommitButtonState_(); |
54 | 54 |
| 55 this.createStuffRemainsFooter_(); |
| 56 |
55 $('clear-browser-data-dismiss').onclick = function(event) { | 57 $('clear-browser-data-dismiss').onclick = function(event) { |
56 ClearBrowserDataOverlay.dismiss(); | 58 ClearBrowserDataOverlay.dismiss(); |
57 }; | 59 }; |
58 $('clear-browser-data-commit').onclick = function(event) { | 60 $('clear-browser-data-commit').onclick = function(event) { |
59 ClearBrowserDataOverlay.setClearingState(true); | 61 ClearBrowserDataOverlay.setClearingState(true); |
60 chrome.send('performClearBrowserData'); | 62 chrome.send('performClearBrowserData'); |
61 }; | 63 }; |
62 | 64 |
63 var show = loadTimeData.getBoolean('showDeleteBrowsingHistoryCheckboxes'); | 65 var show = loadTimeData.getBoolean('showDeleteBrowsingHistoryCheckboxes'); |
64 this.showDeleteHistoryCheckboxes_(show); | 66 this.showDeleteHistoryCheckboxes_(show); |
65 }, | 67 }, |
66 | 68 |
| 69 // Create a footer that explains that some content is not cleared by the |
| 70 // clear browsing history dialog. |
| 71 createStuffRemainsFooter_: function() { |
| 72 // The localized string is of the form "Saved [content settings] and |
| 73 // {search engines} will not be cleared and may reflect your browsing |
| 74 // habits.". The following parses out the parts in brackts and braces and |
| 75 // converts them into buttons whereas the remainders are represented as |
| 76 // span elements. |
| 77 var footer = |
| 78 document.querySelector('#some-stuff-remains-footer p'); |
| 79 var footerFragments = |
| 80 loadTimeData.getString('contentSettingsAndSearchEnginesRemain') |
| 81 .split(/([|#])/); |
| 82 for (var i = 0; i < footerFragments.length;) { |
| 83 var buttonId = ''; |
| 84 if (i + 2 < footerFragments.length) { |
| 85 if (footerFragments[i] == '|' && footerFragments[i + 2] == '|') { |
| 86 buttonId = 'open-content-settings-from-clear-browsing-data'; |
| 87 } else if (footerFragments[i] == '#' && |
| 88 footerFragments[i + 2] == '#') { |
| 89 buttonId = 'open-search-engines-from-clear-browsing-data'; |
| 90 } |
| 91 } |
| 92 |
| 93 if (buttonId != '') { |
| 94 var button = document.createElement('button'); |
| 95 button.setAttribute('id', buttonId); |
| 96 button.setAttribute('class', 'link-button'); |
| 97 button.textContent = footerFragments[i + 1]; |
| 98 footer.appendChild(button); |
| 99 i += 3; |
| 100 } else { |
| 101 var span = document.createElement('span'); |
| 102 span.textContent = footerFragments[i]; |
| 103 footer.appendChild(span); |
| 104 i += 1; |
| 105 } |
| 106 } |
| 107 $('open-content-settings-from-clear-browsing-data').onclick = |
| 108 function(event) { |
| 109 OptionsPage.navigateToPage('content'); |
| 110 } |
| 111 $('open-search-engines-from-clear-browsing-data').onclick = |
| 112 function(event) { |
| 113 OptionsPage.navigateToPage('searchEngines'); |
| 114 } |
| 115 }, |
| 116 |
67 // Set the enabled state of the commit button. | 117 // Set the enabled state of the commit button. |
68 updateCommitButtonState_: function() { | 118 updateCommitButtonState_: function() { |
69 var checkboxes = document.querySelectorAll( | 119 var checkboxes = document.querySelectorAll( |
70 '#cbd-content-area input[type=checkbox]'); | 120 '#cbd-content-area input[type=checkbox]'); |
71 var isChecked = false; | 121 var isChecked = false; |
72 for (var i = 0; i < checkboxes.length; i++) { | 122 for (var i = 0; i < checkboxes.length; i++) { |
73 if (checkboxes[i].checked) { | 123 if (checkboxes[i].checked) { |
74 isChecked = true; | 124 isChecked = true; |
75 break; | 125 break; |
76 } | 126 } |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 ClearBrowserDataOverlay.dismiss = function() { | 200 ClearBrowserDataOverlay.dismiss = function() { |
151 OptionsPage.closeOverlay(); | 201 OptionsPage.closeOverlay(); |
152 this.setClearingState(false); | 202 this.setClearingState(false); |
153 }; | 203 }; |
154 | 204 |
155 // Export | 205 // Export |
156 return { | 206 return { |
157 ClearBrowserDataOverlay: ClearBrowserDataOverlay | 207 ClearBrowserDataOverlay: ClearBrowserDataOverlay |
158 }; | 208 }; |
159 }); | 209 }); |
OLD | NEW |