OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/message_center/views/message_view_context_menu_controller.h" | 5 #include "ui/message_center/views/message_view_context_menu_controller.h" |
6 | 6 |
7 #include "ui/base/models/menu_model.h" | 7 #include "ui/base/models/menu_model.h" |
8 #include "ui/message_center/views/message_center_controller.h" | 8 #include "ui/message_center/views/message_center_controller.h" |
9 #include "ui/message_center/views/message_view.h" | 9 #include "ui/message_center/views/message_view.h" |
10 #include "ui/views/controls/menu/menu_model_adapter.h" | 10 #include "ui/views/controls/menu/menu_model_adapter.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 message_view->display_source()); | 31 message_view->display_source()); |
32 | 32 |
33 if (!menu_model_ || menu_model_->GetItemCount() == 0) | 33 if (!menu_model_ || menu_model_->GetItemCount() == 0) |
34 return; | 34 return; |
35 | 35 |
36 menu_model_adapter_.reset(new views::MenuModelAdapter( | 36 menu_model_adapter_.reset(new views::MenuModelAdapter( |
37 menu_model_.get(), | 37 menu_model_.get(), |
38 base::Bind(&MessageViewContextMenuController::OnMenuClosed, | 38 base::Bind(&MessageViewContextMenuController::OnMenuClosed, |
39 base::Unretained(this)))); | 39 base::Unretained(this)))); |
40 | 40 |
41 menu_runner_.reset(new views::MenuRunner( | 41 menu_runner_.reset(new views::MenuRunner(menu_model_adapter_->CreateMenu(), |
42 menu_model_adapter_->CreateMenu(), | 42 views::MenuRunner::HAS_MNEMONICS)); |
43 views::MenuRunner::HAS_MNEMONICS | views::MenuRunner::ASYNC)); | |
44 | 43 |
45 menu_runner_->RunMenuAt(source->GetWidget()->GetTopLevelWidget(), NULL, | 44 menu_runner_->RunMenuAt(source->GetWidget()->GetTopLevelWidget(), NULL, |
46 gfx::Rect(point, gfx::Size()), | 45 gfx::Rect(point, gfx::Size()), |
47 views::MENU_ANCHOR_TOPRIGHT, source_type); | 46 views::MENU_ANCHOR_TOPRIGHT, source_type); |
48 } | 47 } |
49 | 48 |
50 void MessageViewContextMenuController::OnMenuClosed() { | 49 void MessageViewContextMenuController::OnMenuClosed() { |
51 menu_runner_.reset(); | 50 menu_runner_.reset(); |
52 menu_model_adapter_.reset(); | 51 menu_model_adapter_.reset(); |
53 menu_model_.reset(); | 52 menu_model_.reset(); |
54 } | 53 } |
55 | 54 |
56 } // namespace message_center | 55 } // namespace message_center |
OLD | NEW |