| 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_;
|
|
|