| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/options2/clear_browser_data_handler.h" | 5 #include "chrome/browser/ui/webui/options2/clear_browser_data_handler.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/string16.h" | 10 #include "base/string16.h" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 if (remover_) | 38 if (remover_) |
| 39 remover_->RemoveObserver(this); | 39 remover_->RemoveObserver(this); |
| 40 } | 40 } |
| 41 | 41 |
| 42 void ClearBrowserDataHandler::InitializeHandler() { | 42 void ClearBrowserDataHandler::InitializeHandler() { |
| 43 clear_plugin_lso_data_enabled_.Init(prefs::kClearPluginLSODataEnabled, | 43 clear_plugin_lso_data_enabled_.Init(prefs::kClearPluginLSODataEnabled, |
| 44 Profile::FromWebUI(web_ui())->GetPrefs(), | 44 Profile::FromWebUI(web_ui())->GetPrefs(), |
| 45 NULL); | 45 NULL); |
| 46 } | 46 } |
| 47 | 47 |
| 48 ListValue* CreateClearOption(BrowsingDataRemover::TimePeriod period, int id) { |
| 49 ListValue* option = new ListValue(); |
| 50 option->Append(Value::CreateIntegerValue(period)); |
| 51 option->Append(Value::CreateStringValue(l10n_util::GetStringUTF16(id))); |
| 52 return option; |
| 53 } |
| 54 |
| 48 void ClearBrowserDataHandler::GetLocalizedValues( | 55 void ClearBrowserDataHandler::GetLocalizedValues( |
| 49 DictionaryValue* localized_strings) { | 56 DictionaryValue* localized_strings) { |
| 50 DCHECK(localized_strings); | 57 DCHECK(localized_strings); |
| 51 | 58 |
| 52 static OptionsStringResource resources[] = { | 59 static OptionsStringResource resources[] = { |
| 53 { "clearBrowserDataLabel", IDS_CLEAR_BROWSING_DATA_LABEL }, | 60 { "clearBrowserDataLabel", IDS_CLEAR_BROWSING_DATA_LABEL }, |
| 54 { "deleteBrowsingHistoryCheckbox", IDS_DEL_BROWSING_HISTORY_CHKBOX }, | 61 { "deleteBrowsingHistoryCheckbox", IDS_DEL_BROWSING_HISTORY_CHKBOX }, |
| 55 { "deleteDownloadHistoryCheckbox", IDS_DEL_DOWNLOAD_HISTORY_CHKBOX }, | 62 { "deleteDownloadHistoryCheckbox", IDS_DEL_DOWNLOAD_HISTORY_CHKBOX }, |
| 56 { "deleteCacheCheckbox", IDS_DEL_CACHE_CHKBOX }, | 63 { "deleteCacheCheckbox", IDS_DEL_CACHE_CHKBOX }, |
| 57 { "deleteCookiesCheckbox", IDS_DEL_COOKIES_CHKBOX }, | 64 { "deleteCookiesCheckbox", IDS_DEL_COOKIES_CHKBOX }, |
| 58 { "deleteCookiesFlashCheckbox", IDS_DEL_COOKIES_FLASH_CHKBOX }, | 65 { "deleteCookiesFlashCheckbox", IDS_DEL_COOKIES_FLASH_CHKBOX }, |
| 59 { "deletePasswordsCheckbox", IDS_DEL_PASSWORDS_CHKBOX }, | 66 { "deletePasswordsCheckbox", IDS_DEL_PASSWORDS_CHKBOX }, |
| 60 { "deleteFormDataCheckbox", IDS_DEL_FORM_DATA_CHKBOX }, | 67 { "deleteFormDataCheckbox", IDS_DEL_FORM_DATA_CHKBOX }, |
| 61 { "deleteHostedAppsDataCheckbox", IDS_DEL_HOSTED_APPS_DATA_CHKBOX }, | 68 { "deleteHostedAppsDataCheckbox", IDS_DEL_HOSTED_APPS_DATA_CHKBOX }, |
| 62 { "deauthorizeContentLicensesCheckbox", | 69 { "deauthorizeContentLicensesCheckbox", |
| 63 IDS_DEAUTHORIZE_CONTENT_LICENSES_CHKBOX }, | 70 IDS_DEAUTHORIZE_CONTENT_LICENSES_CHKBOX }, |
| 64 { "clearBrowserDataCommit", IDS_CLEAR_BROWSING_DATA_COMMIT }, | 71 { "clearBrowserDataCommit", IDS_CLEAR_BROWSING_DATA_COMMIT }, |
| 65 { "flash_storage_url", IDS_FLASH_STORAGE_URL }, | 72 { "flash_storage_url", IDS_FLASH_STORAGE_URL }, |
| 66 }; | 73 }; |
| 67 | 74 |
| 68 RegisterStrings(localized_strings, resources, arraysize(resources)); | 75 RegisterStrings(localized_strings, resources, arraysize(resources)); |
| 69 RegisterTitle(localized_strings, "clearBrowserDataOverlay", | 76 RegisterTitle(localized_strings, "clearBrowserDataOverlay", |
| 70 IDS_CLEAR_BROWSING_DATA_TITLE); | 77 IDS_CLEAR_BROWSING_DATA_TITLE); |
| 71 localized_strings->SetString( | 78 localized_strings->SetString( |
| 72 "clearBrowsingDataLearnMoreUrl", | 79 "clearBrowsingDataLearnMoreUrl", |
| 73 google_util::StringAppendGoogleLocaleParam( | 80 google_util::StringAppendGoogleLocaleParam( |
| 74 kClearBrowsingDataLearnMoreUrl)); | 81 kClearBrowsingDataLearnMoreUrl)); |
| 75 | 82 |
| 76 ListValue* time_list = new ListValue; | 83 ListValue* time_list = new ListValue; |
| 77 for (int i = 0; i < 5; i++) { | 84 time_list->Append(CreateClearOption( |
| 78 string16 label_string; | 85 BrowsingDataRemover::LAST_HOUR, IDS_CLEAR_DATA_HOUR)); |
| 79 switch (i) { | 86 time_list->Append(CreateClearOption( |
| 80 case 0: | 87 BrowsingDataRemover::LAST_DAY, IDS_CLEAR_DATA_DAY)); |
| 81 label_string = l10n_util::GetStringUTF16(IDS_CLEAR_DATA_HOUR); | 88 time_list->Append(CreateClearOption( |
| 82 break; | 89 BrowsingDataRemover::LAST_WEEK, IDS_CLEAR_DATA_WEEK)); |
| 83 case 1: | 90 time_list->Append(CreateClearOption( |
| 84 label_string = l10n_util::GetStringUTF16(IDS_CLEAR_DATA_DAY); | 91 BrowsingDataRemover::FOUR_WEEKS, IDS_CLEAR_DATA_4WEEKS)); |
| 85 break; | 92 time_list->Append(CreateClearOption( |
| 86 case 2: | 93 BrowsingDataRemover::EXCEPT_LAST_HOUR, IDS_CLEAR_DATA_OLDER_THAN_1HOUR)); |
| 87 label_string = l10n_util::GetStringUTF16(IDS_CLEAR_DATA_WEEK); | 94 time_list->Append(CreateClearOption( |
| 88 break; | 95 BrowsingDataRemover::EXCEPT_LAST_DAY, IDS_CLEAR_DATA_OLDER_THAN_1DAY)); |
| 89 case 3: | 96 time_list->Append(CreateClearOption( |
| 90 label_string = l10n_util::GetStringUTF16(IDS_CLEAR_DATA_4WEEKS); | 97 BrowsingDataRemover::EXCEPT_LAST_WEEK, IDS_CLEAR_DATA_OLDER_THAN_1WEEK)); |
| 91 break; | 98 time_list->Append(CreateClearOption( |
| 92 case 4: | 99 BrowsingDataRemover::EXCEPT_FOUR_WEEKS, IDS_CLEAR_DATA_OLDER_THAN_4WEEKS)); |
| 93 label_string = l10n_util::GetStringUTF16(IDS_CLEAR_DATA_EVERYTHING); | 100 time_list->Append(CreateClearOption( |
| 94 break; | 101 BrowsingDataRemover::EVERYTHING, IDS_CLEAR_DATA_EVERYTHING)); |
| 95 } | |
| 96 ListValue* option = new ListValue(); | |
| 97 option->Append(Value::CreateIntegerValue(i)); | |
| 98 option->Append(Value::CreateStringValue(label_string)); | |
| 99 time_list->Append(option); | |
| 100 } | |
| 101 localized_strings->Set("clearBrowserDataTimeList", time_list); | 102 localized_strings->Set("clearBrowserDataTimeList", time_list); |
| 102 } | 103 } |
| 103 | 104 |
| 104 void ClearBrowserDataHandler::RegisterMessages() { | 105 void ClearBrowserDataHandler::RegisterMessages() { |
| 105 // Setup handlers specific to this panel. | 106 // Setup handlers specific to this panel. |
| 106 web_ui()->RegisterMessageCallback("performClearBrowserData", | 107 web_ui()->RegisterMessageCallback("performClearBrowserData", |
| 107 base::Bind(&ClearBrowserDataHandler::HandleClearBrowserData, | 108 base::Bind(&ClearBrowserDataHandler::HandleClearBrowserData, |
| 108 base::Unretained(this))); | 109 base::Unretained(this))); |
| 109 } | 110 } |
| 110 | 111 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 137 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; | 138 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; |
| 138 if (prefs->GetBoolean(prefs::kDeauthorizeContentLicenses)) | 139 if (prefs->GetBoolean(prefs::kDeauthorizeContentLicenses)) |
| 139 remove_mask |= BrowsingDataRemover::REMOVE_CONTENT_LICENSES; | 140 remove_mask |= BrowsingDataRemover::REMOVE_CONTENT_LICENSES; |
| 140 if (prefs->GetBoolean(prefs::kDeleteHostedAppsData)) { | 141 if (prefs->GetBoolean(prefs::kDeleteHostedAppsData)) { |
| 141 remove_mask |= site_data_mask; | 142 remove_mask |= site_data_mask; |
| 142 origin_mask |= BrowsingDataHelper::PROTECTED_WEB; | 143 origin_mask |= BrowsingDataHelper::PROTECTED_WEB; |
| 143 } | 144 } |
| 144 | 145 |
| 145 // BrowsingDataRemover deletes itself when done. | 146 // BrowsingDataRemover deletes itself when done. |
| 146 int period_selected = prefs->GetInteger(prefs::kDeleteTimePeriod); | 147 int period_selected = prefs->GetInteger(prefs::kDeleteTimePeriod); |
| 147 remover_ = new BrowsingDataRemover(profile, | 148 remover_ = new BrowsingDataRemover( |
| 148 static_cast<BrowsingDataRemover::TimePeriod>(period_selected), | 149 profile, static_cast<BrowsingDataRemover::TimePeriod>(period_selected)); |
| 149 base::Time()); | |
| 150 remover_->AddObserver(this); | 150 remover_->AddObserver(this); |
| 151 remover_->Remove(remove_mask, origin_mask); | 151 remover_->Remove(remove_mask, origin_mask); |
| 152 } | 152 } |
| 153 | 153 |
| 154 void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() { | 154 void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() { |
| 155 // No need to remove ourselves as an observer as BrowsingDataRemover deletes | 155 // No need to remove ourselves as an observer as BrowsingDataRemover deletes |
| 156 // itself after we return. | 156 // itself after we return. |
| 157 remover_ = NULL; | 157 remover_ = NULL; |
| 158 web_ui()->CallJavascriptFunction("ClearBrowserDataOverlay.doneClearing"); | 158 web_ui()->CallJavascriptFunction("ClearBrowserDataOverlay.doneClearing"); |
| 159 } | 159 } |
| 160 | 160 |
| 161 } // namespace options2 | 161 } // namespace options2 |
| OLD | NEW |