OLD | NEW |
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/views/clear_browsing_data_view.h" | 5 #include "chrome/browser/views/clear_browsing_data_view.h" |
6 | 6 |
7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
8 #include "base/string16.h" | 8 #include "base/string16.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "chrome/browser/browser_window.h" | 10 #include "chrome/browser/browser_window.h" |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 allow_clear_(true), | 45 allow_clear_(true), |
46 throbber_view_(NULL), | 46 throbber_view_(NULL), |
47 throbber_(NULL), | 47 throbber_(NULL), |
48 status_label_(NULL), | 48 status_label_(NULL), |
49 delete_all_label_(NULL), | 49 delete_all_label_(NULL), |
50 del_history_checkbox_(NULL), | 50 del_history_checkbox_(NULL), |
51 del_downloads_checkbox_(NULL), | 51 del_downloads_checkbox_(NULL), |
52 del_cache_checkbox_(NULL), | 52 del_cache_checkbox_(NULL), |
53 del_cookies_checkbox_(NULL), | 53 del_cookies_checkbox_(NULL), |
54 del_passwords_checkbox_(NULL), | 54 del_passwords_checkbox_(NULL), |
| 55 del_lso_data_checkbox_(NULL), |
55 del_form_data_checkbox_(NULL), | 56 del_form_data_checkbox_(NULL), |
56 time_period_label_(NULL), | 57 time_period_label_(NULL), |
57 time_period_combobox_(NULL), | 58 time_period_combobox_(NULL), |
58 clear_browsing_data_button_(NULL), | 59 clear_browsing_data_button_(NULL), |
59 delete_in_progress_(false), | 60 delete_in_progress_(false), |
60 profile_(profile), | 61 profile_(profile), |
61 remover_(NULL) { | 62 remover_(NULL) { |
62 DCHECK(profile); | 63 DCHECK(profile); |
63 Init(); | 64 Init(); |
64 InitControlLayout(); | 65 InitControlLayout(); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 profile_->GetPrefs()->GetBoolean(prefs::kDeleteCache)); | 105 profile_->GetPrefs()->GetBoolean(prefs::kDeleteCache)); |
105 | 106 |
106 del_cookies_checkbox_ = | 107 del_cookies_checkbox_ = |
107 AddCheckbox(l10n_util::GetString(IDS_DEL_COOKIES_CHKBOX), | 108 AddCheckbox(l10n_util::GetString(IDS_DEL_COOKIES_CHKBOX), |
108 profile_->GetPrefs()->GetBoolean(prefs::kDeleteCookies)); | 109 profile_->GetPrefs()->GetBoolean(prefs::kDeleteCookies)); |
109 | 110 |
110 del_passwords_checkbox_ = | 111 del_passwords_checkbox_ = |
111 AddCheckbox(l10n_util::GetString(IDS_DEL_PASSWORDS_CHKBOX), | 112 AddCheckbox(l10n_util::GetString(IDS_DEL_PASSWORDS_CHKBOX), |
112 profile_->GetPrefs()->GetBoolean(prefs::kDeletePasswords)); | 113 profile_->GetPrefs()->GetBoolean(prefs::kDeletePasswords)); |
113 | 114 |
| 115 del_lso_data_checkbox_ = |
| 116 AddCheckbox(l10n_util::GetString(IDS_DEL_FLASH_DATA_CHKBOX), |
| 117 profile_->GetPrefs()->GetBoolean(prefs::kDeleteLSOData)); |
| 118 |
114 del_form_data_checkbox_ = | 119 del_form_data_checkbox_ = |
115 AddCheckbox(l10n_util::GetString(IDS_DEL_FORM_DATA_CHKBOX), | 120 AddCheckbox(l10n_util::GetString(IDS_DEL_FORM_DATA_CHKBOX), |
116 profile_->GetPrefs()->GetBoolean(prefs::kDeleteFormData)); | 121 profile_->GetPrefs()->GetBoolean(prefs::kDeleteFormData)); |
117 | 122 |
118 clear_browsing_data_button_ = new views::NativeButton( | 123 clear_browsing_data_button_ = new views::NativeButton( |
119 this, l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_BUTTON)); | 124 this, l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_BUTTON)); |
120 | 125 |
121 // Add a label which appears before the combo box for the time period. | 126 // Add a label which appears before the combo box for the time period. |
122 time_period_label_ = new views::Label( | 127 time_period_label_ = new views::Label( |
123 l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_TIME_LABEL)); | 128 l10n_util::GetString(IDS_CLEAR_BROWSING_DATA_TIME_LABEL)); |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 | 206 |
202 layout->StartRow(0, indented_column_set_id); | 207 layout->StartRow(0, indented_column_set_id); |
203 layout->AddView(del_cookies_checkbox_); | 208 layout->AddView(del_cookies_checkbox_); |
204 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); | 209 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); |
205 | 210 |
206 layout->StartRow(0, indented_column_set_id); | 211 layout->StartRow(0, indented_column_set_id); |
207 layout->AddView(del_passwords_checkbox_); | 212 layout->AddView(del_passwords_checkbox_); |
208 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); | 213 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); |
209 | 214 |
210 layout->StartRow(0, indented_column_set_id); | 215 layout->StartRow(0, indented_column_set_id); |
| 216 layout->AddView(del_lso_data_checkbox_); |
| 217 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); |
| 218 |
| 219 layout->StartRow(0, indented_column_set_id); |
211 layout->AddView(del_form_data_checkbox_); | 220 layout->AddView(del_form_data_checkbox_); |
212 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); | 221 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); |
213 | 222 |
214 // Time period label is next below the combo boxes followed by time | 223 // Time period label is next below the combo boxes followed by time |
215 // period combo box | 224 // period combo box |
216 layout->StartRow(0, two_column_set_id); | 225 layout->StartRow(0, two_column_set_id); |
217 layout->AddView(time_period_label_); | 226 layout->AddView(time_period_label_); |
218 time_period_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); | 227 time_period_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); |
219 layout->AddView(time_period_combobox_, 1, 1, views::GridLayout::LEADING, | 228 layout->AddView(time_period_combobox_, 1, 1, views::GridLayout::LEADING, |
220 views::GridLayout::CENTER); | 229 views::GridLayout::CENTER); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 profile_->GetPrefs()->SetBoolean(prefs::kDeleteBrowsingHistory, | 277 profile_->GetPrefs()->SetBoolean(prefs::kDeleteBrowsingHistory, |
269 del_history_checkbox_->checked() ? true : false); | 278 del_history_checkbox_->checked() ? true : false); |
270 profile_->GetPrefs()->SetBoolean(prefs::kDeleteDownloadHistory, | 279 profile_->GetPrefs()->SetBoolean(prefs::kDeleteDownloadHistory, |
271 del_downloads_checkbox_->checked() ? true : false); | 280 del_downloads_checkbox_->checked() ? true : false); |
272 profile_->GetPrefs()->SetBoolean(prefs::kDeleteCache, | 281 profile_->GetPrefs()->SetBoolean(prefs::kDeleteCache, |
273 del_cache_checkbox_->checked() ? true : false); | 282 del_cache_checkbox_->checked() ? true : false); |
274 profile_->GetPrefs()->SetBoolean(prefs::kDeleteCookies, | 283 profile_->GetPrefs()->SetBoolean(prefs::kDeleteCookies, |
275 del_cookies_checkbox_->checked() ? true : false); | 284 del_cookies_checkbox_->checked() ? true : false); |
276 profile_->GetPrefs()->SetBoolean(prefs::kDeletePasswords, | 285 profile_->GetPrefs()->SetBoolean(prefs::kDeletePasswords, |
277 del_passwords_checkbox_->checked() ? true : false); | 286 del_passwords_checkbox_->checked() ? true : false); |
| 287 profile_->GetPrefs()->SetBoolean(prefs::kDeleteLSOData, |
| 288 del_lso_data_checkbox_->checked() ? true : false); |
278 profile_->GetPrefs()->SetBoolean(prefs::kDeleteFormData, | 289 profile_->GetPrefs()->SetBoolean(prefs::kDeleteFormData, |
279 del_form_data_checkbox_->checked() ? true : false); | 290 del_form_data_checkbox_->checked() ? true : false); |
280 clear_data_parent_window_->StartClearingBrowsingData(); | 291 clear_data_parent_window_->StartClearingBrowsingData(); |
281 OnDelete(); | 292 OnDelete(); |
282 } | 293 } |
283 | 294 |
284 // When no checkbox is checked we should not have the action button enabled. | 295 // When no checkbox is checked we should not have the action button enabled. |
285 // This forces the button to evaluate what state they should be in. | 296 // This forces the button to evaluate what state they should be in. |
286 UpdateControlEnabledState(); | 297 UpdateControlEnabledState(); |
287 } | 298 } |
(...skipping 16 matching lines...) Expand all Loading... |
304 checkbox->set_listener(this); | 315 checkbox->set_listener(this); |
305 return checkbox; | 316 return checkbox; |
306 } | 317 } |
307 | 318 |
308 void ClearBrowsingDataView2::UpdateControlEnabledState() { | 319 void ClearBrowsingDataView2::UpdateControlEnabledState() { |
309 del_history_checkbox_->SetEnabled(!delete_in_progress_); | 320 del_history_checkbox_->SetEnabled(!delete_in_progress_); |
310 del_downloads_checkbox_->SetEnabled(!delete_in_progress_); | 321 del_downloads_checkbox_->SetEnabled(!delete_in_progress_); |
311 del_cache_checkbox_->SetEnabled(!delete_in_progress_); | 322 del_cache_checkbox_->SetEnabled(!delete_in_progress_); |
312 del_cookies_checkbox_->SetEnabled(!delete_in_progress_); | 323 del_cookies_checkbox_->SetEnabled(!delete_in_progress_); |
313 del_passwords_checkbox_->SetEnabled(!delete_in_progress_); | 324 del_passwords_checkbox_->SetEnabled(!delete_in_progress_); |
| 325 del_lso_data_checkbox_->SetEnabled(!delete_in_progress_); |
314 del_form_data_checkbox_->SetEnabled(!delete_in_progress_); | 326 del_form_data_checkbox_->SetEnabled(!delete_in_progress_); |
315 time_period_combobox_->SetEnabled(!delete_in_progress_); | 327 time_period_combobox_->SetEnabled(!delete_in_progress_); |
316 | 328 |
317 status_label_->SetVisible(delete_in_progress_); | 329 status_label_->SetVisible(delete_in_progress_); |
318 throbber_->SetVisible(delete_in_progress_); | 330 throbber_->SetVisible(delete_in_progress_); |
319 if (delete_in_progress_) | 331 if (delete_in_progress_) |
320 throbber_->Start(); | 332 throbber_->Start(); |
321 else | 333 else |
322 throbber_->Stop(); | 334 throbber_->Stop(); |
323 | 335 |
324 clear_browsing_data_button_->SetEnabled( | 336 clear_browsing_data_button_->SetEnabled( |
325 allow_clear_ && | 337 allow_clear_ && |
326 !delete_in_progress_ && | 338 !delete_in_progress_ && |
327 (del_history_checkbox_->checked() || | 339 (del_history_checkbox_->checked() || |
328 del_downloads_checkbox_->checked() || | 340 del_downloads_checkbox_->checked() || |
329 del_cache_checkbox_->checked() || | 341 del_cache_checkbox_->checked() || |
330 del_cookies_checkbox_->checked() || | 342 del_cookies_checkbox_->checked() || |
331 del_passwords_checkbox_->checked() || | 343 del_passwords_checkbox_->checked() || |
| 344 del_lso_data_checkbox_->checked() || |
332 del_form_data_checkbox_->checked())); | 345 del_form_data_checkbox_->checked())); |
333 } | 346 } |
334 | 347 |
335 // Convenience method that returns true if the supplied checkbox is selected | 348 // Convenience method that returns true if the supplied checkbox is selected |
336 // and enabled. | 349 // and enabled. |
337 static bool IsCheckBoxEnabledAndSelected(views::Checkbox* cb) { | 350 static bool IsCheckBoxEnabledAndSelected(views::Checkbox* cb) { |
338 return (cb->IsEnabled() && cb->checked()); | 351 return (cb->IsEnabled() && cb->checked()); |
339 } | 352 } |
340 | 353 |
341 void ClearBrowsingDataView2::OnDelete() { | 354 void ClearBrowsingDataView2::OnDelete() { |
342 int period_selected = time_period_combobox_->selected_item(); | 355 int period_selected = time_period_combobox_->selected_item(); |
343 | 356 |
344 int remove_mask = 0; | 357 int remove_mask = 0; |
345 if (IsCheckBoxEnabledAndSelected(del_history_checkbox_)) | 358 if (IsCheckBoxEnabledAndSelected(del_history_checkbox_)) |
346 remove_mask |= BrowsingDataRemover::REMOVE_HISTORY; | 359 remove_mask |= BrowsingDataRemover::REMOVE_HISTORY; |
347 if (IsCheckBoxEnabledAndSelected(del_downloads_checkbox_)) | 360 if (IsCheckBoxEnabledAndSelected(del_downloads_checkbox_)) |
348 remove_mask |= BrowsingDataRemover::REMOVE_DOWNLOADS; | 361 remove_mask |= BrowsingDataRemover::REMOVE_DOWNLOADS; |
349 if (IsCheckBoxEnabledAndSelected(del_cookies_checkbox_)) | 362 if (IsCheckBoxEnabledAndSelected(del_cookies_checkbox_)) |
350 remove_mask |= BrowsingDataRemover::REMOVE_COOKIES; | 363 remove_mask |= BrowsingDataRemover::REMOVE_COOKIES; |
351 if (IsCheckBoxEnabledAndSelected(del_passwords_checkbox_)) | 364 if (IsCheckBoxEnabledAndSelected(del_passwords_checkbox_)) |
352 remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS; | 365 remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS; |
| 366 if (IsCheckBoxEnabledAndSelected(del_lso_data_checkbox_)) |
| 367 remove_mask |= BrowsingDataRemover::REMOVE_LSO_DATA; |
353 if (IsCheckBoxEnabledAndSelected(del_form_data_checkbox_)) | 368 if (IsCheckBoxEnabledAndSelected(del_form_data_checkbox_)) |
354 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; | 369 remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA; |
355 if (IsCheckBoxEnabledAndSelected(del_cache_checkbox_)) | 370 if (IsCheckBoxEnabledAndSelected(del_cache_checkbox_)) |
356 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; | 371 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; |
357 | 372 |
358 delete_in_progress_ = true; | 373 delete_in_progress_ = true; |
359 UpdateControlEnabledState(); | 374 UpdateControlEnabledState(); |
360 | 375 |
361 // BrowsingDataRemover deletes itself when done. | 376 // BrowsingDataRemover deletes itself when done. |
362 remover_ = new BrowsingDataRemover(profile_, | 377 remover_ = new BrowsingDataRemover(profile_, |
363 static_cast<BrowsingDataRemover::TimePeriod>(period_selected), | 378 static_cast<BrowsingDataRemover::TimePeriod>(period_selected), |
364 base::Time()); | 379 base::Time()); |
365 remover_->AddObserver(this); | 380 remover_->AddObserver(this); |
366 remover_->Remove(remove_mask); | 381 remover_->Remove(remove_mask); |
367 } | 382 } |
368 | 383 |
369 void ClearBrowsingDataView2::OnBrowsingDataRemoverDone() { | 384 void ClearBrowsingDataView2::OnBrowsingDataRemoverDone() { |
370 clear_data_parent_window_->StopClearingBrowsingData(); | 385 clear_data_parent_window_->StopClearingBrowsingData(); |
371 } | 386 } |
OLD | NEW |