| Index: chrome/browser/bookmarks/bookmark_model.h
 | 
| diff --git a/chrome/browser/bookmarks/bookmark_model.h b/chrome/browser/bookmarks/bookmark_model.h
 | 
| index 0e4ada682fb4b5c3b84d194a4a12d26a714a0c99..b3c8c8d0a1ce5ebc3a1a63130d3c89ddcb5120ed 100644
 | 
| --- a/chrome/browser/bookmarks/bookmark_model.h
 | 
| +++ b/chrome/browser/bookmarks/bookmark_model.h
 | 
| @@ -50,7 +50,8 @@ class BookmarkNode : public ui::TreeNode<BookmarkNode> {
 | 
|      URL,
 | 
|      FOLDER,
 | 
|      BOOKMARK_BAR,
 | 
| -    OTHER_NODE
 | 
| +    OTHER_NODE,
 | 
| +    SYNCED
 | 
|    };
 | 
|    // Creates a new node with the specified url and id of 0
 | 
|    explicit BookmarkNode(const GURL& url);
 | 
| @@ -109,6 +110,15 @@ class BookmarkNode : public ui::TreeNode<BookmarkNode> {
 | 
|    bool is_favicon_loaded() const { return loaded_favicon_; }
 | 
|    void set_favicon_loaded(bool value) { loaded_favicon_ = value; }
 | 
|  
 | 
| +  // Accessor method for controlling the visibility of a bookmark node/sub-tree.
 | 
| +  // Note that visibility is not propagated down the tree hierarchy so if a
 | 
| +  // parent node is marked as invisible, a child node may return "Visible". This
 | 
| +  // function is primarily useful when traversing the model to generate a UI
 | 
| +  // representation but we may want to suppress some nodes.
 | 
| +  // TODO(yfriedman): Remove this when enable-synced-bookmarks-folder is
 | 
| +  // no longer a command line flag.
 | 
| +  bool IsVisible() const;
 | 
| +
 | 
|    HistoryService::Handle favicon_load_handle() const {
 | 
|      return favicon_load_handle_;
 | 
|    }
 | 
| @@ -193,6 +203,9 @@ class BookmarkModel : public NotificationObserver, public BookmarkService {
 | 
|    // Returns the 'other' node. This is NULL until loaded.
 | 
|    const BookmarkNode* other_node() { return other_node_; }
 | 
|  
 | 
| +  // Returns the 'synced' node. This is NULL until loaded.
 | 
| +  const BookmarkNode* synced_node() { return synced_node_; }
 | 
| +
 | 
|    // Returns the parent the last node was added to. This never returns NULL
 | 
|    // (as long as the model is loaded).
 | 
|    const BookmarkNode* GetParentForNewNodes();
 | 
| @@ -311,6 +324,9 @@ class BookmarkModel : public NotificationObserver, public BookmarkService {
 | 
|    bool is_bookmark_bar_node(const BookmarkNode* node) const {
 | 
|      return node == bookmark_bar_node_;
 | 
|    }
 | 
| +  bool is_synced_bookmarks_node(const BookmarkNode* node) const {
 | 
| +    return node == synced_node_;
 | 
| +  }
 | 
|    bool is_other_bookmarks_node(const BookmarkNode* node) const {
 | 
|      return node == other_node_;
 | 
|    }
 | 
| @@ -319,7 +335,8 @@ class BookmarkModel : public NotificationObserver, public BookmarkService {
 | 
|    bool is_permanent_node(const BookmarkNode* node) const {
 | 
|      return is_root(node) ||
 | 
|             is_bookmark_bar_node(node) ||
 | 
| -           is_other_bookmarks_node(node);
 | 
| +           is_other_bookmarks_node(node) ||
 | 
| +           is_synced_bookmarks_node(node);
 | 
|    }
 | 
|  
 | 
|    // Sets the store to NULL, making it so the BookmarkModel does not persist
 | 
| @@ -380,10 +397,11 @@ class BookmarkModel : public NotificationObserver, public BookmarkService {
 | 
|    // Returns true if the parent and index are valid.
 | 
|    bool IsValidIndex(const BookmarkNode* parent, int index, bool allow_end);
 | 
|  
 | 
| -  // Creates the bookmark bar/other nodes. These call into
 | 
| +  // Creates the bookmark bar/synced/other nodes. These call into
 | 
|    // CreateRootNodeFromStarredEntry.
 | 
|    BookmarkNode* CreateBookmarkNode();
 | 
|    BookmarkNode* CreateOtherBookmarksNode();
 | 
| +  BookmarkNode* CreateSyncedBookmarksNode();
 | 
|  
 | 
|    // Creates a root node (either the bookmark bar node or other node) from the
 | 
|    // specified starred entry.
 | 
| @@ -439,6 +457,7 @@ class BookmarkModel : public NotificationObserver, public BookmarkService {
 | 
|  
 | 
|    BookmarkNode* bookmark_bar_node_;
 | 
|    BookmarkNode* other_node_;
 | 
| +  BookmarkNode* synced_node_;
 | 
|  
 | 
|    // The maximum ID assigned to the bookmark nodes in the model.
 | 
|    int64 next_node_id_;
 | 
| 
 |