1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_BOOKMARKS_TEST_TEST_BOOKMARK_CLIENT_H_
6 #define COMPONENTS_BOOKMARKS_TEST_TEST_BOOKMARK_CLIENT_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "components/bookmarks/browser/bookmark_client.h"
15 class TestBookmarkClient
: public BookmarkClient
{
18 virtual ~TestBookmarkClient();
20 // Create a BookmarkModel using this object as its client. The returned
21 // BookmarkModel* is owned by the caller.
22 scoped_ptr
<BookmarkModel
> CreateModel();
24 // Sets the list of extra nodes to be returned by the next call to
25 // CreateModel() or GetLoadExtraNodesCallback().
26 void SetExtraNodesToLoad(BookmarkPermanentNodeList extra_nodes
);
28 // Returns the current extra_nodes, set via SetExtraNodesToLoad().
29 const std::vector
<BookmarkPermanentNode
*>& extra_nodes() {
33 // Returns true if |node| is one of the |extra_nodes_|.
34 bool IsExtraNodeRoot(const BookmarkNode
* node
);
36 // Returns true if |node| belongs to the tree of one of the |extra_nodes_|.
37 bool IsAnExtraNode(const BookmarkNode
* node
);
41 virtual bool IsPermanentNodeVisible(
42 const BookmarkPermanentNode
* node
) OVERRIDE
;
43 virtual void RecordAction(const base::UserMetricsAction
& action
) OVERRIDE
;
44 virtual LoadExtraCallback
GetLoadExtraNodesCallback() OVERRIDE
;
45 virtual bool CanSetPermanentNodeTitle(
46 const BookmarkNode
* permanent_node
) OVERRIDE
;
47 virtual bool CanSyncNode(const BookmarkNode
* node
) OVERRIDE
;
48 virtual bool CanBeEditedByUser(const BookmarkNode
* node
) OVERRIDE
;
50 // Helpers for GetLoadExtraNodesCallback().
51 static BookmarkPermanentNodeList
LoadExtraNodes(
52 BookmarkPermanentNodeList extra_nodes
,
55 BookmarkPermanentNodeList extra_nodes_to_load_
;
56 std::vector
<BookmarkPermanentNode
*> extra_nodes_
;
58 DISALLOW_COPY_AND_ASSIGN(TestBookmarkClient
);
61 } // namespace bookmarks
63 #endif // COMPONENTS_BOOKMARKS_TEST_TEST_BOOKMARK_CLIENT_H_