Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Unified Diff: ui/views/controls/combobox/combobox.cc

Issue 2394123002: Views: Expose an on_closed callback via the MenuRunner constructor. (Closed)
Patch Set: default arg Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/controls/combobox/combobox.h ('k') | ui/views/controls/menu/menu_runner.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/combobox/combobox.cc
diff --git a/ui/views/controls/combobox/combobox.cc b/ui/views/controls/combobox/combobox.cc
index 2c26c8fb313d7bbf6713667246dcc26e5741442b..5db0cdb299c7f1d4f677f2f930eb86f6cba053c2 100644
--- a/ui/views/controls/combobox/combobox.cc
+++ b/ui/views/controls/combobox/combobox.cc
@@ -37,7 +37,6 @@
#include "ui/views/controls/focus_ring.h"
#include "ui/views/controls/focusable_border.h"
#include "ui/views/controls/menu/menu_config.h"
-#include "ui/views/controls/menu/menu_model_adapter.h"
#include "ui/views/controls/menu/menu_runner.h"
#include "ui/views/controls/prefix_selector.h"
#include "ui/views/controls/textfield/textfield.h"
@@ -923,12 +922,10 @@ void Combobox::ShowDropDownMenu(ui::MenuSourceType source_type) {
// Allow |menu_runner_| to be set by the testing API, but if this method is
// ever invoked recursively, ensure the old menu is closed.
if (!menu_runner_ || menu_runner_->IsRunning()) {
- menu_model_adapter_.reset(new MenuModelAdapter(
- menu_model_.get(), base::Bind(&Combobox::OnMenuClosed,
- base::Unretained(this), original_state)));
- menu_runner_.reset(
- new MenuRunner(menu_model_adapter_->CreateMenu(),
- MenuRunner::COMBOBOX | MenuRunner::ASYNC));
+ menu_runner_.reset(new MenuRunner(
+ menu_model_.get(), MenuRunner::COMBOBOX | MenuRunner::ASYNC,
+ base::Bind(&Combobox::OnMenuClosed, base::Unretained(this),
+ original_state)));
}
menu_runner_->RunMenuAt(GetWidget(), nullptr, bounds, anchor_position,
source_type);
@@ -936,7 +933,6 @@ void Combobox::ShowDropDownMenu(ui::MenuSourceType source_type) {
void Combobox::OnMenuClosed(Button::ButtonState original_button_state) {
menu_runner_.reset();
- menu_model_adapter_.reset();
if (arrow_button_)
arrow_button_->SetState(original_button_state);
closed_time_ = base::Time::Now();
« no previous file with comments | « ui/views/controls/combobox/combobox.h ('k') | ui/views/controls/menu/menu_runner.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698