Index: chrome/browser/bookmarks/bookmark_editor.h |
diff --git a/chrome/browser/bookmarks/bookmark_editor.h b/chrome/browser/bookmarks/bookmark_editor.h |
index 39e99eac533544b348867008edc45390edf2b1f5..5b3a6ab43042659f6df6f17999f589e6a85f6052 100644 |
--- a/chrome/browser/bookmarks/bookmark_editor.h |
+++ b/chrome/browser/bookmarks/bookmark_editor.h |
@@ -27,7 +27,19 @@ class BookmarkEditor { |
}; |
// Describes what the user is editing. |
- struct EditDetails { |
+ class EditDetails { |
+ public: |
+ // Returns an EditDetails instance for the user editing the given bookmark. |
+ static EditDetails EditNode(const BookmarkNode* node); |
+ |
+ // Returns an EditDetails instance for the user adding a bookmark within |
+ // a given parent node. |
+ static EditDetails AddNodeInFolder(const BookmarkNode* parent_node); |
+ |
+ // Returns an EditDetails instance for the user adding a folder within a |
+ // given parent node. |
+ static EditDetails AddFolder(const BookmarkNode* parent_node); |
+ |
enum Type { |
// The user is editing an existing node in the model. The node the user |
// is editing is set in |existing_node|. |
@@ -43,34 +55,50 @@ class BookmarkEditor { |
NEW_FOLDER |
}; |
- EditDetails(); |
- explicit EditDetails(const BookmarkNode* node); |
~EditDetails(); |
// See description of enum value for details. |
- Type type; |
+ const Type type; |
// If type == EXISTING_NODE this gives the existing node. |
const BookmarkNode* existing_node; |
+ // If type == NEW_URL or type == NEW_FOLDER this gives the parent node |
+ // to place the new node in. |
+ const BookmarkNode* parent_node; |
+ |
// If type == NEW_FOLDER, this is the urls/title pairs to add to the |
// folder. |
std::vector<std::pair<GURL, string16> > urls; |
+ |
+ private: |
+ explicit EditDetails(Type node_type); |
}; |
- // Shows the bookmark editor. The bookmark editor allows editing an |
+ // Shows the bookmark editor. If --use-more-webui is enabled use the bookmark |
+ // manager to add or edit bookmarks. The bookmark editor allows editing an |
// existing node or creating a new bookmark node (as determined by |
// |details.type|). If |configuration| is SHOW_TREE, a tree is shown allowing |
// the user to choose the parent of the node. |
// |parent| gives the initial parent to select in the tree for the node. |
// |parent| is only used if |details.existing_node| is null. |
- // TODO(flackr): Rename this to ShowNative and add cross platform Show method |
- // which will show a WebUI version of the dialog if --pure-views is set. |
static void Show(gfx::NativeWindow parent_window, |
Profile* profile, |
- const BookmarkNode* parent, |
const EditDetails& details, |
Configuration configuration); |
+ |
+ private: |
+ // Shows the native bookmark editor. |
+ // TODO(flackr): Remove parent argument. |
+ static void ShowNative(gfx::NativeWindow parent_window, |
+ Profile* profile, |
+ const BookmarkNode* parent, |
+ const EditDetails& details, |
+ Configuration configuration); |
+ |
+ // Shows the WebUI bookmark editor. |
+ static void ShowWebUI(Profile* profile, |
+ const EditDetails& details); |
}; |
#endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_EDITOR_H_ |