Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1141)

Unified Diff: chrome/browser/dom_ui/clear_browser_data_handler.cc

Issue 2856053: Implement the 'Clear Browser Data' dom-ui overlay.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/dom_ui/clear_browser_data_handler.h ('k') | chrome/browser/dom_ui/core_options_handler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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");
+}
+
« no previous file with comments | « chrome/browser/dom_ui/clear_browser_data_handler.h ('k') | chrome/browser/dom_ui/core_options_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698