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 #include "chrome/browser/ui/webui/options/clear_browser_data_handler.h" | 5 #include "chrome/browser/ui/webui/options/clear_browser_data_handler.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
10 #include "base/string16.h" | 10 #include "base/string16.h" |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 Profile* profile = Profile::FromWebUI(web_ui_); | 96 Profile* profile = Profile::FromWebUI(web_ui_); |
97 PrefService* prefs = profile->GetPrefs(); | 97 PrefService* prefs = profile->GetPrefs(); |
98 | 98 |
99 int remove_mask = 0; | 99 int remove_mask = 0; |
100 if (prefs->GetBoolean(prefs::kDeleteBrowsingHistory)) | 100 if (prefs->GetBoolean(prefs::kDeleteBrowsingHistory)) |
101 remove_mask |= BrowsingDataRemover::REMOVE_HISTORY; | 101 remove_mask |= BrowsingDataRemover::REMOVE_HISTORY; |
102 if (prefs->GetBoolean(prefs::kDeleteDownloadHistory)) | 102 if (prefs->GetBoolean(prefs::kDeleteDownloadHistory)) |
103 remove_mask |= BrowsingDataRemover::REMOVE_DOWNLOADS; | 103 remove_mask |= BrowsingDataRemover::REMOVE_DOWNLOADS; |
104 if (prefs->GetBoolean(prefs::kDeleteCache)) | 104 if (prefs->GetBoolean(prefs::kDeleteCache)) |
105 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; | 105 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; |
106 if (prefs->GetBoolean(prefs::kDeleteCookies)) | 106 if (prefs->GetBoolean(prefs::kDeleteCookies)) { |
107 remove_mask |= BrowsingDataRemover::REMOVE_SITE_DATA; | 107 int site_data_mask = BrowsingDataRemover::REMOVE_SITE_DATA; |
| 108 // Don't try to clear LSO data if it's not supported. |
| 109 if (!*clear_plugin_lso_data_enabled_) |
| 110 site_data_mask &= ~BrowsingDataRemover::REMOVE_LSO_DATA; |
| 111 remove_mask |= site_data_mask; |
| 112 } |
108 if (prefs->GetBoolean(prefs::kDeletePasswords)) | 113 if (prefs->GetBoolean(prefs::kDeletePasswords)) |
109 remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS; | 114 remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS; |
110 if (prefs->GetBoolean(prefs::kDeleteFormData)) | 115 if (prefs->GetBoolean(prefs::kDeleteFormData)) |
111 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; | 116 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; |
112 | 117 |
113 int period_selected = prefs->GetInteger(prefs::kDeleteTimePeriod); | 118 int period_selected = prefs->GetInteger(prefs::kDeleteTimePeriod); |
114 | 119 |
115 base::FundamentalValue state(true); | 120 base::FundamentalValue state(true); |
116 web_ui_->CallJavascriptFunction("ClearBrowserDataOverlay.setClearingState", | 121 web_ui_->CallJavascriptFunction("ClearBrowserDataOverlay.setClearingState", |
117 state); | 122 state); |
(...skipping 11 matching lines...) Expand all Loading... |
129 remover_->Remove(remove_mask); | 134 remover_->Remove(remove_mask); |
130 } | 135 } |
131 | 136 |
132 void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() { | 137 void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() { |
133 // No need to remove ourselves as an observer as BrowsingDataRemover deletes | 138 // No need to remove ourselves as an observer as BrowsingDataRemover deletes |
134 // itself after we return. | 139 // itself after we return. |
135 remover_ = NULL; | 140 remover_ = NULL; |
136 DCHECK(web_ui_); | 141 DCHECK(web_ui_); |
137 web_ui_->CallJavascriptFunction("ClearBrowserDataOverlay.doneClearing"); | 142 web_ui_->CallJavascriptFunction("ClearBrowserDataOverlay.doneClearing"); |
138 } | 143 } |
OLD | NEW |