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

Unified Diff: chrome/browser/browsing_data/cookies_tree_model.h

Issue 863503002: Delete cookies for site when deleting locally stored data. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove parentheses Created 5 years, 11 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/browsing_data/cookies_tree_model.h
diff --git a/chrome/browser/browsing_data/cookies_tree_model.h b/chrome/browser/browsing_data/cookies_tree_model.h
index 929044fc7e153d81a3587a5808dead76d32d1959..b5f8e5b50d973ef9dad1768455d3d3d66f9ab684 100644
--- a/chrome/browser/browsing_data/cookies_tree_model.h
+++ b/chrome/browser/browsing_data/cookies_tree_model.h
@@ -719,6 +719,12 @@ class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> {
return data_container_.get();
}
+ // Set the number of |batches_expected| this class should expect to receive.
+ // If |reset| is true, then this is a new set of batches, but if false, then
+ // this is a revised number (batches originally counted should no longer be
+ // expected).
+ void SetBatchExpectation(int batches_expected, bool reset);
+
private:
enum CookieIconIndex {
ORIGIN = 0,
@@ -726,9 +732,24 @@ class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> {
DATABASE = 2
};
+ // Reset the counters for batches.
+ void ResetBatches();
+
+ // Record that one batch has been delivered.
+ void RecordBatchSeen();
+
+ // Record that one batch has begun processing. If this is the first batch then
+ // observers will be notified that batch processing has started.
void NotifyObserverBeginBatch();
+
+ // Record that one batch has finished processing. If this is the last batch
+ // then observers will be notified that batch processing has ended.
void NotifyObserverEndBatch();
+ // Notifies observers if expected batch count has been delievered and all
+ // batches have finished processing.
+ void MaybeNotifyBatchesEnded();
+
void PopulateAppCacheInfoWithFilter(LocalDataContainer* container,
ScopedBatchUpdateNotifier* notifier,
const base::string16& filter);
@@ -782,10 +803,19 @@ class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> {
// Otherwise, use the CanonicalCookie::Domain attribute.
bool group_by_cookie_source_;
- // If this is non-zero, then this model is batching updates (there's a lot of
- // notifications coming down the pipe). This is an integer is used to balance
- // calls to Begin/EndBatch() if they're called in a nested manner.
- int batch_update_;
+ // Keeps track of how many batches the consumer of this class says it is going
+ // to send.
+ int batches_expected_;
+
+ // Keeps track of how many batches we've seen.
+ int batches_seen_;
+
+ // Counts how many batches have started already. If this is non-zero and lower
+ // than batches_ended_, then this model is still batching updates.
+ int batches_started_;
+
+ // Counts how many batches have finished.
+ int batches_ended_;
};
#endif // CHROME_BROWSER_BROWSING_DATA_COOKIES_TREE_MODEL_H_

Powered by Google App Engine
This is Rietveld 408576698