| Index: ui/touch_selection/touch_selection_menu_runner.h | 
| diff --git a/ui/touch_selection/touch_selection_menu_runner.h b/ui/touch_selection/touch_selection_menu_runner.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..739bcd358011d004f30e5b1e486dd40c51f8d51e | 
| --- /dev/null | 
| +++ b/ui/touch_selection/touch_selection_menu_runner.h | 
| @@ -0,0 +1,57 @@ | 
| +// Copyright 2015 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#ifndef UI_TOUCH_SELECTION_TOUCH_SELECTION_MENU_RUNNER_H_ | 
| +#define UI_TOUCH_SELECTION_TOUCH_SELECTION_MENU_RUNNER_H_ | 
| + | 
| +#include "base/logging.h" | 
| +#include "base/macros.h" | 
| +#include "ui/touch_selection/ui_touch_selection_export.h" | 
| + | 
| +namespace aura { | 
| +class Window; | 
| +} | 
| + | 
| +namespace gfx { | 
| +class Rect; | 
| +class Size; | 
| +} | 
| + | 
| +namespace ui { | 
| + | 
| +// Client interface for TouchSelectionMenuRunner. | 
| +class UI_TOUCH_SELECTION_EXPORT TouchSelectionMenuClient { | 
| + public: | 
| +  virtual ~TouchSelectionMenuClient() {} | 
| + | 
| +  virtual bool IsCommandIdEnabled(int command_id) const = 0; | 
| +  virtual void ExecuteCommand(int command_id, int event_flags) = 0; | 
| +  virtual void OpenContextMenu() = 0; | 
| +}; | 
| + | 
| +// An interface for the singleton object responsible for running touch selection | 
| +// quick menu. | 
| +class UI_TOUCH_SELECTION_EXPORT TouchSelectionMenuRunner { | 
| + public: | 
| +  virtual ~TouchSelectionMenuRunner(); | 
| + | 
| +  static TouchSelectionMenuRunner* GetInstance(); | 
| + | 
| +  virtual void RunMenu(TouchSelectionMenuClient* client, | 
| +                       const gfx::Rect& anchor_rect, | 
| +                       const gfx::Size& handle_image_size, | 
| +                       aura::Window* context) = 0; | 
| +  virtual void CloseMenu() = 0; | 
| +  virtual bool IsRunning() const = 0; | 
| + | 
| + protected: | 
| +  TouchSelectionMenuRunner(); | 
| + | 
| + private: | 
| +  DISALLOW_COPY_AND_ASSIGN(TouchSelectionMenuRunner); | 
| +}; | 
| + | 
| +}  // namespace ui | 
| + | 
| +#endif  // UI_TOUCH_SELECTION_TOUCH_SELECTION_MENU_RUNNER_H_ | 
|  |