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

Unified Diff: chrome/browser/enhanced_bookmarks/chrome_bookmark_server_cluster_service.cc

Issue 693513003: Revert of Reduce frequency of requesting bookmark clusters. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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/enhanced_bookmarks/chrome_bookmark_server_cluster_service.cc
diff --git a/chrome/browser/enhanced_bookmarks/chrome_bookmark_server_cluster_service.cc b/chrome/browser/enhanced_bookmarks/chrome_bookmark_server_cluster_service.cc
index 2643b3999cf432621c9525d332cbe68172e5b656..e270c5356257974be9e464961bf984e4aa209e3e 100644
--- a/chrome/browser/enhanced_bookmarks/chrome_bookmark_server_cluster_service.cc
+++ b/chrome/browser/enhanced_bookmarks/chrome_bookmark_server_cluster_service.cc
@@ -37,8 +37,8 @@
BookmarkServerServiceObserver* observer) {
BookmarkServerClusterService::AddObserver(observer);
if (sync_refresh_skipped_) {
+ sync_refresh_skipped_ = false;
TriggerTokenRequest(false);
- sync_refresh_skipped_ = false;
}
}
@@ -50,55 +50,19 @@
// The stars cluster API relies on the information in chrome-sync. Sending a
// cluster request immediately after a bookmark is changed from the bookmark
// observer notification will yield the wrong results. The request must be
- // delayed until the sync cycle has completed.
+ // delayed until the sync cycle has completed. In fact, the ideal signal would
+ // be "bookmark changed by sync", but we don't have that yet, and this is a
+ // compromise.
// Note that we will be skipping calling this cluster API if there is no
// observer attached, because calling that is meaningless without UI to show.
- // We also will avoid requesting for clusters if the bookmark data hasn't
- // changed.
- if (refreshes_needed_ > 0) {
- DCHECK(model_->loaded());
+ if (model_->loaded()) {
if (observers_.might_have_observers()) {
TriggerTokenRequest(false);
sync_refresh_skipped_ = false;
} else {
sync_refresh_skipped_ = true;
}
- --refreshes_needed_;
}
}
-void ChromeBookmarkServerClusterService::EnhancedBookmarkAdded(
- const BookmarkNode* node) {
- BookmarkServerClusterService::EnhancedBookmarkAdded(node);
- InvalidateCache();
-}
-
-void ChromeBookmarkServerClusterService::EnhancedBookmarkRemoved(
- const BookmarkNode* node) {
- BookmarkServerClusterService::EnhancedBookmarkRemoved(node);
- InvalidateCache();
-}
-
-void ChromeBookmarkServerClusterService::EnhancedBookmarkNodeChanged(
- const BookmarkNode* node) {
- BookmarkServerClusterService::EnhancedBookmarkNodeChanged(node);
- InvalidateCache();
-}
-
-void ChromeBookmarkServerClusterService::InvalidateCache() {
- // Bookmark changes can happen locally or via sync. It is difficult to
- // determine if a given SyncCycle contains all the local modifications.
- //
- // Consider the following sequence:
- // 1. SyncCycleBeginning (bookmark version:1)
- // 2. Bookmarks mutate locally (bookmark version:2)
- // 3. SyncCycleCompleted (bookmark version:1)
- //
- // In this case, the bookmarks modified locally won't be sent to the server
- // until the next SyncCycleCompleted. Since we can't accurately determine
- // if a bookmark change has been sent on a SyncCycleCompleted, we're always
- // assuming that we need to wait for 2 sync cycles.
- refreshes_needed_ = 2;
-}
-
} // namespace enhanced_bookmarks

Powered by Google App Engine
This is Rietveld 408576698