Index: chrome/browser/browsing_data_remover.h |
diff --git a/chrome/browser/browsing_data_remover.h b/chrome/browser/browsing_data_remover.h |
index 9a8addbc0989ece5a911aaa48a5eb90ea8b3dcc7..b5aa6e8ac8b91ee263bf7a83294d5014697e6477 100644 |
--- a/chrome/browser/browsing_data_remover.h |
+++ b/chrome/browser/browsing_data_remover.h |
@@ -10,6 +10,7 @@ |
#include "base/observer_list.h" |
#include "base/ref_counted.h" |
+#include "base/synchronization/waitable_event_watcher.h" |
#include "base/time.h" |
#include "chrome/browser/appcache/chrome_appcache_service.h" |
#include "chrome/browser/cancelable_request.h" |
@@ -30,7 +31,8 @@ class DatabaseTracker; |
// BrowsingDataRemover is responsible for removing data related to browsing: |
// visits in url database, downloads, cookies ... |
-class BrowsingDataRemover : public NotificationObserver { |
+class BrowsingDataRemover : public NotificationObserver, |
+ public base::WaitableEventWatcher::Delegate { |
public: |
// Time period ranges available when doing browsing data removals. |
enum TimePeriod { |
@@ -106,6 +108,10 @@ class BrowsingDataRemover : public NotificationObserver { |
const NotificationSource& source, |
const NotificationDetails& details); |
+ // WaitableEventWatcher implementation. |
+ // Called when plug-in data has been cleared. Invokes NotifyAndDeleteIfDone. |
+ virtual void OnWaitableEventSignaled(base::WaitableEvent* waitable_event); |
+ |
// If we're not waiting on anything, notifies observers and deletes this |
// object. |
void NotifyAndDeleteIfDone(); |
@@ -142,9 +148,6 @@ class BrowsingDataRemover : public NotificationObserver { |
void OnAppCacheDeleted(int rv); |
ChromeAppCacheService* GetAppCacheService(); |
- // Callback when plug-in data has been cleared. Invokes NotifyAndDeleteIfDone. |
- void OnClearedPluginData(); |
- |
// Calculate the begin time for the deletion range specified by |time_period|. |
base::Time CalculateBeginDeleteTime(TimePeriod time_period); |
@@ -191,6 +194,7 @@ class BrowsingDataRemover : public NotificationObserver { |
// Used to delete plugin data. |
scoped_refptr<PluginDataRemover> plugin_data_remover_; |
+ base::WaitableEventWatcher watcher_; |
// True if we're waiting for various data to be deleted. |
bool waiting_for_clear_databases_; |