Index: ui/platform_window/android/platform_window_android.cc |
diff --git a/ui/platform_window/android/platform_window_android.cc b/ui/platform_window/android/platform_window_android.cc |
index 49b6ba7b3357786af2331befc6823c7d3abf1cfd..bfa341c2a728bad985137fc14dbbc349c364e208 100644 |
--- a/ui/platform_window/android/platform_window_android.cc |
+++ b/ui/platform_window/android/platform_window_android.cc |
@@ -51,6 +51,19 @@ bool PlatformWindowAndroid::Register(JNIEnv* env) { |
return RegisterNativesImpl(env); |
} |
+// static |
+void PlatformWindowAndroid::createForActivity( |
+ JNIEnv* env, |
+ jobject activity, |
+ jlong nativePlatformWindowAndroid, |
+ jlong nativeImeController) { |
+ Java_PlatformWindowAndroid_createForActivity( |
+ env, |
+ activity, |
+ nativePlatformWindowAndroid, |
+ nativeImeController); |
+} |
+ |
PlatformWindowAndroid::PlatformWindowAndroid(PlatformWindowDelegate* delegate) |
: delegate_(delegate), |
window_(NULL), |
@@ -72,6 +85,11 @@ void PlatformWindowAndroid::Destroy(JNIEnv* env, jobject obj) { |
delegate_->OnClosed(); |
} |
+void PlatformWindowAndroid::JavaPlatformWindowCreated( |
+ JNIEnv* env, jobject obj) { |
+ java_platform_window_android_ = JavaObjectWeakGlobalRef(env, obj); |
+} |
+ |
void PlatformWindowAndroid::SurfaceCreated(JNIEnv* env, |
jobject obj, |
jobject jsurface, |
@@ -152,14 +170,7 @@ void PlatformWindowAndroid::ReleaseWindow() { |
// PlatformWindowAndroid, PlatformWindow implementation: |
void PlatformWindowAndroid::Show() { |
- if (!java_platform_window_android_.is_empty()) |
- return; |
- JNIEnv* env = base::android::AttachCurrentThread(); |
- java_platform_window_android_ = JavaObjectWeakGlobalRef( |
- env, Java_PlatformWindowAndroid_createForActivity( |
- env, base::android::GetApplicationContext(), |
- reinterpret_cast<jlong>(this), |
- reinterpret_cast<jlong>(&platform_ime_controller_)).obj()); |
+ CHECK(!java_platform_window_android_.is_empty()); |
} |
void PlatformWindowAndroid::Hide() { |