| 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..6b46362f18e76431451d4a786190e05a6b69be7a 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,19 @@ class VIEWS_EXPORT MenuRunner {
|
| base::TimeDelta closing_event_time() const;
|
|
|
| private:
|
| + friend class test::MenuRunnerTestAPI;
|
| +
|
| + // Sets an implementation of RunMenuAt. This is intended to be used at test.
|
| + void SetRunnerHandler(scoped_ptr<MenuRunnerHandler> runner_handler);
|
| +
|
| 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);
|
|
|