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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/dom_ui/clear_browser_data_handler.h" 5 #include "chrome/browser/dom_ui/clear_browser_data_handler.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/pref_service.h"
11 #include "chrome/browser/profile.h"
12 #include "chrome/common/pref_names.h"
10 #include "grit/chromium_strings.h" 13 #include "grit/chromium_strings.h"
11 #include "grit/generated_resources.h" 14 #include "grit/generated_resources.h"
15 #include "grit/locale_settings.h"
12 16
13 ClearBrowserDataHandler::ClearBrowserDataHandler() { 17 ClearBrowserDataHandler::ClearBrowserDataHandler() {
14 } 18 }
15 19
16 ClearBrowserDataHandler::~ClearBrowserDataHandler() { 20 ClearBrowserDataHandler::~ClearBrowserDataHandler() {
17 } 21 }
18 22
19 void ClearBrowserDataHandler::GetLocalizedValues( 23 void ClearBrowserDataHandler::GetLocalizedValues(
20 DictionaryValue* localized_strings) { 24 DictionaryValue* localized_strings) {
21 DCHECK(localized_strings); 25 DCHECK(localized_strings);
22 localized_strings->SetString(L"clearBrowsingDataTitle", 26 localized_strings->SetString(L"clearBrowsingDataTitle",
23 l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_TITLE)); 27 l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_TITLE));
28 localized_strings->SetString(L"clearBrowsingDataLabel",
29 l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_LABEL));
30 localized_strings->SetString(L"clearBrowsingDataTimeLabel",
31 l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_TIME_LABEL));
32 localized_strings->SetString(L"deleteBrowsingHistoryCheckbox",
33 l10n_util::GetString(IDS_DEL_BROWSING_HISTORY_CHKBOX));
34 localized_strings->SetString(L"deleteDownloadHistoryCheckbox",
35 l10n_util::GetString(IDS_DEL_DOWNLOAD_HISTORY_CHKBOX));
36 localized_strings->SetString(L"deleteCacheCheckbox",
37 l10n_util::GetString(IDS_DEL_CACHE_CHKBOX));
38 localized_strings->SetString(L"deleteCookiesCheckbox",
39 l10n_util::GetString(IDS_DEL_COOKIES_CHKBOX));
40 localized_strings->SetString(L"deletePasswordsCheckbox",
41 l10n_util::GetString(IDS_DEL_PASSWORDS_CHKBOX));
42 localized_strings->SetString(L"deleteFormDataCheckbox",
43 l10n_util::GetString(IDS_DEL_FORM_DATA_CHKBOX));
44 localized_strings->SetString(L"clearBrowsingDataCommit",
45 l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_COMMIT));
46 localized_strings->SetString(L"flashStorageSettings",
47 l10n_util::GetString(IDS_FLASH_STORAGE_SETTINGS));
48 localized_strings->SetString(L"flash_storage_url",
49 l10n_util::GetString(IDS_FLASH_STORAGE_URL));
50 localized_strings->SetString(L"clearDataDeleting",
51 l10n_util::GetString(IDS_CLEAR_DATA_DELETING));
52
53 ListValue* time_list = new ListValue;
54 for (int i = 0; i < 5; i++) {
55 std::wstring label_string;
56 switch (i) {
57 case 0:
58 label_string = l10n_util::GetString(IDS_CLEAR_DATA_HOUR);
59 break;
60 case 1:
61 label_string = l10n_util::GetString(IDS_CLEAR_DATA_DAY);
62 break;
63 case 2:
64 label_string = l10n_util::GetString(IDS_CLEAR_DATA_WEEK);
65 break;
66 case 3:
67 label_string = l10n_util::GetString(IDS_CLEAR_DATA_4WEEKS);
68 break;
69 case 4:
70 label_string = l10n_util::GetString(IDS_CLEAR_DATA_EVERYTHING);
71 break;
72 }
73 ListValue* option = new ListValue();
74 option->Append(Value::CreateIntegerValue(i));
75 option->Append(Value::CreateStringValue(label_string));
76 time_list->Append(option);
77 }
78 localized_strings->Set(L"clearBrowsingDataTimeList", time_list);
24 } 79 }
25 80
81 void ClearBrowserDataHandler::RegisterMessages() {
82 // Setup handlers specific to this panel.
83 DCHECK(dom_ui_);
84 dom_ui_->RegisterMessageCallback("performClearBrowserData",
85 NewCallback(this, &ClearBrowserDataHandler::HandleClearBrowserData));
86 }
87
88 void ClearBrowserDataHandler::HandleClearBrowserData(const Value* value) {
89 Profile *profile = dom_ui_->GetProfile();
90 PrefService *prefs = profile->GetPrefs();
91
92 int remove_mask = 0;
93 if (prefs->GetBoolean(prefs::kDeleteBrowsingHistory))
94 remove_mask |= BrowsingDataRemover::REMOVE_HISTORY;
95 if (prefs->GetBoolean(prefs::kDeleteDownloadHistory))
96 remove_mask |= BrowsingDataRemover::REMOVE_DOWNLOADS;
97 if (prefs->GetBoolean(prefs::kDeleteCache))
98 remove_mask |= BrowsingDataRemover::REMOVE_CACHE;
99 if (prefs->GetBoolean(prefs::kDeleteCookies))
100 remove_mask |= BrowsingDataRemover::REMOVE_COOKIES;
101 if (prefs->GetBoolean(prefs::kDeletePasswords))
102 remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS;
103 if (prefs->GetBoolean(prefs::kDeleteFormData))
104 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA;
105
106 int period_selected = prefs->GetInteger(prefs::kDeleteTimePeriod);
107
108 FundamentalValue state(true);
109 dom_ui_->CallJavascriptFunction(L"clearBrowserDataSetClearingState", state);
110
111 // BrowsingDataRemover deletes itself when done.
112 remover_ = new BrowsingDataRemover(profile,
113 static_cast<BrowsingDataRemover::TimePeriod>(period_selected),
114 base::Time());
115 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).
116 remover_->Remove(remove_mask);
117 }
118
119 void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() {
120 // No need to remove ourselves as an observer as BrowsingDataRemover deletes
121 // itself after we return.
122 remover_ = NULL;
123 DCHECK(dom_ui_);
124 dom_ui_->CallJavascriptFunction(L"clearBrowserDataDismiss");
125 }
126
OLDNEW
« 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