• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #ifndef UI_VIEWS_CONTROLS_MENU_MENU_RUNNER_HANDLER_H_
6 #define UI_VIEWS_CONTROLS_MENU_MENU_RUNNER_HANDLER_H_
7 
8 #include "base/basictypes.h"
9 
10 namespace views {
11 
12 class MenuButton;
13 class MenuItemView;
14 class Widget;
15 
16 // Used internally by MenuRunner to show the menu. Can be set in tests (see
17 // MenuRunnerTestApi) for mocking running of the menu.
18 class VIEWS_EXPORT MenuRunnerHandler {
19  public:
~MenuRunnerHandler()20   virtual ~MenuRunnerHandler() {}
21   virtual MenuRunner::RunResult RunMenuAt(Widget* parent,
22                                           MenuButton* button,
23                                           const gfx::Rect& bounds,
24                                           MenuAnchorPosition anchor,
25                                           ui::MenuSourceType source_type,
26                                           int32 types) = 0;
27 };
28 
29 }  // namespace views
30 
31 #endif  // UI_VIEWS_CONTROLS_MENU_MENU_RUNNER_HANDLER_H_
32