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