Index: chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h |
=================================================================== |
--- chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h (revision 86142) |
+++ chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h (working copy) |
@@ -6,19 +6,17 @@ |
#define CHROME_BROWSER_UI_VIEWS_BOOKMARKS_BOOKMARK_MENU_CONTROLLER_VIEWS_H_ |
#pragma once |
-#include <map> |
#include <set> |
#include "chrome/browser/bookmarks/base_bookmark_model_observer.h" |
#include "chrome/browser/bookmarks/bookmark_node_data.h" |
-#include "chrome/browser/ui/views/bookmarks/bookmark_context_menu.h" |
#include "ui/gfx/native_widget_types.h" |
#include "views/controls/menu/menu_delegate.h" |
#include "views/controls/menu/menu_item_view.h" |
class BookmarkBarView; |
+class BookmarkMenuDelegate; |
class BookmarkNode; |
-class Browser; |
class PageNavigator; |
class Profile; |
@@ -39,8 +37,7 @@ |
// BookmarkMenuController deletes itself as necessary, although the menu can |
// be explicitly hidden by way of the Cancel method. |
class BookmarkMenuController : public BaseBookmarkModelObserver, |
- public views::MenuDelegate, |
- public BookmarkContextMenuObserver { |
+ public views::MenuDelegate { |
public: |
// The observer is notified prior to the menu being deleted. |
class Observer { |
@@ -52,9 +49,8 @@ |
}; |
// Creates a BookmarkMenuController showing the children of |node| starting |
- // at index |start_child_index|. |
- BookmarkMenuController(Browser* browser, |
- Profile* profile, |
+ // at |start_child_index|. |
+ BookmarkMenuController(Profile* profile, |
PageNavigator* page_navigator, |
gfx::NativeWindow parent, |
const BookmarkNode* node, |
@@ -74,12 +70,10 @@ |
const BookmarkNode* node() const { return node_; } |
// Returns the menu. |
- views::MenuItemView* menu() const { return menu_; } |
+ views::MenuItemView* menu() const; |
// Returns the context menu, or NULL if the context menu isn't showing. |
- views::MenuItemView* context_menu() const { |
- return context_menu_.get() ? context_menu_->menu() : NULL; |
- } |
+ views::MenuItemView* context_menu() const; |
void set_observer(Observer* observer) { observer_ = observer; } |
@@ -120,70 +114,19 @@ |
// BookmarkModelObserver methods. |
virtual void BookmarkModelChanged(); |
- virtual void BookmarkNodeFaviconLoaded(BookmarkModel* model, |
- const BookmarkNode* node); |
- // BookmarkContextMenu::Observer methods. |
- virtual void WillRemoveBookmarks( |
- const std::vector<const BookmarkNode*>& bookmarks); |
- virtual void DidRemoveBookmarks(); |
- |
private: |
- typedef std::map<const BookmarkNode*, int> NodeToMenuIDMap; |
- |
// BookmarkMenuController deletes itself as necessary. |
virtual ~BookmarkMenuController(); |
- // Creates a menu and adds it to node_to_menu_id_map_. This uses |
- // BuildMenu to recursively populate the menu. |
- views::MenuItemView* CreateMenu(const BookmarkNode* parent, |
- int start_child_index); |
+ scoped_ptr<BookmarkMenuDelegate> menu_delegate_; |
- // Creates an entry in menu for each child node of |parent| starting at |
- // |start_child_index|. |
- void BuildMenu(const BookmarkNode* parent, |
- int start_child_index, |
- views::MenuItemView* menu, |
- int* next_menu_id); |
- |
- // Returns the menu whose id is |id|. |
- views::MenuItemView* GetMenuByID(int id); |
- |
- // Does the work of processing WillRemoveBookmarks. On exit the set of removed |
- // menus is added to |removed_menus|. It's up to the caller to delete the |
- // the menus added to |removed_menus|. |
- void WillRemoveBookmarksImpl( |
- const std::vector<const BookmarkNode*>& bookmarks, |
- std::set<views::MenuItemView*>* removed_menus); |
- |
- Browser* browser_; |
- |
- Profile* profile_; |
- |
- PageNavigator* page_navigator_; |
- |
- // Parent of menus. |
- gfx::NativeWindow parent_; |
- |
// The node we're showing the contents of. |
const BookmarkNode* node_; |
- // Maps from menu id to BookmarkNode. |
- std::map<int, const BookmarkNode*> menu_id_to_node_map_; |
- |
- // Mapping from node to menu id. This only contains entries for nodes of type |
- // URL. |
- NodeToMenuIDMap node_to_menu_id_map_; |
- |
- // Current menu. |
- views::MenuItemView* menu_; |
- |
// Data for the drop. |
BookmarkNodeData drop_data_; |
- // Used when a context menu is shown. |
- scoped_ptr<BookmarkContextMenu> context_menu_; |
- |
// The observer, may be null. |
Observer* observer_; |
@@ -194,12 +137,6 @@ |
// for a folder on the bookmark bar and not for drop. |
BookmarkBarView* bookmark_bar_; |
- typedef std::map<const BookmarkNode*, views::MenuItemView*> NodeToMenuMap; |
- NodeToMenuMap node_to_menu_map_; |
- |
- // ID of the next menu item. |
- int next_menu_id_; |
- |
DISALLOW_COPY_AND_ASSIGN(BookmarkMenuController); |
}; |