summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/webui/options/clear_browser_data_handler.cc
diff options
context:
space:
mode:
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.cc17
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");
}