1// Copyright 2013 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#ifndef ASH_SHELL_KEYBOARD_CONTROLLER_PROXY_STUB_H_
6#define ASH_SHELL_KEYBOARD_CONTROLLER_PROXY_STUB_H_
7
8#include "ui/aura/test/test_window_delegate.h"
9#include "ui/keyboard/keyboard_controller_proxy.h"
10
11namespace aura {
12class Window;
13}  // namespace aura
14
15namespace ash {
16
17// Stub implementation of KeyboardControllerProxy
18class KeyboardControllerProxyStub : public keyboard::KeyboardControllerProxy {
19 public:
20  KeyboardControllerProxyStub();
21  virtual ~KeyboardControllerProxyStub();
22
23  virtual bool HasKeyboardWindow() const OVERRIDE;
24  virtual aura::Window* GetKeyboardWindow() OVERRIDE;
25
26 private:
27  // Overridden from keyboard::KeyboardControllerProxy:
28  virtual content::BrowserContext* GetBrowserContext() OVERRIDE;
29  virtual ui::InputMethod* GetInputMethod() OVERRIDE;
30  virtual void RequestAudioInput(content::WebContents* web_contents,
31      const content::MediaStreamRequest& request,
32      const content::MediaResponseCallback& callback) OVERRIDE;
33  virtual void LoadSystemKeyboard() OVERRIDE;
34  virtual void ReloadKeyboardIfNeeded() OVERRIDE;
35
36  aura::test::TestWindowDelegate delegate_;
37  scoped_ptr<aura::Window> keyboard_;
38  DISALLOW_COPY_AND_ASSIGN(KeyboardControllerProxyStub);
39};
40
41}  // namespace ash
42
43#endif  // ASH_SHELL_KEYBOARD_CONTROLLER_PROXY_STUB_H_
44