| Index: views/controls/menu/menu_controller.h
|
| diff --git a/views/controls/menu/menu_controller.h b/views/controls/menu/menu_controller.h
|
| index cf2fa4905e500282ad3a77a2a696ed87c8f75441..35b7a785d45235a67e83dfd1771a9b7cea5f0089 100644
|
| --- a/views/controls/menu/menu_controller.h
|
| +++ b/views/controls/menu/menu_controller.h
|
| @@ -32,6 +32,11 @@ class MouseEvent;
|
| class SubmenuView;
|
| class View;
|
|
|
| +namespace internal {
|
| +class MenuControllerDelegate;
|
| +class MenuRunnerImpl;
|
| +}
|
| +
|
| // MenuController -------------------------------------------------------------
|
|
|
| // MenuController is used internally by the various menu classes to manage
|
| @@ -39,10 +44,6 @@ class View;
|
| // forwarded to the MenuController from SubmenuView and MenuHost.
|
| class VIEWS_EXPORT MenuController : public MessageLoop::Dispatcher {
|
| public:
|
| - friend class MenuHostRootView;
|
| - friend class MenuItemView;
|
| - friend class SubmenuView;
|
| -
|
| // Enumeration of how the menu should exit.
|
| enum ExitType {
|
| // Don't exit.
|
| @@ -122,6 +123,11 @@ class VIEWS_EXPORT MenuController : public MessageLoop::Dispatcher {
|
| void OnWidgetActivationChanged();
|
|
|
| private:
|
| + friend class internal::MenuRunnerImpl;
|
| + friend class MenuHostRootView;
|
| + friend class MenuItemView;
|
| + friend class SubmenuView;
|
| +
|
| class MenuScrollTask;
|
|
|
| struct SelectByCharDetails;
|
| @@ -209,9 +215,6 @@ class VIEWS_EXPORT MenuController : public MessageLoop::Dispatcher {
|
| // to show/hide submenus and update state_.
|
| void SetSelection(MenuItemView* menu_item, int types);
|
|
|
| - // Sets the active MenuController.
|
| - static void SetActiveInstance(MenuController* controller);
|
| -
|
| #if defined(OS_WIN)
|
| // Dispatcher method. This returns true if the menu was canceled, or
|
| // if the message is such that the menu should be closed.
|
| @@ -231,8 +234,9 @@ class VIEWS_EXPORT MenuController : public MessageLoop::Dispatcher {
|
| bool OnKeyDown(int key_code);
|
| #endif
|
|
|
| - // Creates a MenuController. If blocking is true, Run blocks the caller
|
| - explicit MenuController(bool blocking);
|
| + // Creates a MenuController. If |blocking| is true a nested message loop is
|
| + // started in |Run|.
|
| + MenuController(bool blocking, internal::MenuControllerDelegate* delegate);
|
|
|
| virtual ~MenuController();
|
|
|
| @@ -494,6 +498,8 @@ class VIEWS_EXPORT MenuController : public MessageLoop::Dispatcher {
|
| // UpdateActiveMouseView for details.
|
| View* active_mouse_view_;
|
|
|
| + internal::MenuControllerDelegate* delegate_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(MenuController);
|
| };
|
|
|
|
|