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 #include "base/macros.h"
      6 #include "ui/events/platform/platform_event_dispatcher.h"
      7 
      8 namespace views {
      9 
     10 class MenuController;
     11 
     12 namespace internal {
     13 
     14 // A message-pump dispatcher object used to dispatch events from the nested
     15 // message-loop initiated by the MenuController.
     16 class MenuEventDispatcher : public ui::PlatformEventDispatcher {
     17  public:
     18   explicit MenuEventDispatcher(MenuController* menu_controller);
     19   virtual ~MenuEventDispatcher();
     20 
     21  private:
     22   // ui::PlatformEventDispatcher:
     23   virtual bool CanDispatchEvent(const ui::PlatformEvent& event) OVERRIDE;
     24   virtual uint32_t DispatchEvent(const ui::PlatformEvent& event) OVERRIDE;
     25 
     26   MenuController* menu_controller_;
     27 
     28   DISALLOW_COPY_AND_ASSIGN(MenuEventDispatcher);
     29 };
     30 
     31 }  // namespace internal
     32 }  // namespace views
     33