OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 "ui/views/controls/menu/menu_runner_impl.h" | 5 #include "ui/views/controls/menu/menu_runner_impl.h" |
6 | 6 |
| 7 #include "build/build_config.h" |
7 #include "ui/native_theme/native_theme.h" | 8 #include "ui/native_theme/native_theme.h" |
8 #include "ui/views/controls/button/menu_button.h" | 9 #include "ui/views/controls/button/menu_button.h" |
9 #include "ui/views/controls/menu/menu_controller.h" | 10 #include "ui/views/controls/menu/menu_controller.h" |
10 #include "ui/views/controls/menu/menu_delegate.h" | 11 #include "ui/views/controls/menu/menu_delegate.h" |
11 #include "ui/views/controls/menu/menu_item_view.h" | 12 #include "ui/views/controls/menu/menu_item_view.h" |
12 #include "ui/views/controls/menu/menu_runner_impl_adapter.h" | 13 #include "ui/views/controls/menu/menu_runner_impl_adapter.h" |
13 #include "ui/views/widget/widget.h" | 14 #include "ui/views/widget/widget.h" |
14 | 15 |
15 #if defined(OS_WIN) | 16 #if defined(OS_WIN) |
16 #include "ui/events/win/system_event_state_lookup.h" | 17 #include "ui/events/win/system_event_state_lookup.h" |
17 #endif | 18 #endif |
18 | 19 |
19 namespace views { | 20 namespace views { |
20 namespace internal { | 21 namespace internal { |
21 | 22 |
22 #if !defined(OS_MACOSX) | 23 #if !defined(OS_MACOSX) |
23 MenuRunnerImplInterface* MenuRunnerImplInterface::Create( | 24 MenuRunnerImplInterface* MenuRunnerImplInterface::Create( |
24 ui::MenuModel* menu_model, | 25 ui::MenuModel* menu_model, |
25 int32 run_types) { | 26 int32_t run_types) { |
26 return new MenuRunnerImplAdapter(menu_model); | 27 return new MenuRunnerImplAdapter(menu_model); |
27 } | 28 } |
28 #endif | 29 #endif |
29 | 30 |
30 MenuRunnerImpl::MenuRunnerImpl(MenuItemView* menu) | 31 MenuRunnerImpl::MenuRunnerImpl(MenuItemView* menu) |
31 : menu_(menu), | 32 : menu_(menu), |
32 running_(false), | 33 running_(false), |
33 delete_after_run_(false), | 34 delete_after_run_(false), |
34 async_(false), | 35 async_(false), |
35 for_drop_(false), | 36 for_drop_(false), |
(...skipping 30 matching lines...) Expand all Loading... |
66 controller_->Cancel(MenuController::EXIT_DESTROYED); | 67 controller_->Cancel(MenuController::EXIT_DESTROYED); |
67 } else { | 68 } else { |
68 delete this; | 69 delete this; |
69 } | 70 } |
70 } | 71 } |
71 | 72 |
72 MenuRunner::RunResult MenuRunnerImpl::RunMenuAt(Widget* parent, | 73 MenuRunner::RunResult MenuRunnerImpl::RunMenuAt(Widget* parent, |
73 MenuButton* button, | 74 MenuButton* button, |
74 const gfx::Rect& bounds, | 75 const gfx::Rect& bounds, |
75 MenuAnchorPosition anchor, | 76 MenuAnchorPosition anchor, |
76 int32 run_types) { | 77 int32_t run_types) { |
77 closing_event_time_ = base::TimeDelta(); | 78 closing_event_time_ = base::TimeDelta(); |
78 if (running_) { | 79 if (running_) { |
79 // Ignore requests to show the menu while it's already showing. MenuItemView | 80 // Ignore requests to show the menu while it's already showing. MenuItemView |
80 // doesn't handle this very well (meaning it crashes). | 81 // doesn't handle this very well (meaning it crashes). |
81 return MenuRunner::NORMAL_EXIT; | 82 return MenuRunner::NORMAL_EXIT; |
82 } | 83 } |
83 | 84 |
84 MenuController* controller = MenuController::GetActiveInstance(); | 85 MenuController* controller = MenuController::GetActiveInstance(); |
85 if (controller) { | 86 if (controller) { |
86 if ((run_types & MenuRunner::IS_NESTED) != 0) { | 87 if ((run_types & MenuRunner::IS_NESTED) != 0) { |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 #if defined(OS_WIN) | 215 #if defined(OS_WIN) |
215 // This is only needed on Windows. | 216 // This is only needed on Windows. |
216 if (!show_mnemonics) | 217 if (!show_mnemonics) |
217 show_mnemonics = ui::win::IsAltPressed(); | 218 show_mnemonics = ui::win::IsAltPressed(); |
218 #endif | 219 #endif |
219 return show_mnemonics; | 220 return show_mnemonics; |
220 } | 221 } |
221 | 222 |
222 } // namespace internal | 223 } // namespace internal |
223 } // namespace views | 224 } // namespace views |
OLD | NEW |