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 |