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" |
(...skipping 11 matching lines...) Expand all Loading... |
22 | 22 |
23 ClearBrowserDataHandler::~ClearBrowserDataHandler() { | 23 ClearBrowserDataHandler::~ClearBrowserDataHandler() { |
24 if (remover_) { | 24 if (remover_) { |
25 remover_->RemoveObserver(this); | 25 remover_->RemoveObserver(this); |
26 } | 26 } |
27 } | 27 } |
28 | 28 |
29 void ClearBrowserDataHandler::Initialize() { | 29 void ClearBrowserDataHandler::Initialize() { |
30 clear_plugin_lso_data_enabled_.Init(prefs::kClearPluginLSODataEnabled, | 30 clear_plugin_lso_data_enabled_.Init(prefs::kClearPluginLSODataEnabled, |
31 g_browser_process->local_state(), | 31 g_browser_process->local_state(), |
32 this); | 32 NULL); |
33 UpdateClearPluginLSOData(); | |
34 } | 33 } |
35 | 34 |
36 void ClearBrowserDataHandler::GetLocalizedValues( | 35 void ClearBrowserDataHandler::GetLocalizedValues( |
37 DictionaryValue* localized_strings) { | 36 DictionaryValue* localized_strings) { |
38 DCHECK(localized_strings); | 37 DCHECK(localized_strings); |
39 RegisterTitle(localized_strings, "clearBrowserDataOverlay", | 38 RegisterTitle(localized_strings, "clearBrowserDataOverlay", |
40 IDS_CLEAR_BROWSING_DATA_TITLE); | 39 IDS_CLEAR_BROWSING_DATA_TITLE); |
41 | 40 |
42 localized_strings->SetString("clearBrowserDataLabel", | 41 localized_strings->SetString("clearBrowserDataLabel", |
43 l10n_util::GetStringUTF16(IDS_CLEAR_BROWSING_DATA_LABEL)); | 42 l10n_util::GetStringUTF16(IDS_CLEAR_BROWSING_DATA_LABEL)); |
44 localized_strings->SetString("deleteBrowsingHistoryCheckbox", | 43 localized_strings->SetString("deleteBrowsingHistoryCheckbox", |
45 l10n_util::GetStringUTF16(IDS_DEL_BROWSING_HISTORY_CHKBOX)); | 44 l10n_util::GetStringUTF16(IDS_DEL_BROWSING_HISTORY_CHKBOX)); |
46 localized_strings->SetString("deleteDownloadHistoryCheckbox", | 45 localized_strings->SetString("deleteDownloadHistoryCheckbox", |
47 l10n_util::GetStringUTF16(IDS_DEL_DOWNLOAD_HISTORY_CHKBOX)); | 46 l10n_util::GetStringUTF16(IDS_DEL_DOWNLOAD_HISTORY_CHKBOX)); |
48 localized_strings->SetString("deleteCacheCheckbox", | 47 localized_strings->SetString("deleteCacheCheckbox", |
49 l10n_util::GetStringUTF16(IDS_DEL_CACHE_CHKBOX)); | 48 l10n_util::GetStringUTF16(IDS_DEL_CACHE_CHKBOX)); |
50 localized_strings->SetString("deleteCookiesCheckbox", | 49 localized_strings->SetString("deleteCookiesCheckbox", |
51 l10n_util::GetStringUTF16(IDS_DEL_COOKIES_CHKBOX)); | 50 l10n_util::GetStringUTF16(IDS_DEL_COOKIES_CHKBOX)); |
| 51 localized_strings->SetString("deleteCookiesFlashCheckbox", |
| 52 l10n_util::GetStringUTF16(IDS_DEL_COOKIES_FLASH_CHKBOX)); |
52 localized_strings->SetString("deletePasswordsCheckbox", | 53 localized_strings->SetString("deletePasswordsCheckbox", |
53 l10n_util::GetStringUTF16(IDS_DEL_PASSWORDS_CHKBOX)); | 54 l10n_util::GetStringUTF16(IDS_DEL_PASSWORDS_CHKBOX)); |
54 localized_strings->SetString("deleteFormDataCheckbox", | 55 localized_strings->SetString("deleteFormDataCheckbox", |
55 l10n_util::GetStringUTF16(IDS_DEL_FORM_DATA_CHKBOX)); | 56 l10n_util::GetStringUTF16(IDS_DEL_FORM_DATA_CHKBOX)); |
56 localized_strings->SetString("clearBrowserDataCommit", | 57 localized_strings->SetString("clearBrowserDataCommit", |
57 l10n_util::GetStringUTF16(IDS_CLEAR_BROWSING_DATA_COMMIT)); | 58 l10n_util::GetStringUTF16(IDS_CLEAR_BROWSING_DATA_COMMIT)); |
58 localized_strings->SetString("flashStorageSettings", | 59 localized_strings->SetString("flashStorageSettings", |
59 l10n_util::GetStringUTF16(IDS_FLASH_STORAGE_SETTINGS)); | 60 l10n_util::GetStringUTF16(IDS_FLASH_STORAGE_SETTINGS)); |
60 localized_strings->SetString("flash_storage_url", | 61 localized_strings->SetString("flash_storage_url", |
61 l10n_util::GetStringUTF16(IDS_FLASH_STORAGE_URL)); | 62 l10n_util::GetStringUTF16(IDS_FLASH_STORAGE_URL)); |
(...skipping 28 matching lines...) Expand all Loading... |
90 localized_strings->Set("clearBrowserDataTimeList", time_list); | 91 localized_strings->Set("clearBrowserDataTimeList", time_list); |
91 } | 92 } |
92 | 93 |
93 void ClearBrowserDataHandler::RegisterMessages() { | 94 void ClearBrowserDataHandler::RegisterMessages() { |
94 // Setup handlers specific to this panel. | 95 // Setup handlers specific to this panel. |
95 DCHECK(web_ui_); | 96 DCHECK(web_ui_); |
96 web_ui_->RegisterMessageCallback("performClearBrowserData", | 97 web_ui_->RegisterMessageCallback("performClearBrowserData", |
97 NewCallback(this, &ClearBrowserDataHandler::HandleClearBrowserData)); | 98 NewCallback(this, &ClearBrowserDataHandler::HandleClearBrowserData)); |
98 } | 99 } |
99 | 100 |
100 void ClearBrowserDataHandler::Observe(NotificationType type, | |
101 const NotificationSource& source, | |
102 const NotificationDetails& details) { | |
103 switch (type.value) { | |
104 case NotificationType::PREF_CHANGED: { | |
105 const std::string& pref_name = *Details<std::string>(details).ptr(); | |
106 if (pref_name == prefs::kClearPluginLSODataEnabled) | |
107 UpdateClearPluginLSOData(); | |
108 else | |
109 OptionsPageUIHandler::Observe(type, source, details); | |
110 break; | |
111 } | |
112 | |
113 default: | |
114 OptionsPageUIHandler::Observe(type, source, details); | |
115 } | |
116 } | |
117 | |
118 void ClearBrowserDataHandler::HandleClearBrowserData(const ListValue* value) { | 101 void ClearBrowserDataHandler::HandleClearBrowserData(const ListValue* value) { |
119 Profile* profile = web_ui_->GetProfile(); | 102 Profile* profile = web_ui_->GetProfile(); |
120 PrefService* prefs = profile->GetPrefs(); | 103 PrefService* prefs = profile->GetPrefs(); |
121 | 104 |
122 int remove_mask = 0; | 105 int remove_mask = 0; |
123 if (prefs->GetBoolean(prefs::kDeleteBrowsingHistory)) | 106 if (prefs->GetBoolean(prefs::kDeleteBrowsingHistory)) |
124 remove_mask |= BrowsingDataRemover::REMOVE_HISTORY; | 107 remove_mask |= BrowsingDataRemover::REMOVE_HISTORY; |
125 if (prefs->GetBoolean(prefs::kDeleteDownloadHistory)) | 108 if (prefs->GetBoolean(prefs::kDeleteDownloadHistory)) |
126 remove_mask |= BrowsingDataRemover::REMOVE_DOWNLOADS; | 109 remove_mask |= BrowsingDataRemover::REMOVE_DOWNLOADS; |
127 if (prefs->GetBoolean(prefs::kDeleteCache)) | 110 if (prefs->GetBoolean(prefs::kDeleteCache)) |
128 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; | 111 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; |
129 if (prefs->GetBoolean(prefs::kDeleteCookies)) { | 112 if (prefs->GetBoolean(prefs::kDeleteCookies)) { |
130 remove_mask |= BrowsingDataRemover::REMOVE_COOKIES; | 113 remove_mask |= BrowsingDataRemover::REMOVE_COOKIES; |
131 if (clear_plugin_lso_data_enabled_.GetValue()) | 114 if (*clear_plugin_lso_data_enabled_) |
132 remove_mask |= BrowsingDataRemover::REMOVE_LSO_DATA; | 115 remove_mask |= BrowsingDataRemover::REMOVE_LSO_DATA; |
133 } | 116 } |
134 if (prefs->GetBoolean(prefs::kDeletePasswords)) | 117 if (prefs->GetBoolean(prefs::kDeletePasswords)) |
135 remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS; | 118 remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS; |
136 if (prefs->GetBoolean(prefs::kDeleteFormData)) | 119 if (prefs->GetBoolean(prefs::kDeleteFormData)) |
137 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; | 120 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; |
138 | 121 |
139 int period_selected = prefs->GetInteger(prefs::kDeleteTimePeriod); | 122 int period_selected = prefs->GetInteger(prefs::kDeleteTimePeriod); |
140 | 123 |
141 FundamentalValue state(true); | 124 FundamentalValue state(true); |
142 web_ui_->CallJavascriptFunction("ClearBrowserDataOverlay.setClearingState", | 125 web_ui_->CallJavascriptFunction("ClearBrowserDataOverlay.setClearingState", |
143 state); | 126 state); |
144 | 127 |
145 // BrowsingDataRemover deletes itself when done. | 128 // BrowsingDataRemover deletes itself when done. |
146 remover_ = new BrowsingDataRemover(profile, | 129 remover_ = new BrowsingDataRemover(profile, |
147 static_cast<BrowsingDataRemover::TimePeriod>(period_selected), | 130 static_cast<BrowsingDataRemover::TimePeriod>(period_selected), |
148 base::Time()); | 131 base::Time()); |
149 remover_->AddObserver(this); | 132 remover_->AddObserver(this); |
150 remover_->Remove(remove_mask); | 133 remover_->Remove(remove_mask); |
151 } | 134 } |
152 | 135 |
153 void ClearBrowserDataHandler::UpdateClearPluginLSOData() { | |
154 int label_id = clear_plugin_lso_data_enabled_.GetValue() ? | |
155 IDS_DEL_COOKIES_FLASH_CHKBOX : | |
156 IDS_DEL_COOKIES_CHKBOX; | |
157 scoped_ptr<Value> label( | |
158 Value::CreateStringValue(l10n_util::GetStringUTF16(label_id))); | |
159 web_ui_->CallJavascriptFunction( | |
160 "ClearBrowserDataOverlay.setClearLocalDataLabel", *label); | |
161 } | |
162 | |
163 void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() { | 136 void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() { |
164 // No need to remove ourselves as an observer as BrowsingDataRemover deletes | 137 // No need to remove ourselves as an observer as BrowsingDataRemover deletes |
165 // itself after we return. | 138 // itself after we return. |
166 remover_ = NULL; | 139 remover_ = NULL; |
167 DCHECK(web_ui_); | 140 DCHECK(web_ui_); |
168 web_ui_->CallJavascriptFunction("ClearBrowserDataOverlay.doneClearing"); | 141 web_ui_->CallJavascriptFunction("ClearBrowserDataOverlay.doneClearing"); |
169 } | 142 } |
OLD | NEW |