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

Unified Diff: ui/views/controls/menu/menu_runner.h

Issue 59383003: Add the button style for combobox (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sky's review (6) Created 7 years 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
Index: ui/views/controls/menu/menu_runner.h
diff --git a/ui/views/controls/menu/menu_runner.h b/ui/views/controls/menu/menu_runner.h
index 277ffd5334a41005ec75d84762cc579fadb4c6d5..04b8f64bcb75de9910a5fe745d53131dde218fcd 100644
--- a/ui/views/controls/menu/menu_runner.h
+++ b/ui/views/controls/menu/menu_runner.h
@@ -18,6 +18,7 @@ namespace views {
class MenuButton;
class MenuModelAdapter;
+class MenuRunnerHandler;
class Widget;
namespace internal {
@@ -25,6 +26,10 @@ class DisplayChangeListener;
class MenuRunnerImpl;
}
+namespace test {
+class MenuRunnerTestAPI;
+}
+
// MenuRunner is responsible for showing (running) the menu and additionally
// owning the MenuItemView. RunMenuAt() runs a nested message loop. It is safe
// to delete MenuRunner at any point, but MenuRunner internally only deletes the
@@ -112,10 +117,20 @@ class VIEWS_EXPORT MenuRunner {
base::TimeDelta closing_event_time() const;
private:
+ friend class test::MenuRunnerTestAPI;
+
+ // Sets an implementation of RunMenuAt. This takes the ownership of
+ // |runner_handler|. This is intended to be used at test.
+ void SetRunnerHandler(MenuRunnerHandler* runner_handler);
sky 2013/12/10 16:56:06 scoped_ptr
hajimehoshi 2013/12/11 04:07:04 Done.
+
scoped_ptr<MenuModelAdapter> menu_model_adapter_;
internal::MenuRunnerImpl* holder_;
+ // An implementation of RunMenuAt. This is usually NULL and ignored. If this
+ // is not NULL, this implementation will be used.
+ scoped_ptr<MenuRunnerHandler> runner_handler_;
+
scoped_ptr<internal::DisplayChangeListener> display_change_listener_;
DISALLOW_COPY_AND_ASSIGN(MenuRunner);

Powered by Google App Engine
This is Rietveld 408576698