14ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 24ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 34ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch// found in the LICENSE file. 44ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 5c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#ifndef UI_VIEWS_CONTROLS_MENU_MENU_MESSAGE_PUMP_DISPATCHER_WIN_H_ 6c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#define UI_VIEWS_CONTROLS_MENU_MENU_MESSAGE_PUMP_DISPATCHER_WIN_H_ 74ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 84ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch#include "base/macros.h" 94ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch#include "base/message_loop/message_pump_dispatcher.h" 104ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 114ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdochnamespace views { 124ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 134ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdochclass MenuController; 144ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 154ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdochnamespace internal { 164ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 174ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch// A message-pump dispatcher object used to dispatch events from the nested 184ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch// message-loop initiated by the MenuController. 194ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdochclass MenuMessagePumpDispatcher : public base::MessagePumpDispatcher { 204ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch public: 214ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch explicit MenuMessagePumpDispatcher(MenuController* menu_controller); 224ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch virtual ~MenuMessagePumpDispatcher(); 234ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 244ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch private: 254ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch // base::MessagePumpDispatcher: 264ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch virtual uint32_t Dispatch(const base::NativeEvent& event) OVERRIDE; 274ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 284ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch MenuController* menu_controller_; 294ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 304ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch DISALLOW_COPY_AND_ASSIGN(MenuMessagePumpDispatcher); 314ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch}; 324ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 334ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch} // namespace internal 344ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch} // namespace views 354ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch 36c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#endif // UI_VIEWS_CONTROLS_MENU_MENU_MESSAGE_PUMP_DISPATCHER_WIN_H_ 37