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