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