Commit d7549753 authored by Mohamed Amir Yosef's avatar Mohamed Amir Yosef Committed by Commit Bot

[Sync::USS] Implement OnWillRemoveAllUserBookmarks for USS

Bug: 516866
Change-Id: I38696ce73cf0ab206997401a8a88c182b319be5c
Reviewed-on: https://chromium-review.googlesource.com/1190244
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: default avatarMikel Astiz <mastiz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588383}
parent ed806b06
...@@ -2002,7 +2002,7 @@ IN_PROC_BROWSER_TEST_P(TwoClientBookmarksSyncTestIncludingUssTests, ...@@ -2002,7 +2002,7 @@ IN_PROC_BROWSER_TEST_P(TwoClientBookmarksSyncTestIncludingUssTests,
ASSERT_TRUE(BookmarksMatchChecker().Wait()); ASSERT_TRUE(BookmarksMatchChecker().Wait());
} }
IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, IN_PROC_BROWSER_TEST_P(TwoClientBookmarksSyncTestIncludingUssTests,
BookmarkAllNodesRemovedEvent) { BookmarkAllNodesRemovedEvent) {
ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
ASSERT_TRUE(AllModelsMatchVerifier()); ASSERT_TRUE(AllModelsMatchVerifier());
......
...@@ -129,10 +129,25 @@ void BookmarkModelObserverImpl::BookmarkNodeRemoved( ...@@ -129,10 +129,25 @@ void BookmarkModelObserverImpl::BookmarkNodeRemoved(
DCHECK(bookmark_tracker_->GetEntityForBookmarkNode(node) == nullptr); DCHECK(bookmark_tracker_->GetEntityForBookmarkNode(node) == nullptr);
} }
void BookmarkModelObserverImpl::OnWillRemoveAllUserBookmarks(
bookmarks::BookmarkModel* model) {
const bookmarks::BookmarkNode* root_node = model->root_node();
for (int i = 0; i < root_node->child_count(); ++i) {
const bookmarks::BookmarkNode* permanent_node = root_node->GetChild(i);
for (int j = permanent_node->child_count() - 1; j >= 0; --j) {
if (!model->client()->CanSyncNode(permanent_node->GetChild(j))) {
continue;
}
ProcessDelete(permanent_node, permanent_node->GetChild(j));
}
}
nudge_for_commit_closure_.Run();
}
void BookmarkModelObserverImpl::BookmarkAllUserNodesRemoved( void BookmarkModelObserverImpl::BookmarkAllUserNodesRemoved(
bookmarks::BookmarkModel* model, bookmarks::BookmarkModel* model,
const std::set<GURL>& removed_urls) { const std::set<GURL>& removed_urls) {
NOTIMPLEMENTED(); // All the work should have already been done in OnWillRemoveAllUserBookmarks.
} }
void BookmarkModelObserverImpl::BookmarkNodeChanged( void BookmarkModelObserverImpl::BookmarkNodeChanged(
......
...@@ -53,6 +53,7 @@ class BookmarkModelObserverImpl : public bookmarks::BookmarkModelObserver { ...@@ -53,6 +53,7 @@ class BookmarkModelObserverImpl : public bookmarks::BookmarkModelObserver {
int old_index, int old_index,
const bookmarks::BookmarkNode* node, const bookmarks::BookmarkNode* node,
const std::set<GURL>& removed_urls) override; const std::set<GURL>& removed_urls) override;
void OnWillRemoveAllUserBookmarks(bookmarks::BookmarkModel* model) override;
void BookmarkAllUserNodesRemoved(bookmarks::BookmarkModel* model, void BookmarkAllUserNodesRemoved(bookmarks::BookmarkModel* model,
const std::set<GURL>& removed_urls) override; const std::set<GURL>& removed_urls) override;
void BookmarkNodeChanged(bookmarks::BookmarkModel* model, void BookmarkNodeChanged(bookmarks::BookmarkModel* model,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment