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

Unified Diff: ios/chrome/browser/ui/bookmarks/bookmark_model_bridge_observer.h

Issue 2586993002: Upstream Chrome on iOS source code [3/11]. (Closed)
Patch Set: Created 4 years 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: ios/chrome/browser/ui/bookmarks/bookmark_model_bridge_observer.h
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_model_bridge_observer.h b/ios/chrome/browser/ui/bookmarks/bookmark_model_bridge_observer.h
new file mode 100644
index 0000000000000000000000000000000000000000..36bdd1b06ce36ee62bfbaf09c696ba37f6e76729
--- /dev/null
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_model_bridge_observer.h
@@ -0,0 +1,77 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_MODEL_BRIDGE_OBSERVER_H_
+#define IOS_CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_MODEL_BRIDGE_OBSERVER_H_
+
+#import <Foundation/Foundation.h>
+
+#include "base/compiler_specific.h"
+#include "components/bookmarks/browser/bookmark_model_observer.h"
+
+// The ObjC translations of the C++ observer callbacks are defined here.
+@protocol BookmarkModelBridgeObserver<NSObject>
+// The bookmark model has loaded.
+- (void)bookmarkModelLoaded;
+// The node has changed, but not its children.
+- (void)bookmarkNodeChanged:(const bookmarks::BookmarkNode*)bookmarkNode;
+// The node has not changed, but the ordering and existence of its children have
+// changed.
+- (void)bookmarkNodeChildrenChanged:
+ (const bookmarks::BookmarkNode*)bookmarkNode;
+// The node has moved to a new parent folder.
+- (void)bookmarkNode:(const bookmarks::BookmarkNode*)bookmarkNode
+ movedFromParent:(const bookmarks::BookmarkNode*)oldParent
+ toParent:(const bookmarks::BookmarkNode*)newParent;
+// |node| was deleted from |folder|.
+- (void)bookmarkNodeDeleted:(const bookmarks::BookmarkNode*)node
+ fromFolder:(const bookmarks::BookmarkNode*)folder;
+// All non-permanent nodes have been removed.
+- (void)bookmarkModelRemovedAllNodes;
+
+@optional
+// The node favicon changed.
+- (void)bookmarkNodeFaviconChanged:(const bookmarks::BookmarkNode*)bookmarkNode;
+@end
+
+namespace bookmarks {
+// A bridge that translates BookmarkModelObserver C++ callbacks into ObjC
+// callbacks.
+class BookmarkModelBridge : public BookmarkModelObserver {
+ public:
+ explicit BookmarkModelBridge(id<BookmarkModelBridgeObserver> observer,
+ BookmarkModel* model);
+ ~BookmarkModelBridge() override;
+
+ private:
+ void BookmarkModelLoaded(BookmarkModel* model, bool ids_reassigned) override;
+ void BookmarkModelBeingDeleted(BookmarkModel* model) override;
+ void BookmarkNodeMoved(BookmarkModel* model,
+ const BookmarkNode* old_parent,
+ int old_index,
+ const BookmarkNode* new_parent,
+ int new_index) override;
+ void BookmarkNodeAdded(BookmarkModel* model,
+ const BookmarkNode* parent,
+ int index) override;
+ void BookmarkNodeRemoved(BookmarkModel* model,
+ const BookmarkNode* parent,
+ int old_index,
+ const BookmarkNode* node,
+ const std::set<GURL>& removed_urls) override;
+ void BookmarkNodeChanged(BookmarkModel* model,
+ const BookmarkNode* node) override;
+ void BookmarkNodeFaviconChanged(BookmarkModel* model,
+ const BookmarkNode* node) override;
+ void BookmarkNodeChildrenReordered(BookmarkModel* model,
+ const BookmarkNode* node) override;
+ void BookmarkAllUserNodesRemoved(BookmarkModel* model,
+ const std::set<GURL>& removed_urls) override;
+
+ id<BookmarkModelBridgeObserver> observer_; // weak
+ BookmarkModel* model_; // weak
+};
+} // namespace bookmarks
+
+#endif // IOS_CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_MODEL_BRIDGE_OBSERVER_H_

Powered by Google App Engine
This is Rietveld 408576698