15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// found in the LICENSE file.
45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_INPUT_METHOD_EVENT_ROUTER_H_
65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define CHROME_BROWSER_CHROMEOS_EXTENSIONS_INPUT_METHOD_EVENT_ROUTER_H_
75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#include <string>
95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#include "base/basictypes.h"
115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#include "base/compiler_specific.h"
125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#include "chromeos/ime/input_method_manager.h"
135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)namespace content {
155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)class BrowserContext;
165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}
175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)namespace chromeos {
195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Event router class for the input method events.
215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)class ExtensionInputMethodEventRouter
225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    : public input_method::InputMethodManager::Observer {
235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) public:
245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  explicit ExtensionInputMethodEventRouter(content::BrowserContext* context);
255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  virtual ~ExtensionInputMethodEventRouter();
265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  // Implements input_method::InputMethodManager::Observer:
285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  virtual void InputMethodChanged(
295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)      input_method::InputMethodManager* manager,
305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)      bool show_message) OVERRIDE;
3153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
3209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) private:
335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  content::BrowserContext* context_;
34
35  DISALLOW_COPY_AND_ASSIGN(ExtensionInputMethodEventRouter);
36};
37
38}  // namespace chromeos
39#endif  // CHROME_BROWSER_CHROMEOS_EXTENSIONS_INPUT_METHOD_EVENT_ROUTER_H_
40