Chromium Code Reviews| Index: chrome/browser/dom_ui/options/clear_browser_data_handler.cc |
| diff --git a/chrome/browser/dom_ui/options/clear_browser_data_handler.cc b/chrome/browser/dom_ui/options/clear_browser_data_handler.cc |
| index 21f21216727ca3bad24aa972c08b6fdea517163f..689c895c81f0f5aafff1e5f78db0e01054a76c14 100644 |
| --- a/chrome/browser/dom_ui/options/clear_browser_data_handler.cc |
| +++ b/chrome/browser/dom_ui/options/clear_browser_data_handler.cc |
| @@ -8,8 +8,10 @@ |
| #include "base/basictypes.h" |
| #include "base/string16.h" |
| #include "base/values.h" |
| +#include "chrome/browser/browser_process.h" |
| #include "chrome/browser/prefs/pref_service.h" |
| #include "chrome/browser/profiles/profile.h" |
| +#include "chrome/common/notification_details.h" |
| #include "chrome/common/pref_names.h" |
| #include "grit/chromium_strings.h" |
| #include "grit/generated_resources.h" |
| @@ -24,6 +26,13 @@ ClearBrowserDataHandler::~ClearBrowserDataHandler() { |
| } |
| } |
| +void ClearBrowserDataHandler::Initialize() { |
| + clear_plugin_lso_data_enabled_.Init(prefs::kClearPluginLSODataEnabled, |
| + g_browser_process->local_state(), |
| + this); |
| + UpdateClearPluginLSOData(); |
| +} |
| + |
| void ClearBrowserDataHandler::GetLocalizedValues( |
| DictionaryValue* localized_strings) { |
| DCHECK(localized_strings); |
| @@ -43,6 +52,8 @@ void ClearBrowserDataHandler::GetLocalizedValues( |
| l10n_util::GetStringUTF16(IDS_DEL_COOKIES_CHKBOX)); |
| localized_strings->SetString("deletePasswordsCheckbox", |
| l10n_util::GetStringUTF16(IDS_DEL_PASSWORDS_CHKBOX)); |
| + localized_strings->SetString("deleteLSODataCheckbox", |
| + l10n_util::GetStringUTF16(IDS_DEL_FLASH_DATA_CHKBOX)); |
| localized_strings->SetString("deleteFormDataCheckbox", |
| l10n_util::GetStringUTF16(IDS_DEL_FORM_DATA_CHKBOX)); |
| localized_strings->SetString("clearBrowsingDataCommit", |
| @@ -89,6 +100,22 @@ void ClearBrowserDataHandler::RegisterMessages() { |
| NewCallback(this, &ClearBrowserDataHandler::HandleClearBrowserData)); |
| } |
| +void ClearBrowserDataHandler::Observe(NotificationType type, |
| + const NotificationSource& source, |
| + const NotificationDetails& details) { |
| + switch (type.value) { |
| + case NotificationType::PREF_CHANGED: { |
| + const std::string& pref_name = *Details<std::string>(details).ptr(); |
| + if (pref_name == prefs::kClearPluginLSODataEnabled) |
| + UpdateClearPluginLSOData(); |
| + break; |
|
Evan Stade
2010/12/22 00:16:40
should unhandled PREF_CHANGED notifications be pas
Bernhard Bauer
2010/12/22 03:40:05
Hm. I don't want to confuse OptionsPageUIHandler w
|
| + } |
| + |
| + default: |
| + OptionsPageUIHandler::Observe(type, source, details); |
| + } |
| +} |
| + |
| void ClearBrowserDataHandler::HandleClearBrowserData(const ListValue* value) { |
| Profile *profile = dom_ui_->GetProfile(); |
| PrefService *prefs = profile->GetPrefs(); |
| @@ -104,6 +131,8 @@ void ClearBrowserDataHandler::HandleClearBrowserData(const ListValue* value) { |
| remove_mask |= BrowsingDataRemover::REMOVE_COOKIES; |
| if (prefs->GetBoolean(prefs::kDeletePasswords)) |
| remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS; |
| + if (prefs->GetBoolean(prefs::kDeleteLSOData)) |
| + remove_mask |= BrowsingDataRemover::REMOVE_LSO_DATA; |
| if (prefs->GetBoolean(prefs::kDeleteFormData)) |
| remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; |
| @@ -121,6 +150,14 @@ void ClearBrowserDataHandler::HandleClearBrowserData(const ListValue* value) { |
| remover_->Remove(remove_mask); |
| } |
| +void ClearBrowserDataHandler::UpdateClearPluginLSOData() { |
| + scoped_ptr<Value> enabled( |
| + Value::CreateBooleanValue(clear_plugin_lso_data_enabled_.GetValue())); |
| + dom_ui_->CallJavascriptFunction( |
| + L"ClearBrowserDataOverlay.setClearPluginLSODataEnabled", |
|
Evan Stade
2010/12/22 00:16:40
nit: no newline
Bernhard Bauer
2010/12/22 03:40:05
I think the rule is if you start breaking lines, y
Evan Stade
2010/12/22 21:36:16
actually I think either way is acceptable, but thi
Peter Kasting
2010/12/22 22:39:22
That's true of function declarations and definitio
Bernhard Bauer
2011/01/03 11:56:30
OK, Done.
|
| + *enabled); |
| +} |
| + |
| void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() { |
| // No need to remove ourselves as an observer as BrowsingDataRemover deletes |
| // itself after we return. |