| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "mash/browser/browser.h" | 5 #include "mash/browser/browser.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 431 gfx::Rect local = GetLocalBounds(); | 431 gfx::Rect local = GetLocalBounds(); |
| 432 gfx::Point menu_position(local.origin()); | 432 gfx::Point menu_position(local.origin()); |
| 433 menu_position.Offset(0, local.height() - 1); | 433 menu_position.Offset(0, local.height() - 1); |
| 434 View::ConvertPointToScreen(this, &menu_position); | 434 View::ConvertPointToScreen(this, &menu_position); |
| 435 | 435 |
| 436 model_ = model_provider_->CreateMenuModel(type_); | 436 model_ = model_provider_->CreateMenuModel(type_); |
| 437 menu_model_adapter_.reset(new views::MenuModelAdapter( | 437 menu_model_adapter_.reset(new views::MenuModelAdapter( |
| 438 model_.get(), | 438 model_.get(), |
| 439 base::Bind(&NavButton::OnMenuClosed, base::Unretained(this)))); | 439 base::Bind(&NavButton::OnMenuClosed, base::Unretained(this)))); |
| 440 menu_model_adapter_->set_triggerable_event_flags(triggerable_event_flags()); | 440 menu_model_adapter_->set_triggerable_event_flags(triggerable_event_flags()); |
| 441 menu_runner_.reset(new views::MenuRunner( | 441 menu_runner_.reset(new views::MenuRunner(menu_model_adapter_->CreateMenu(), |
| 442 menu_model_adapter_->CreateMenu(), | 442 views::MenuRunner::HAS_MNEMONICS)); |
| 443 views::MenuRunner::HAS_MNEMONICS | views::MenuRunner::ASYNC)); | 443 menu_runner_->RunMenuAt(GetWidget(), nullptr, |
| 444 ignore_result(menu_runner_->RunMenuAt( | 444 gfx::Rect(menu_position, gfx::Size(0, 0)), |
| 445 GetWidget(), nullptr, gfx::Rect(menu_position, gfx::Size(0, 0)), | 445 views::MENU_ANCHOR_TOPLEFT, source_type); |
| 446 views::MENU_ANCHOR_TOPLEFT, source_type)); | |
| 447 } | 446 } |
| 448 | 447 |
| 449 void OnMenuClosed() { | 448 void OnMenuClosed() { |
| 450 SetMouseHandler(nullptr); | 449 SetMouseHandler(nullptr); |
| 451 model_.reset(); | 450 model_.reset(); |
| 452 menu_runner_.reset(); | 451 menu_runner_.reset(); |
| 453 menu_model_adapter_.reset(); | 452 menu_model_adapter_.reset(); |
| 454 } | 453 } |
| 455 | 454 |
| 456 Type type_; | 455 Type type_; |
| (...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 912 AddWindow(window); | 911 AddWindow(window); |
| 913 } | 912 } |
| 914 | 913 |
| 915 void Browser::Create(const service_manager::Identity& remote_identity, | 914 void Browser::Create(const service_manager::Identity& remote_identity, |
| 916 mojom::LaunchableRequest request) { | 915 mojom::LaunchableRequest request) { |
| 917 bindings_.AddBinding(this, std::move(request)); | 916 bindings_.AddBinding(this, std::move(request)); |
| 918 } | 917 } |
| 919 | 918 |
| 920 } // namespace browser | 919 } // namespace browser |
| 921 } // namespace mash | 920 } // namespace mash |
| OLD | NEW |