diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-02 17:08:47 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-02 17:08:47 +0000 |
commit | 269e129404527aa945737d25ff51dfc8b46e8d72 (patch) | |
tree | 5f7f69dae393b5bba9f9f914c9543bd7f5ae1e36 | |
parent | 8c6c5c060f7263dfd9d442845677167976d70e68 (diff) | |
download | chromium_src-269e129404527aa945737d25ff51dfc8b46e8d72.zip chromium_src-269e129404527aa945737d25ff51dfc8b46e8d72.tar.gz chromium_src-269e129404527aa945737d25ff51dfc8b46e8d72.tar.bz2 |
Test case for fix to bug 26279.
BUG=26279
TEST=see bug
Review URL: http://codereview.chromium.org/339092
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30707 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/views/bookmark_bar_view.cc | 6 | ||||
-rw-r--r-- | chrome/browser/views/bookmark_bar_view_test.cc | 32 |
2 files changed, 36 insertions, 2 deletions
diff --git a/chrome/browser/views/bookmark_bar_view.cc b/chrome/browser/views/bookmark_bar_view.cc index 492f323c..45265b9 100644 --- a/chrome/browser/views/bookmark_bar_view.cc +++ b/chrome/browser/views/bookmark_bar_view.cc @@ -1214,9 +1214,11 @@ void BookmarkBarView::ShowContextMenu(View* source, parent = model_->GetBookmarkBarNode(); nodes.push_back(parent); } + // Browser may be null during testing. + PageNavigator* navigator = + browser() ? browser()->GetSelectedTabContents() : NULL; BookmarkContextMenu controller(GetWindow()->GetNativeWindow(), GetProfile(), - browser()->GetSelectedTabContents(), - parent, nodes, + navigator, parent, nodes, BookmarkContextMenuController::BOOKMARK_BAR); controller.RunMenuAt(gfx::Point(x, y)); } diff --git a/chrome/browser/views/bookmark_bar_view_test.cc b/chrome/browser/views/bookmark_bar_view_test.cc index 5c89c66..cbf0808 100644 --- a/chrome/browser/views/bookmark_bar_view_test.cc +++ b/chrome/browser/views/bookmark_bar_view_test.cc @@ -1064,3 +1064,35 @@ class BookmarkBarViewTest13 : public BookmarkBarViewEventTestBase { }; VIEW_TEST(BookmarkBarViewTest13, ClickOnContextMenuSeparator) + +// Makes sure right cliking on a folder on the bookmark bar doesn't result in +// both a context menu and showing the menu. +class BookmarkBarViewTest14 : public BookmarkBarViewEventTestBase { + protected: + virtual void DoTestOnMessageLoop() { + // Move the mouse to the first folder on the bookmark bar and press the + // right mouse button. + views::TextButton* button = bb_view_->GetBookmarkButton(0); + ui_controls::MoveMouseToCenterAndPress(button, ui_controls::RIGHT, + ui_controls::DOWN | ui_controls::UP, + CreateEventTask(this, &BookmarkBarViewTest14::Step2)); + } + + private: + void Step2() { + // Menu should NOT be showing. + views::MenuItemView* menu = bb_view_->GetMenu(); + ASSERT_TRUE(menu == NULL); + + // Send escape so that the context menu hides. + ui_controls::SendKeyPressNotifyWhenDone( + NULL, base::VKEY_ESCAPE, false, false, false, + CreateEventTask(this, &BookmarkBarViewTest14::Step3)); + } + + void Step3() { + Done(); + } +}; + +VIEW_TEST(BookmarkBarViewTest14, ContextMenus2) |