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/string16.h" | 8 #include "base/string16.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
11 #include "chrome/browser/prefs/pref_service.h" | 11 #include "chrome/browser/prefs/pref_service.h" |
12 #include "chrome/browser/profiles/profile.h" | 12 #include "chrome/browser/profiles/profile.h" |
13 #include "chrome/common/pref_names.h" | 13 #include "chrome/common/pref_names.h" |
| 14 #include "content/browser/tab_contents/tab_contents.h" |
14 #include "content/common/notification_details.h" | 15 #include "content/common/notification_details.h" |
15 #include "grit/chromium_strings.h" | 16 #include "grit/chromium_strings.h" |
16 #include "grit/generated_resources.h" | 17 #include "grit/generated_resources.h" |
17 #include "grit/locale_settings.h" | 18 #include "grit/locale_settings.h" |
18 #include "ui/base/l10n/l10n_util.h" | 19 #include "ui/base/l10n/l10n_util.h" |
19 | 20 |
20 ClearBrowserDataHandler::ClearBrowserDataHandler() : remover_(NULL) { | 21 ClearBrowserDataHandler::ClearBrowserDataHandler() : remover_(NULL) { |
21 } | 22 } |
22 | 23 |
23 ClearBrowserDataHandler::~ClearBrowserDataHandler() { | 24 ClearBrowserDataHandler::~ClearBrowserDataHandler() { |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 } | 84 } |
84 | 85 |
85 void ClearBrowserDataHandler::RegisterMessages() { | 86 void ClearBrowserDataHandler::RegisterMessages() { |
86 // Setup handlers specific to this panel. | 87 // Setup handlers specific to this panel. |
87 DCHECK(web_ui_); | 88 DCHECK(web_ui_); |
88 web_ui_->RegisterMessageCallback("performClearBrowserData", | 89 web_ui_->RegisterMessageCallback("performClearBrowserData", |
89 NewCallback(this, &ClearBrowserDataHandler::HandleClearBrowserData)); | 90 NewCallback(this, &ClearBrowserDataHandler::HandleClearBrowserData)); |
90 } | 91 } |
91 | 92 |
92 void ClearBrowserDataHandler::HandleClearBrowserData(const ListValue* value) { | 93 void ClearBrowserDataHandler::HandleClearBrowserData(const ListValue* value) { |
93 Profile* profile = web_ui_->GetProfile(); | 94 Profile* profile = |
| 95 Profile::FromBrowserContext(web_ui_->tab_contents()->browser_context()); |
94 PrefService* prefs = profile->GetPrefs(); | 96 PrefService* prefs = profile->GetPrefs(); |
95 | 97 |
96 int remove_mask = 0; | 98 int remove_mask = 0; |
97 if (prefs->GetBoolean(prefs::kDeleteBrowsingHistory)) | 99 if (prefs->GetBoolean(prefs::kDeleteBrowsingHistory)) |
98 remove_mask |= BrowsingDataRemover::REMOVE_HISTORY; | 100 remove_mask |= BrowsingDataRemover::REMOVE_HISTORY; |
99 if (prefs->GetBoolean(prefs::kDeleteDownloadHistory)) | 101 if (prefs->GetBoolean(prefs::kDeleteDownloadHistory)) |
100 remove_mask |= BrowsingDataRemover::REMOVE_DOWNLOADS; | 102 remove_mask |= BrowsingDataRemover::REMOVE_DOWNLOADS; |
101 if (prefs->GetBoolean(prefs::kDeleteCache)) | 103 if (prefs->GetBoolean(prefs::kDeleteCache)) |
102 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; | 104 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; |
103 if (prefs->GetBoolean(prefs::kDeleteCookies)) { | 105 if (prefs->GetBoolean(prefs::kDeleteCookies)) { |
(...skipping 25 matching lines...) Expand all Loading... |
129 remover_->Remove(remove_mask); | 131 remover_->Remove(remove_mask); |
130 } | 132 } |
131 | 133 |
132 void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() { | 134 void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() { |
133 // No need to remove ourselves as an observer as BrowsingDataRemover deletes | 135 // No need to remove ourselves as an observer as BrowsingDataRemover deletes |
134 // itself after we return. | 136 // itself after we return. |
135 remover_ = NULL; | 137 remover_ = NULL; |
136 DCHECK(web_ui_); | 138 DCHECK(web_ui_); |
137 web_ui_->CallJavascriptFunction("ClearBrowserDataOverlay.doneClearing"); | 139 web_ui_->CallJavascriptFunction("ClearBrowserDataOverlay.doneClearing"); |
138 } | 140 } |
OLD | NEW |