Roll src/third_party/WebKit a3b4a2e:7441784 (svn 202551:202552)
[chromium-blink-merge.git] / ui / platform_window / android / platform_ime_controller_android.h
blobc06081ecfb9d144bae0a1ae28f0af4e88e8e9787
1 // Copyright 2015 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 UI_PLATFORM_WINDOW_ANDROID_PLATFORM_IME_CONTROLLER_ANDROID_H_
6 #define UI_PLATFORM_WINDOW_ANDROID_PLATFORM_IME_CONTROLLER_ANDROID_H_
8 #include "base/android/jni_weak_ref.h"
9 #include "base/macros.h"
10 #include "ui/platform_window/platform_ime_controller.h"
12 namespace ui {
14 class PlatformImeControllerAndroid : public PlatformImeController {
15 public:
16 static bool Register(JNIEnv* env);
18 PlatformImeControllerAndroid();
19 ~PlatformImeControllerAndroid() override;
21 // Native methods called by Java code.
22 void Init(JNIEnv* env, jobject jobj);
24 private:
25 // Overridden from PlatformImeController:
26 void UpdateTextInputState(const TextInputState& state) override;
27 void SetImeVisibility(bool visible) override;
29 JavaObjectWeakGlobalRef java_platform_ime_controller_android_;
31 DISALLOW_COPY_AND_ASSIGN(PlatformImeControllerAndroid);
34 } // namespace ui
36 #endif // UI_PLATFORM_WINDOW_ANDROID_PLATFORM_IME_CONTROLLER_ANDROID_H_