| 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);
|
| };
|
|
|
|
|