| 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 |