Explicitly unregister from receiving notifications before releasing the webrtc medias...
[chromium-blink-merge.git] / ash / ime_control_delegate.h
blob92bef4e092180dea0bc251fef302c96b43e513c5
1 // Copyright (c) 2012 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.
5 #ifndef ASH_IME_CONTROL_DELEGATE_H_
6 #define ASH_IME_CONTROL_DELEGATE_H_
8 namespace ui {
9 class Accelerator;
10 } // namespace ui
12 namespace ash {
14 // Delegate for controlling IME (input method editor).
15 class ImeControlDelegate {
16 public:
17 virtual ~ImeControlDelegate() {}
19 // Changes the IME to what is listed next. This function do nothing if there
20 // is only one IME is enabled.
21 virtual void HandleNextIme() = 0;
23 // Changes the IME to previously selected one. If there is no previously
24 // selected IMEs, chooses the next listed IME. This function returns false if
25 // there is only one IME is enabled.
26 virtual bool HandlePreviousIme(const ui::Accelerator& accelerator) = 0;
28 // Switches to another IME depending on the |accelerator|.
29 virtual bool HandleSwitchIme(const ui::Accelerator& accelerator) = 0;
31 // Checks for special language anomalies and re-map the |accelerator|
32 // accordingly.
33 virtual ui::Accelerator RemapAccelerator(
34 const ui::Accelerator& accelerator) = 0;
37 } // namespace ash
39 #endif // ASH_IME_CONTROL_DELEGATE_H_