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

Unified Diff: chrome/browser/bookmarks/bookmark_editor.h

Issue 7670041: Add --use-more-webui runtime flag to toggle WebUI replacements for native dialogs. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Merge with trunk. Created 9 years, 3 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 side-by-side diff with in-line comments
Download patch
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_
« no previous file with comments | « chrome/browser/bookmarks/bookmark_context_menu_controller.cc ('k') | chrome/browser/bookmarks/bookmark_editor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698