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

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

Issue 168033003: Pass in correct parameter to MenuController::SelectByChar() on Linux Aura (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 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
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/strings/utf_string_conversions.h"
6 #include "chrome/browser/ui/views/menu_test_base.h"
7 #include "chrome/test/base/interactive_test_utils.h"
8 #include "chrome/test/base/ui_test_utils.h"
9 #include "ui/aura/window.h"
10 #include "ui/base/test/ui_controls.h"
11 #include "ui/views/controls/button/menu_button.h"
12 #include "ui/views/controls/menu/menu_item_view.h"
13 #include "ui/views/controls/menu/menu_runner.h"
14
15 MenuTestBase::MenuTestBase()
16 : ViewEventTestBase(),
17 menu_(NULL),
18 last_command_(0) {
19 }
20
21 MenuTestBase::~MenuTestBase() {
22 }
23
24 void MenuTestBase::Click(views::View* view, const base::Closure& next) {
25 ui_test_utils::MoveMouseToCenterAndPress(
26 view,
27 ui_controls::LEFT,
28 ui_controls::DOWN | ui_controls::UP,
29 next);
30 }
31
32 void MenuTestBase::KeyPress(ui::KeyboardCode keycode,
33 const base::Closure& next) {
34 ui_controls::SendKeyPressNotifyWhenDone(
35 GetWidget()->GetNativeView()->GetRootWindow(), keycode, false, false,
36 false, false, next);
37 }
38
39 void MenuTestBase::SetUp() {
40 button_ = new views::MenuButton(
41 NULL, base::ASCIIToUTF16("Menu Test"), this, true);
42 menu_ = new views::MenuItemView(this);
43 BuildMenu(menu_);
44 menu_runner_.reset(new views::MenuRunner(menu_));
45
46 ViewEventTestBase::SetUp();
47 }
48
49 void MenuTestBase::TearDown() {
50 menu_runner_.reset();
51 menu_ = NULL;
52 ViewEventTestBase::TearDown();
53 }
54
55 views::View* MenuTestBase::CreateContentsView() {
56 return button_;
57 }
58
59 void MenuTestBase::DoTestOnMessageLoop() {
60 Click(button_, CreateEventTask(this, &MenuTestBase::DoTestWithMenuOpen));
61 }
62
63 gfx::Size MenuTestBase::GetPreferredSize() {
64 return button_->GetPreferredSize();
65 }
66
67 void MenuTestBase::OnMenuButtonClicked(views::View* source,
68 const gfx::Point& point) {
69 gfx::Point screen_location;
70 views::View::ConvertPointToScreen(source, &screen_location);
71 gfx::Rect bounds(screen_location, source->size());
72 ignore_result(menu_runner_->RunMenuAt(
73 source->GetWidget(),
74 button_,
75 bounds,
76 views::MenuItemView::TOPLEFT,
77 ui::MENU_SOURCE_NONE,
78 views::MenuRunner::HAS_MNEMONICS));
79 }
80
81 void MenuTestBase::ExecuteCommand(int id) {
82 last_command_ = id;
83 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698