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

Issue 7787001: Makes bookmark bar view reset PageNavigator on menu when PageNavigator (Closed)

Created:
9 years, 3 months ago by sky
Modified:
9 years, 3 months ago
CC:
chromium-reviews
Visibility:
Public.

Description

Makes bookmark bar view reset PageNavigator on menu when PageNavigator of BookmarkBarView changes. My last patch added the plumbing, this wires it up. BUG=92994 TEST=make sure bookmark menus still work; covered by tests too. R=ben@chromium.org Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=98700

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -4 lines) Patch
M chrome/browser/ui/views/bookmarks/bookmark_bar_view.h View 2 chunks +5 lines, -0 lines 0 comments Download
M chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc View 3 chunks +12 lines, -4 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
sky
9 years, 3 months ago (2011-08-29 15:37:36 UTC) #1
Ben Goodger (Google)
9 years, 3 months ago (2011-08-29 16:50:59 UTC) #2
LGTM

On Mon, Aug 29, 2011 at 8:37 AM, <sky@chromium.org> wrote:

> Reviewers: Ben Goodger (Google),
>
> Description:
> Makes bookmark bar view reset PageNavigator on menu when PageNavigator
> of BookmarkBarView changes. My last patch added the plumbing, this
> wires it up.
>
> BUG=92994
> TEST=make sure bookmark menus still work; covered by tests too.
> R=ben@chromium.org
>
>
> Please review this at
http://codereview.chromium.**org/7787001/<http://codereview.chromium.org/7787...
>
> SVN Base:
svn://svn.chromium.org/chrome/**trunk/src<http://svn.chromium.org/chrome/trunk/src>
>
> Affected files:
>  M chrome/browser/ui/views/**bookmarks/bookmark_bar_view.h
>  M chrome/browser/ui/views/**bookmarks/bookmark_bar_view.cc
>
>
> Index: chrome/browser/ui/views/**bookmarks/bookmark_bar_view.cc
> diff --git a/chrome/browser/ui/views/**bookmarks/bookmark_bar_view.cc
> b/chrome/browser/ui/views/**bookmarks/bookmark_bar_view.cc
> index 24cf4b44954e26ec93f1dd3ddb2039**215c8cbf5e..**
> 78e915cfe320e8a7a1b68fe8b5a35d**89ea87d897 100644
> --- a/chrome/browser/ui/views/**bookmarks/bookmark_bar_view.cc
> +++ b/chrome/browser/ui/views/**bookmarks/bookmark_bar_view.cc
> @@ -394,8 +394,12 @@ BookmarkBarView::~**BookmarkBarView() {
>
>   // It's possible for the menu to outlive us, reset the observer to make
> sure
>   // it doesn't have a reference to us.
> -  if (bookmark_menu_)
> +  if (bookmark_menu_) {
>     bookmark_menu_->set_observer(**NULL);
> +    bookmark_menu_->**SetPageNavigator(NULL);
> +  }
> +  if (context_menu_.get())
> +    context_menu_->**SetPageNavigator(NULL);
>
>   StopShowFolderDropMenuTimer();
>
> @@ -405,6 +409,10 @@ BookmarkBarView::~**BookmarkBarView() {
>
>  void BookmarkBarView::**SetPageNavigator(**PageNavigator* navigator) {
>   page_navigator_ = navigator;
> +  if (bookmark_menu_)
> +    bookmark_menu_->**SetPageNavigator(navigator);
> +  if (context_menu_.get())
> +    context_menu_->**SetPageNavigator(navigator);
>  }
>
>  void BookmarkBarView::**SetBookmarkBarState(
> @@ -1097,9 +1105,9 @@ void BookmarkBarView::**ShowContextMenuForView(View*
> source,
>   bool close_on_remove =
>       (parent == profile->GetBookmarkModel()->**other_node()) &&
>       (parent->child_count() == 1);
> -  BookmarkContextMenu controller(GetWidget(), profile,
> -      browser_->**GetSelectedTabContents(), parent, nodes,
> close_on_remove);
> -  controller.RunMenuAt(p);
> +  context_menu_.reset(new BookmarkContextMenu(GetWidget(**), profile,
> +      browser_->**GetSelectedTabContents(), parent, nodes,
> close_on_remove));
> +  context_menu_->RunMenuAt(p);
>  }
>
>  void BookmarkBarView::Observe(int type,
> Index: chrome/browser/ui/views/**bookmarks/bookmark_bar_view.h
> diff --git a/chrome/browser/ui/views/**bookmarks/bookmark_bar_view.h
> b/chrome/browser/ui/views/**bookmarks/bookmark_bar_view.h
> index 44aa56184c14305a5d525433315207**904bc93b37..**
> 57493164cfa8c7c35cd11d62378af0**af39f88ff2 100644
> --- a/chrome/browser/ui/views/**bookmarks/bookmark_bar_view.h
> +++ b/chrome/browser/ui/views/**bookmarks/bookmark_bar_view.h
> @@ -25,6 +25,7 @@
>  #include "views/controls/menu/view_**menu_delegate.h"
>  #include "views/drag_controller.h"
>
> +class BookmarkContextMenu;
>  class Browser;
>  class PageNavigator;
>  class PrefService;
> @@ -374,6 +375,10 @@ class BookmarkBarView : public DetachableToolbarView,
>   // contents of the node.
>   BookmarkMenuController* bookmark_drop_menu_;
>
> +  // If non-NULL we're showing a context menu for one of the items on the
> +  // bookmark bar.
> +  scoped_ptr<**BookmarkContextMenu> context_menu_;
> +
>   // Shows the other bookmark entries.
>   views::MenuButton* other_bookmarked_button_;
>
>
>
>

Powered by Google App Engine
This is Rietveld 408576698