diff options
Diffstat (limited to 'chrome/browser/ui/webui/options/clear_browser_data_handler.cc')
| -rw-r--r-- | chrome/browser/ui/webui/options/clear_browser_data_handler.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/chrome/browser/ui/webui/options/clear_browser_data_handler.cc b/chrome/browser/ui/webui/options/clear_browser_data_handler.cc index 847d0b5..4f2aaf3 100644 --- a/chrome/browser/ui/webui/options/clear_browser_data_handler.cc +++ b/chrome/browser/ui/webui/options/clear_browser_data_handler.cc @@ -23,6 +23,7 @@ #include "chrome/browser/browsing_data/browsing_data_counter_utils.h" #include "chrome/browser/browsing_data/browsing_data_helper.h" #include "chrome/browser/browsing_data/browsing_data_remover.h" +#include "chrome/browser/browsing_data/browsing_data_remover_factory.h" #include "chrome/browser/browsing_data/cache_counter.h" #include "chrome/browser/browsing_data/history_counter.h" #include "chrome/browser/browsing_data/passwords_counter.h" @@ -278,12 +279,13 @@ void ClearBrowserDataHandler::HandleClearBrowserData( checked_other_types); } - // BrowsingDataRemover deletes itself when done. - int period_selected = prefs->GetInteger(prefs::kDeleteTimePeriod); - remover_ = BrowsingDataRemover::CreateForPeriod(profile, - static_cast<BrowsingDataRemover::TimePeriod>(period_selected)); + remover_ = BrowsingDataRemoverFactory::GetForBrowserContext(profile); remover_->AddObserver(this); - remover_->Remove(remove_mask, origin_mask); + int period_selected = prefs->GetInteger(prefs::kDeleteTimePeriod); + remover_->Remove( + BrowsingDataRemover::Period( + static_cast<BrowsingDataRemover::TimePeriod>(period_selected)), + remove_mask, origin_mask); // Store the clear browsing data time. Next time the clear browsing data // dialog is open, this time is used to decide whether to display an info @@ -293,9 +295,8 @@ void ClearBrowserDataHandler::HandleClearBrowserData( } void ClearBrowserDataHandler::OnBrowsingDataRemoverDone() { - // No need to remove ourselves as an observer as BrowsingDataRemover deletes - // itself after we return. - remover_ = NULL; + remover_->RemoveObserver(this); + remover_ = nullptr; web_ui()->CallJavascriptFunction("ClearBrowserDataOverlay.doneClearing"); } |
