| Index: chrome/browser/browsing_data/browsing_data_remover.cc
|
| diff --git a/chrome/browser/browsing_data/browsing_data_remover.cc b/chrome/browser/browsing_data/browsing_data_remover.cc
|
| index d8350d970077cd728a41973a0c22cc18204d4d52..d4047397250e13117e2c238b0d3168429c76d370 100644
|
| --- a/chrome/browser/browsing_data/browsing_data_remover.cc
|
| +++ b/chrome/browser/browsing_data/browsing_data_remover.cc
|
| @@ -343,7 +343,7 @@ void BrowsingDataRemover::RemoveImpl(const TimeRange& time_range,
|
| delete_end_ = time_range.end;
|
| remove_mask_ = remove_mask;
|
| origin_type_mask_ = origin_type_mask;
|
| - url::Origin remove_origin(remove_url);
|
| + const url::Origin remove_origin(remove_url);
|
|
|
| PrefService* prefs = profile_->GetPrefs();
|
| bool may_delete_history = prefs->GetBoolean(
|
| @@ -559,11 +559,12 @@ void BrowsingDataRemover::RemoveImpl(const TimeRange& time_range,
|
| content::RecordAction(UserMetricsAction("ClearBrowsingData_Downloads"));
|
| content::DownloadManager* download_manager =
|
| BrowserContext::GetDownloadManager(profile_);
|
| - if (remove_origin.unique())
|
| + if (remove_url.is_empty()) {
|
| download_manager->RemoveDownloadsBetween(delete_begin_, delete_end_);
|
| - else
|
| + } else {
|
| download_manager->RemoveDownloadsByOriginAndTime(
|
| remove_origin, delete_begin_, delete_end_);
|
| + }
|
| DownloadPrefs* download_prefs = DownloadPrefs::FromDownloadManager(
|
| download_manager);
|
| download_prefs->SetSaveFilePath(download_prefs->DownloadPath());
|
| @@ -698,10 +699,16 @@ void BrowsingDataRemover::RemoveImpl(const TimeRange& time_range,
|
|
|
| if (password_store) {
|
| waiting_for_clear_passwords_ = true;
|
| - password_store->RemoveLoginsCreatedBetween(
|
| - delete_begin_, delete_end_,
|
| + auto on_cleared_passwords =
|
| base::Bind(&BrowsingDataRemover::OnClearedPasswords,
|
| - weak_ptr_factory_.GetWeakPtr()));
|
| + weak_ptr_factory_.GetWeakPtr());
|
| + if (remove_url.is_empty()) {
|
| + password_store->RemoveLoginsCreatedBetween(delete_begin_, delete_end_,
|
| + on_cleared_passwords);
|
| + } else {
|
| + password_store->RemoveLoginsByOriginAndTime(
|
| + remove_origin, delete_begin_, delete_end_, on_cleared_passwords);
|
| + }
|
| }
|
| }
|
|
|
|
|