1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// Copyright 2014 The Chromium Authors. All rights reserved. 22a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org// Use of this source code is governed by a BSD-style license that can be 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// found in the LICENSE file. 42a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#include "base/macros.h" 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#include "ui/events/platform/platform_event_dispatcher.h" 72a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org 82a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.orgnamespace views { 9ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 10c48b2b330f8bf0e01381e27ca36f48ef5c7d8d5fvandebo@chromium.orgclass MenuController; 11c48b2b330f8bf0e01381e27ca36f48ef5c7d8d5fvandebo@chromium.org 122a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.orgnamespace internal { 132a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org 142a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org// A message-pump dispatcher object used to dispatch events from the nested 152a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org// message-loop initiated by the MenuController. 162a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.orgclass MenuEventDispatcher : public ui::PlatformEventDispatcher { 172a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org public: 182a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org explicit MenuEventDispatcher(MenuController* menu_controller); 19c48b2b330f8bf0e01381e27ca36f48ef5c7d8d5fvandebo@chromium.org virtual ~MenuEventDispatcher(); 202a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org 21c48b2b330f8bf0e01381e27ca36f48ef5c7d8d5fvandebo@chromium.org private: 22c48b2b330f8bf0e01381e27ca36f48ef5c7d8d5fvandebo@chromium.org // ui::PlatformEventDispatcher: 23c48b2b330f8bf0e01381e27ca36f48ef5c7d8d5fvandebo@chromium.org virtual bool CanDispatchEvent(const ui::PlatformEvent& event) OVERRIDE; 242a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org virtual uint32_t DispatchEvent(const ui::PlatformEvent& event) OVERRIDE; 252a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org 26c48b2b330f8bf0e01381e27ca36f48ef5c7d8d5fvandebo@chromium.org MenuController* menu_controller_; 272a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org 2815e9d3e66e161ce23df30bc13f8a0c87d196b463robertphillips@google.com DISALLOW_COPY_AND_ASSIGN(MenuEventDispatcher); 2915e9d3e66e161ce23df30bc13f8a0c87d196b463robertphillips@google.com}; 30c48b2b330f8bf0e01381e27ca36f48ef5c7d8d5fvandebo@chromium.org 31c48b2b330f8bf0e01381e27ca36f48ef5c7d8d5fvandebo@chromium.org} // namespace internal 322a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org} // namespace views 332a22e10ab2946c5590cd2a258427ce3ccfca9bfavandebo@chromium.org