Home | History | Annotate | Download | only in menu
      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:
     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