Index: chrome/browser/browsing_data_remover.h |
diff --git a/chrome/browser/browsing_data_remover.h b/chrome/browser/browsing_data_remover.h |
index ff5159e1fe575580aae26bce3cb2f798acf5e1bb..33f3515c0595e9c02f465da102249033aa12d934 100644 |
--- a/chrome/browser/browsing_data_remover.h |
+++ b/chrome/browser/browsing_data_remover.h |
@@ -117,7 +117,7 @@ class BrowsingDataRemover : public content::NotificationObserver, |
BrowsingDataRemover(Profile* profile, TimePeriod time_period, |
base::Time delete_end); |
- // Removes the specified items related to browsing. |
+ // Removes the specified items related to browsing for all origins. |
void Remove(int remove_mask); |
void AddObserver(Observer* observer); |
@@ -137,6 +137,14 @@ class BrowsingDataRemover : public content::NotificationObserver, |
// only one BrowsingDataRemover instance can be called at a time. |
FRIEND_TEST_ALL_PREFIXES(ExtensionBrowsingDataTest, OneAtATime); |
+ // The BrowsingDataRemover tests need to be able to access the implementation |
+ // of Remove(), as it exposes details that aren't yet available in the public |
+ // API. As soon as those details are exposed via new methods, this should be |
+ // removed. |
+ // |
+ // TODO(mkwst): See http://crbug.com/113621 |
+ friend class BrowsingDataRemoverTest; |
+ |
enum CacheState { |
STATE_NONE, |
STATE_CREATE_MAIN, |
@@ -165,6 +173,14 @@ class BrowsingDataRemover : public content::NotificationObserver, |
virtual void OnWaitableEventSignaled( |
base::WaitableEvent* waitable_event) OVERRIDE; |
+ // Removes the specified items related to browsing for a specific host. If the |
+ // provided |origin| is empty, data is removed for all origins. If |
+ // |remove_protected_origins| is true, then data is removed even if the origin |
+ // is otherwise protected (e.g. as an installed application). |
+ void RemoveImpl(int remove_mask, |
+ const GURL& origin, |
+ bool remove_protected_origins); |
+ |
// If we're not waiting on anything, notifies observers and deletes this |
// object. |
void NotifyAndDeleteIfDone(); |
@@ -290,6 +306,12 @@ class BrowsingDataRemover : public content::NotificationObserver, |
// The removal mask for the current removal operation. |
int remove_mask_; |
+ // The origin for the current removal operation. |
+ GURL remove_origin_; |
+ |
+ // Should data for protected origins be removed? |
+ bool remove_protected_; |
+ |
ObserverList<Observer> observer_list_; |
// Used if we need to clear history. |