Chromium Code Reviews| Index: ui/views/controls/menu/menu_runner_impl_cocoa.mm |
| diff --git a/ui/views/controls/menu/menu_runner_impl_cocoa.mm b/ui/views/controls/menu/menu_runner_impl_cocoa.mm |
| index c6802381ab6c221eb9645b6e965f113b00fa0504..1605c3bf9a23a2cf37321124f022906cbe7c7c80 100644 |
| --- a/ui/views/controls/menu/menu_runner_impl_cocoa.mm |
| +++ b/ui/views/controls/menu/menu_runner_impl_cocoa.mm |
| @@ -93,7 +93,7 @@ MenuRunnerImplInterface* MenuRunnerImplInterface::Create( |
| } |
| MenuRunnerImplCocoa::MenuRunnerImplCocoa(ui::MenuModel* menu) |
| - : running_(false), |
| + : in_run_menu_at_(false), |
| delete_after_run_(false), |
| closing_event_time_(base::TimeDelta()) { |
| menu_controller_.reset( |
| @@ -101,11 +101,11 @@ MenuRunnerImplCocoa::MenuRunnerImplCocoa(ui::MenuModel* menu) |
| } |
| bool MenuRunnerImplCocoa::IsRunning() const { |
| - return running_; |
| + return [menu_controller_ isMenuOpen]; |
|
tapted
2016/05/06 00:37:56
I think this is different to what menu_runner_impl
karandeepb
2016/05/25 04:19:33
Not sure if my understanding is correct, but on Ma
tapted
2016/05/25 05:07:19
yup - but with this change Cocoa *would* return fa
|
| } |
| void MenuRunnerImplCocoa::Release() { |
| - if (IsRunning()) { |
| + if (in_run_menu_at_) { |
| if (delete_after_run_) |
| return; // We already canceled. |
| @@ -121,11 +121,11 @@ MenuRunner::RunResult MenuRunnerImplCocoa::RunMenuAt(Widget* parent, |
| const gfx::Rect& bounds, |
| MenuAnchorPosition anchor, |
| int32_t run_types) { |
| + in_run_menu_at_ = true; |
| DCHECK(run_types & kNativeRunTypes); |
| DCHECK(!IsRunning()); |
| DCHECK(parent); |
| closing_event_time_ = base::TimeDelta(); |
| - running_ = true; |
| if (run_types & MenuRunner::CONTEXT_MENU) { |
| [NSMenu popUpContextMenu:[menu_controller_ menu] |
| @@ -146,7 +146,7 @@ MenuRunner::RunResult MenuRunnerImplCocoa::RunMenuAt(Widget* parent, |
| } |
| closing_event_time_ = ui::EventTimeForNow(); |
| - running_ = false; |
| + in_run_menu_at_ = false; |
| if (delete_after_run_) { |
| delete this; |