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

Side by Side Diff: chrome/browser/bookmarks/bookmark_model.h

Issue 155128: Converting the history::StarredEntry::Type to a type defined in BookmarkNode.... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 5 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_BOOKMARKS_BOOKMARK_MODEL_H_ 5 #ifndef CHROME_BROWSER_BOOKMARKS_BOOKMARK_MODEL_H_
6 #define CHROME_BROWSER_BOOKMARKS_BOOKMARK_MODEL_H_ 6 #define CHROME_BROWSER_BOOKMARKS_BOOKMARK_MODEL_H_
7 7
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 9
10 #include <set> 10 #include <set>
(...skipping 26 matching lines...) Expand all
37 37
38 // BookmarkNode --------------------------------------------------------------- 38 // BookmarkNode ---------------------------------------------------------------
39 39
40 // BookmarkNode contains information about a starred entry: title, URL, favicon, 40 // BookmarkNode contains information about a starred entry: title, URL, favicon,
41 // star id and type. BookmarkNodes are returned from a BookmarkModel. 41 // star id and type. BookmarkNodes are returned from a BookmarkModel.
42 // 42 //
43 class BookmarkNode : public TreeNode<BookmarkNode> { 43 class BookmarkNode : public TreeNode<BookmarkNode> {
44 friend class BookmarkModel; 44 friend class BookmarkModel;
45 45
46 public: 46 public:
47 enum Type {
48 URL,
49 FOLDER,
50 BOOKMARK_BAR,
51 OTHER_NODE
52 };
47 // Creates a new node with the specified url and id of 0 53 // Creates a new node with the specified url and id of 0
48 explicit BookmarkNode(const GURL& url); 54 explicit BookmarkNode(const GURL& url);
49 // Creates a new node with the specified url and id. 55 // Creates a new node with the specified url and id.
50 BookmarkNode(int id, const GURL& url); 56 BookmarkNode(int id, const GURL& url);
51 virtual ~BookmarkNode() {} 57 virtual ~BookmarkNode() {}
52 58
53 // Returns the URL. 59 // Returns the URL.
54 const GURL& GetURL() const { return url_; } 60 const GURL& GetURL() const { return url_; }
55 61
56 // Returns a unique id for this node. 62 // Returns a unique id for this node.
57 // 63 //
58 // NOTE: this id is only unique for the session and NOT unique across 64 // NOTE: this id is only unique for the session and NOT unique across
59 // sessions. Don't persist it! 65 // sessions. Don't persist it!
60 int id() const { return id_; } 66 int id() const { return id_; }
61 // Sets the id to the given value. 67 // Sets the id to the given value.
62 void set_id(int id) { id_ = id; } 68 void set_id(int id) { id_ = id; }
63 69
64 // Returns the type of this node. 70 // Returns the type of this node.
65 history::StarredEntry::Type GetType() const { return type_; } 71 BookmarkNode::Type GetType() const { return type_; }
66 void SetType(history::StarredEntry::Type type) { type_ = type; } 72 void SetType(BookmarkNode::Type type) { type_ = type; }
67 73
68 // Returns the time the bookmark/group was added. 74 // Returns the time the bookmark/group was added.
69 const base::Time& date_added() const { return date_added_; } 75 const base::Time& date_added() const { return date_added_; }
70 // Sets the time the bookmark/group was added. 76 // Sets the time the bookmark/group was added.
71 void set_date_added(const base::Time& date) { date_added_ = date; } 77 void set_date_added(const base::Time& date) { date_added_ = date; }
72 78
73 // Returns the last time the group was modified. This is only maintained 79 // Returns the last time the group was modified. This is only maintained
74 // for folders (including the bookmark and other folder). 80 // for folders (including the bookmark and other folder).
75 const base::Time& date_group_modified() const { return date_group_modified_; } 81 const base::Time& date_group_modified() const { return date_group_modified_; }
76 // Sets the last time the group was modified. 82 // Sets the last time the group was modified.
77 void set_date_group_modified(const base::Time& date) { 83 void set_date_group_modified(const base::Time& date) {
78 date_group_modified_ = date; 84 date_group_modified_ = date;
79 } 85 }
80 86
81 // Convenience for testing if this nodes represents a group. A group is 87 // Convenience for testing if this nodes represents a group. A group is
82 // a node whose type is not URL. 88 // a node whose type is not URL.
83 bool is_folder() const { return type_ != history::StarredEntry::URL; } 89 bool is_folder() const { return type_ != URL; }
84 90
85 // Is this a URL? 91 // Is this a URL?
86 bool is_url() const { return type_ == history::StarredEntry::URL; } 92 bool is_url() const { return type_ == URL; }
87 93
88 // Returns the favicon. In nearly all cases you should use the method 94 // Returns the favicon. In nearly all cases you should use the method
89 // BookmarkModel::GetFavicon rather than this. BookmarkModel::GetFavicon 95 // BookmarkModel::GetFavicon rather than this. BookmarkModel::GetFavicon
90 // takes care of loading the favicon if it isn't already loaded, where as 96 // takes care of loading the favicon if it isn't already loaded, where as
91 // this does not. 97 // this does not.
92 const SkBitmap& favicon() const { return favicon_; } 98 const SkBitmap& favicon() const { return favicon_; }
93 void set_favicon(const SkBitmap& icon) { favicon_ = icon; } 99 void set_favicon(const SkBitmap& icon) { favicon_ = icon; }
94 100
95 // The following methods are used by the bookmark model, and are not 101 // The following methods are used by the bookmark model, and are not
96 // really useful outside of it. 102 // really useful outside of it.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 139
134 // If non-zero, it indicates we're loading the favicon and this is the handle 140 // If non-zero, it indicates we're loading the favicon and this is the handle
135 // from the HistoryService. 141 // from the HistoryService.
136 HistoryService::Handle favicon_load_handle_; 142 HistoryService::Handle favicon_load_handle_;
137 143
138 // The URL. BookmarkModel maintains maps off this URL, it is important that 144 // The URL. BookmarkModel maintains maps off this URL, it is important that
139 // it not change once the node has been created. 145 // it not change once the node has been created.
140 const GURL url_; 146 const GURL url_;
141 147
142 // Type of node. 148 // Type of node.
143 // TODO(sky): bug 1256202, convert this into a type defined here. 149 BookmarkNode::Type type_;
144 history::StarredEntry::Type type_;
145 150
146 // Date we were created. 151 // Date we were created.
147 base::Time date_added_; 152 base::Time date_added_;
148 153
149 // Time last modified. Only used for groups. 154 // Time last modified. Only used for groups.
150 base::Time date_group_modified_; 155 base::Time date_group_modified_;
151 156
152 DISALLOW_COPY_AND_ASSIGN(BookmarkNode); 157 DISALLOW_COPY_AND_ASSIGN(BookmarkNode);
153 }; 158 };
154 159
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 scoped_refptr<BookmarkStorage> store_; 506 scoped_refptr<BookmarkStorage> store_;
502 507
503 scoped_ptr<BookmarkIndex> index_; 508 scoped_ptr<BookmarkIndex> index_;
504 509
505 base::WaitableEvent loaded_signal_; 510 base::WaitableEvent loaded_signal_;
506 511
507 DISALLOW_COPY_AND_ASSIGN(BookmarkModel); 512 DISALLOW_COPY_AND_ASSIGN(BookmarkModel);
508 }; 513 };
509 514
510 #endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_MODEL_H_ 515 #endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_MODEL_H_
OLDNEW
« no previous file with comments | « chrome/browser/bookmarks/bookmark_html_writer.cc ('k') | chrome/browser/bookmarks/bookmark_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698