Index: chrome/browser/dom_ui/clear_browser_data_handler.cc |
=================================================================== |
--- chrome/browser/dom_ui/clear_browser_data_handler.cc (revision 53227) |
+++ chrome/browser/dom_ui/clear_browser_data_handler.cc (working copy) |
@@ -7,8 +7,12 @@ |
#include "app/l10n_util.h" |
#include "base/basictypes.h" |
#include "base/values.h" |
+#include "chrome/browser/pref_service.h" |
+#include "chrome/browser/profile.h" |
+#include "chrome/common/pref_names.h" |
#include "grit/chromium_strings.h" |
#include "grit/generated_resources.h" |
+#include "grit/locale_settings.h" |
ClearBrowserDataHandler::ClearBrowserDataHandler() { |
} |
@@ -21,5 +25,102 @@ |
DCHECK(localized_strings); |
localized_strings->SetString(L"clearBrowsingDataTitle", |
l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_TITLE)); |
+ localized_strings->SetString(L"clearBrowsingDataLabel", |
+ l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_LABEL)); |
+ localized_strings->SetString(L"clearBrowsingDataTimeLabel", |
+ l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_TIME_LABEL)); |
+ localized_strings->SetString(L"deleteBrowsingHistoryCheckbox", |
+ l10n_util::GetString(IDS_DEL_BROWSING_HISTORY_CHKBOX)); |
+ localized_strings->SetString(L"deleteDownloadHistoryCheckbox", |
+ l10n_util::GetString(IDS_DEL_DOWNLOAD_HISTORY_CHKBOX)); |
+ localized_strings->SetString(L"deleteCacheCheckbox", |
+ l10n_util::GetString(IDS_DEL_CACHE_CHKBOX)); |
+ localized_strings->SetString(L"deleteCookiesCheckbox", |
+ l10n_util::GetString(IDS_DEL_COOKIES_CHKBOX)); |
+ localized_strings->SetString(L"deletePasswordsCheckbox", |
+ l10n_util::GetString(IDS_DEL_PASSWORDS_CHKBOX)); |
+ localized_strings->SetString(L"deleteFormDataCheckbox", |
+ l10n_util::GetString(IDS_DEL_FORM_DATA_CHKBOX)); |
+ localized_strings->SetString(L"clearBrowsingDataCommit", |
+ l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_COMMIT)); |
+ localized_strings->SetString(L"flashStorageSettings", |
+ l10n_util::GetString(IDS_FLASH_STORAGE_SETTINGS)); |
+ localized_strings->SetString(L"flash_storage_url", |
+ l10n_util::GetString(IDS_FLASH_STORAGE_URL)); |
+ localized_strings->SetString(L"clearDataDeleting", |
+ l10n_util::GetString(IDS_CLEAR_DATA_DELETING)); |
+ |
+ ListValue* time_list = new ListValue; |
+ for (int i = 0; i < 5; i++) { |
+ std::wstring label_string; |
+ switch (i) { |
+ case 0: |
+ label_string = l10n_util::GetString(IDS_CLEAR_DATA_HOUR); |
+ break; |
+ case 1: |
+ label_string = l10n_util::GetString(IDS_CLEAR_DATA_DAY); |
+ break; |
+ case 2: |
+ label_string = l10n_util::GetString(IDS_CLEAR_DATA_WEEK); |
+ break; |
+ case 3: |
+ label_string = l10n_util::GetString(IDS_CLEAR_DATA_4WEEKS); |
+ break; |
+ case 4: |
+ label_string = l10n_util::GetString(IDS_CLEAR_DATA_EVERYTHING); |
+ break; |
+ } |
+ ListValue* option = new ListValue(); |
+ option->Append(Value::CreateIntegerValue(i)); |
+ option->Append(Value::CreateStringValue(label_string)); |
+ time_list->Append(option); |
+ } |
+ localized_strings->Set(L"clearBrowsingDataTimeList", time_list); |
} |
+void ClearBrowserDataHandler::RegisterMessages() { |
+ // Setup handlers specific to this panel. |
+ DCHECK(dom_ui_); |
+ dom_ui_->RegisterMessageCallback("performClearBrowserData", |
+ NewCallback(this, &ClearBrowserDataHandler::HandleClearBrowserData)); |
+} |
+ |
+void ClearBrowserDataHandler::HandleClearBrowserData(const Value* value) { |
+ Profile *profile = dom_ui_->GetProfile(); |
+ PrefService *prefs = profile->GetPrefs(); |
+ |
+ int remove_mask = 0; |
+ if (prefs->GetBoolean(prefs::kDeleteBrowsingHistory)) |
+ remove_mask |= BrowsingDataRemover::REMOVE_HISTORY; |
+ if (prefs->GetBoolean(prefs::kDeleteDownloadHistory)) |
+ remove_mask |= BrowsingDataRemover::REMOVE_DOWNLOADS; |
+ if (prefs->GetBoolean(prefs::kDeleteCache)) |
+ remove_mask |= BrowsingDataRemover::REMOVE_CACHE; |
+ if (prefs->GetBoolean(prefs::kDeleteCookies)) |
+ remove_mask |= BrowsingDataRemover::REMOVE_COOKIES; |
+ if (prefs->GetBoolean(prefs::kDeletePasswords)) |
+ remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS; |
+ if (prefs->GetBoolean(prefs::kDeleteFormData)) |
+ remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; |
+ |
+ int period_selected = prefs->GetInteger(prefs::kDeleteTimePeriod); |
+ |
+ FundamentalValue state(true); |
+ dom_ui_->CallJavascriptFunction(L"clearBrowserDataSetClearingState", state); |
+ |
+ // BrowsingDataRemover deletes itself when done. |
+ remover_ = new BrowsingDataRemover(profile, |
+ static_cast<BrowsingDataRemover::TimePeriod>(period_selected), |
+ base::Time()); |
+ remover_->AddObserver(this); |
zel
2010/07/23 01:18:14
I don't see you removing this observer in this cla
csilv
2010/07/26 19:21:52
Done. (will be put in new CL).
|
+ remover_->Remove(remove_mask); |
+} |
+ |
+void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() { |
+ // No need to remove ourselves as an observer as BrowsingDataRemover deletes |
+ // itself after we return. |
+ remover_ = NULL; |
+ DCHECK(dom_ui_); |
+ dom_ui_->CallJavascriptFunction(L"clearBrowserDataDismiss"); |
+} |
+ |