MSE: Reduce spurious buffered range discontinuities
[chromium-blink-merge.git] / components / bookmarks / test / test_bookmark_client.h
blob19b9c79fc39fdd3d95ca9f8758f264c544a4af36
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"
11 class BookmarkModel;
13 namespace bookmarks {
15 class TestBookmarkClient : public BookmarkClient {
16 public:
17 TestBookmarkClient();
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() {
30 return 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);
39 private:
40 // BookmarkClient:
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,
53 int64* next_id);
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_