summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-02 17:08:47 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-02 17:08:47 +0000
commit269e129404527aa945737d25ff51dfc8b46e8d72 (patch)
tree5f7f69dae393b5bba9f9f914c9543bd7f5ae1e36
parent8c6c5c060f7263dfd9d442845677167976d70e68 (diff)
downloadchromium_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.cc6
-rw-r--r--chrome/browser/views/bookmark_bar_view_test.cc32
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)