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

Side by Side Diff: chrome/browser/ui/views/menu_item_view_test.cc

Issue 9693022: views: Rename MenuButtonDelegate::RunMenu to something more obvious. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: menu_button_listener.h Created 8 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/callback.h" 5 #include "base/callback.h"
6 #include "base/utf_string_conversions.h" 6 #include "base/utf_string_conversions.h"
7 #include "chrome/browser/automation/ui_controls.h" 7 #include "chrome/browser/automation/ui_controls.h"
8 #include "chrome/test/base/view_event_test_base.h" 8 #include "chrome/test/base/view_event_test_base.h"
9 #include "ui/views/controls/button/menu_button.h" 9 #include "ui/views/controls/button/menu_button.h"
10 #include "ui/views/controls/button/menu_button_delegate.h" 10 #include "ui/views/controls/button/menu_button_listener.h"
11 #include "ui/views/controls/menu/menu_controller.h" 11 #include "ui/views/controls/menu/menu_controller.h"
12 #include "ui/views/controls/menu/menu_item_view.h" 12 #include "ui/views/controls/menu/menu_item_view.h"
13 #include "ui/views/controls/menu/menu_runner.h" 13 #include "ui/views/controls/menu/menu_runner.h"
14 #include "ui/views/controls/menu/submenu_view.h" 14 #include "ui/views/controls/menu/submenu_view.h"
15 #include "ui/views/widget/root_view.h" 15 #include "ui/views/widget/root_view.h"
16 #include "ui/views/widget/widget.h" 16 #include "ui/views/widget/widget.h"
17 17
18 // This is a convenience base class for all tests to provide some 18 // This is a convenience base class for all tests to provide some
19 // common functionality. It sets up a MenuButton and a MenuItemView 19 // common functionality. It sets up a MenuButton and a MenuItemView
20 // and clicks the MenuButton. 20 // and clicks the MenuButton.
21 // 21 //
22 // Subclasses should implement: 22 // Subclasses should implement:
23 // BuildMenu() populate the menu 23 // BuildMenu() populate the menu
24 // DoTestOnMessageLoop() initiate the test 24 // DoTestOnMessageLoop() initiate the test
25 // 25 //
26 // Subclasses can call: 26 // Subclasses can call:
27 // Click() to post a mouse click on a View 27 // Click() to post a mouse click on a View
28 // 28 //
29 // Although it should be possible to post a menu multiple times, 29 // Although it should be possible to post a menu multiple times,
30 // MenuItemView prevents repeated activation of a menu by clicks too 30 // MenuItemView prevents repeated activation of a menu by clicks too
31 // close in time. 31 // close in time.
32 class MenuItemViewTestBase : public ViewEventTestBase, 32 class MenuItemViewTestBase : public ViewEventTestBase,
33 public views::MenuButtonDelegate, 33 public views::MenuButtonListener,
34 public views::MenuDelegate { 34 public views::MenuDelegate {
35 public: 35 public:
36 MenuItemViewTestBase() 36 MenuItemViewTestBase()
37 : ViewEventTestBase(), 37 : ViewEventTestBase(),
38 button_(NULL), 38 button_(NULL),
39 menu_(NULL) { 39 menu_(NULL) {
40 } 40 }
41 41
42 virtual ~MenuItemViewTestBase() { 42 virtual ~MenuItemViewTestBase() {
43 } 43 }
(...skipping 17 matching lines...) Expand all
61 } 61 }
62 62
63 virtual views::View* CreateContentsView() OVERRIDE { 63 virtual views::View* CreateContentsView() OVERRIDE {
64 return button_; 64 return button_;
65 } 65 }
66 66
67 virtual gfx::Size GetPreferredSize() OVERRIDE { 67 virtual gfx::Size GetPreferredSize() OVERRIDE {
68 return button_->GetPreferredSize(); 68 return button_->GetPreferredSize();
69 } 69 }
70 70
71 // views::MenuButtonDelegate implementation. 71 // views::MenuButtonListener implementation.
72 virtual void RunMenu(views::View* source, const gfx::Point& pt) OVERRIDE { 72 virtual void OnMenuButtonClicked(views::View* source,
73 const gfx::Point& point) OVERRIDE {
73 gfx::Point screen_location; 74 gfx::Point screen_location;
74 views::View::ConvertPointToScreen(source, &screen_location); 75 views::View::ConvertPointToScreen(source, &screen_location);
75 gfx::Rect bounds(screen_location, source->size()); 76 gfx::Rect bounds(screen_location, source->size());
76 ignore_result(menu_runner_->RunMenuAt( 77 ignore_result(menu_runner_->RunMenuAt(
77 source->GetWidget(), 78 source->GetWidget(),
78 button_, 79 button_,
79 bounds, 80 bounds,
80 views::MenuItemView::TOPLEFT, 81 views::MenuItemView::TOPLEFT,
81 views::MenuRunner::HAS_MNEMONICS)); 82 views::MenuRunner::HAS_MNEMONICS));
82 } 83 }
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 481
481 private: 482 private:
482 int last_command_; 483 int last_command_;
483 views::MenuItemView* submenu_; 484 views::MenuItemView* submenu_;
484 }; 485 };
485 486
486 typedef MenuItemViewTestRemoveWithSubmenu<0> MenuItemViewTestRemoveWithSubmenu0; 487 typedef MenuItemViewTestRemoveWithSubmenu<0> MenuItemViewTestRemoveWithSubmenu0;
487 typedef MenuItemViewTestRemoveWithSubmenu<1> MenuItemViewTestRemoveWithSubmenu1; 488 typedef MenuItemViewTestRemoveWithSubmenu<1> MenuItemViewTestRemoveWithSubmenu1;
488 VIEW_TEST(MenuItemViewTestRemoveWithSubmenu0, RemoveItemWithSubmenu0) 489 VIEW_TEST(MenuItemViewTestRemoveWithSubmenu0, RemoveItemWithSubmenu0)
489 VIEW_TEST(MenuItemViewTestRemoveWithSubmenu1, RemoveItemWithSubmenu1) 490 VIEW_TEST(MenuItemViewTestRemoveWithSubmenu1, RemoveItemWithSubmenu1)
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/infobars/media_stream_infobar.cc ('k') | chrome/browser/ui/views/menu_model_adapter_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698