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. 4 5 #ifndef UI_VIEWS_CONTROLS_MENU_MENU_MESSAGE_PUMP_DISPATCHER_WIN_H_ 6 #define UI_VIEWS_CONTROLS_MENU_MENU_MESSAGE_PUMP_DISPATCHER_WIN_H_ 7 8 #include "base/macros.h" 9 #include "base/message_loop/message_pump_dispatcher.h" 10 11 namespace views { 12 13 class MenuController; 14 15 namespace internal { 16 17 // A message-pump dispatcher object used to dispatch events from the nested 18 // message-loop initiated by the MenuController. 19 class MenuMessagePumpDispatcher : public base::MessagePumpDispatcher { 20 public: 21 explicit MenuMessagePumpDispatcher(MenuController* menu_controller); 22 virtual ~MenuMessagePumpDispatcher(); 23 24 private: 25 // base::MessagePumpDispatcher: 26 virtual uint32_t Dispatch(const base::NativeEvent& event) OVERRIDE; 27 28 MenuController* menu_controller_; 29 30 DISALLOW_COPY_AND_ASSIGN(MenuMessagePumpDispatcher); 31 }; 32 33 } // namespace internal 34 } // namespace views 35 36 #endif // UI_VIEWS_CONTROLS_MENU_MENU_MESSAGE_PUMP_DISPATCHER_WIN_H_ 37