Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6756)

Unified Diff: chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.h

Issue 2240883002: Make ClearBrowsingDataHandler only observe its own removal task (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Only forward-declare in the header file Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.h
diff --git a/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.h b/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.h
index 02f0202afc9eb7be30d54fe20c28865b00bdc6bd..db6e001ca9cdeb6098291f3ab887e10eab7eb122 100644
--- a/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.h
+++ b/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.h
@@ -30,7 +30,6 @@ namespace settings {
// Chrome browser startup settings handler.
class ClearBrowsingDataHandler : public SettingsPageUIHandler,
- public BrowsingDataRemover::Observer,
public sync_driver::SyncServiceObserver {
public:
explicit ClearBrowsingDataHandler(content::WebUI* webui);
@@ -42,11 +41,16 @@ class ClearBrowsingDataHandler : public SettingsPageUIHandler,
void OnJavascriptDisallowed() override;
private:
+ // Observes one |remover| task initiated from ClearBrowsingDataHandler.
+ // Calls |callback| when the task is finished.
+ class TaskObserver;
+
// Clears browsing data, called by Javascript.
void HandleClearBrowsingData(const base::ListValue* value);
- // BrowsingDataRemover::Observer implementation.
- void OnBrowsingDataRemoving(bool is_removing) override;
+ // Called when a clearing task finished. |webui_callback_id| is provided
+ // by the WebUI action that initiated it.
+ void OnClearingTaskFinished(const std::string& webui_callback_id);
// Updates UI when the pref to allow clearing history changes.
virtual void OnBrowsingHistoryPrefChanged();
@@ -84,20 +88,14 @@ class ClearBrowsingDataHandler : public SettingsPageUIHandler,
// Counters that calculate the data volume for individual data types.
std::vector<std::unique_ptr<browsing_data::BrowsingDataCounter>> counters_;
+ // Observes the currently active data clearing task.
+ std::unique_ptr<TaskObserver> task_observer_;
+
// ProfileSyncService to observe sync state changes.
ProfileSyncService* sync_service_;
ScopedObserver<ProfileSyncService, sync_driver::SyncServiceObserver>
sync_service_observer_;
- // Observe the remover progress.
- BrowsingDataRemover* remover_;
- ScopedObserver<BrowsingDataRemover, BrowsingDataRemover::Observer>
- remover_observer_;
-
- // The WebUI callback ID of the last performClearBrowserData request. There
- // can only be one such request in-flight.
- std::string webui_callback_id_;
-
// Used to listen for pref changes to allow / disallow deleting browsing data.
PrefChangeRegistrar profile_pref_registrar_;

Powered by Google App Engine
This is Rietveld 408576698