1 // Copyright 2014 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.
5 #ifndef UI_VIEWS_CONTROLS_MENU_MENU_MESSAGE_LOOP_AURA_H_
6 #define UI_VIEWS_CONTROLS_MENU_MENU_MESSAGE_LOOP_AURA_H_
8 #include "base/callback.h"
9 #include "base/compiler_specific.h"
10 #include "base/memory/scoped_ptr.h"
11 #include "ui/views/controls/menu/menu_message_loop.h"
14 class MessagePumpDispatcher
;
18 class ScopedEventDispatcher
;
23 class MenuMessageLoopAura
: public MenuMessageLoop
{
25 MenuMessageLoopAura();
26 ~MenuMessageLoopAura() override
;
28 // Overridden from MenuMessageLoop:
29 void Run(MenuController
* controller
,
31 bool nested_menu
) override
;
32 void QuitNow() override
;
33 void RepostEventToWindow(const ui::LocatedEvent
& event
,
34 gfx::NativeWindow window
,
35 const gfx::Point
& screen_loc
) override
;
36 void ClearOwner() override
;
39 // Owner of child windows.
40 // WARNING: this may be NULL.
43 base::Closure message_loop_quit_
;
45 DISALLOW_COPY_AND_ASSIGN(MenuMessageLoopAura
);
50 #endif // UI_VIEWS_CONTROLS_MENU_MENU_MESSAGE_LOOP_AURA_H_