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 "ui/views/controls/menu/menu_runner_impl_adapter.h" 6 7#include "ui/views/controls/menu/menu_model_adapter.h" 8#include "ui/views/controls/menu/menu_runner_impl.h" 9 10namespace views { 11namespace internal { 12 13MenuRunnerImplAdapter::MenuRunnerImplAdapter(ui::MenuModel* menu_model) 14 : menu_model_adapter_(new MenuModelAdapter(menu_model)), 15 impl_(new MenuRunnerImpl(menu_model_adapter_->CreateMenu())) { 16} 17 18bool MenuRunnerImplAdapter::IsRunning() const { 19 return impl_->IsRunning(); 20} 21 22void MenuRunnerImplAdapter::Release() { 23 impl_->Release(); 24 delete this; 25} 26 27MenuRunner::RunResult MenuRunnerImplAdapter::RunMenuAt( 28 Widget* parent, 29 MenuButton* button, 30 const gfx::Rect& bounds, 31 MenuAnchorPosition anchor, 32 int32 types) { 33 return impl_->RunMenuAt(parent, button, bounds, anchor, types); 34} 35 36void MenuRunnerImplAdapter::Cancel() { 37 impl_->Cancel(); 38} 39 40base::TimeDelta MenuRunnerImplAdapter::GetClosingEventTime() const { 41 return impl_->GetClosingEventTime(); 42} 43 44MenuRunnerImplAdapter::~MenuRunnerImplAdapter() { 45} 46 47} // namespace internal 48} // namespace views 49