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

Unified Diff: chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h

Issue 8141003: [Mac] Restore the old bookmark menus now that the experiment is over. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 2 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/ui/cocoa/bookmarks/bookmark_menu_bridge.h
diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h b/chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h
index cda5392c468b7d61168ed01d44c9c5803cfc6fe4..5fd4f626993b6ee989a29fb1efeec6aa93dc818a 100644
--- a/chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h
+++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h
@@ -2,14 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-
-// C++ class that connects a BookmarkNode (or the entire model) to a Cocoa class
-// that manages an NSMenu. Commonly this is for the main menu and that instance
-// is owned by the AppController. This is also used by the folder menus on the
-// bookmark bar.
+// C++ controller for the bookmark menu; one per AppController (which
+// means there is only one). When bookmarks are changed, this class
+// takes care of updating Cocoa bookmark menus. This is not named
+// BookmarkMenuController to help avoid confusion between languages.
+// This class needs to be C++, not ObjC, since it derives from
+// BookmarkModelObserver.
//
-// In the main menu case, most Chromium Cocoa menu items are static from a nib
-// (e.g. New Tab), but may be enabled/disabled under certain circumstances
+// Most Chromium Cocoa menu items are static from a nib (e.g. New
+// Tab), but may be enabled/disabled under certain circumstances
// (e.g. Cut and Paste). In addition, most Cocoa menu items have
// firstResponder: as a target. Unusually, bookmark menu items are
// created dynamically. They also have a target of
@@ -36,14 +37,7 @@ class Profile;
class BookmarkMenuBridge : public BookmarkModelObserver,
public MainMenuItem {
public:
- // Constructor for the main menu which lists all bookmarks.
BookmarkMenuBridge(Profile* profile, NSMenu* menu);
-
- // Constructor for a submenu.
- BookmarkMenuBridge(const BookmarkNode* root_node,
- Profile* profile,
- NSMenu* menu);
-
virtual ~BookmarkMenuBridge();
// BookmarkModelObserver:
@@ -78,17 +72,9 @@ class BookmarkMenuBridge : public BookmarkModelObserver,
// Rebuilds a bookmark menu that's a submenu of another menu.
void UpdateSubMenu(NSMenu* bookmark_menu);
- // If this bridge is managing a menu for the "Off the Side" chevron button,
- // this sets the index in the menu of the first node to display.
- void set_off_the_side_node_start_index(size_t index) {
- off_the_side_node_start_index_ = index;
- InvalidateMenu();
- }
-
// I wish I had a "friend @class" construct.
BookmarkModel* GetBookmarkModel();
Profile* GetProfile();
- BookmarkMenuCocoaController* controller() { return controller_.get(); }
protected:
// Rebuilds the bookmark content of supplied menu.
@@ -98,7 +84,7 @@ class BookmarkMenuBridge : public BookmarkModelObserver,
void ClearBookmarkMenu(NSMenu* menu);
// Mark the bookmark menu as being invalid.
- void InvalidateMenu() { menu_is_valid_ = false; }
+ void InvalidateMenu() { menuIsValid_ = false; }
// Helper for adding the node as a submenu to the menu with the
// given title.
@@ -114,8 +100,7 @@ class BookmarkMenuBridge : public BookmarkModelObserver,
// If |add_extra_items| is true, also adds extra menu items at bottom of
// menu, such as "Open All Bookmarks".
// TODO(jrg): add a counter to enforce maximum nodes added
- void AddNodeToMenu(const BookmarkNode* node,
- NSMenu* menu,
+ void AddNodeToMenu(const BookmarkNode* node, NSMenu* menu,
bool add_extra_items);
// Helper for adding an item to our bookmark menu. An item which has a
@@ -148,24 +133,11 @@ class BookmarkMenuBridge : public BookmarkModelObserver,
private:
friend class BookmarkMenuBridgeTest;
- // Performs the actual work for AddNodeToMenu(), keeping count of the
- // recursion depth.
- void AddNodeToMenuRecursive(const BookmarkNode* node,
- NSMenu* menu,
- bool add_extra_items,
- int recursion_depth);
-
// True iff the menu is up-to-date with the actual BookmarkModel.
- bool menu_is_valid_;
-
- // The root node of the menu.
- const BookmarkNode* root_node_;
-
- // Index from which to start adding children from the model.
- size_t off_the_side_node_start_index_;
+ bool menuIsValid_;
- Profile* profile_; // Weak.
- scoped_nsobject<BookmarkMenuCocoaController> controller_;
+ Profile* profile_; // weak
+ BookmarkMenuCocoaController* controller_; // strong
// The folder image so we can use one copy for all.
scoped_nsobject<NSImage> folder_image_;

Powered by Google App Engine
This is Rietveld 408576698