Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Unified Diff: ui/platform_window/android/platform_window_android.cc

Issue 1455793005: Adding a way to associate Android Activities with PlatformWindowAndroid (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@auraclank_upstream_native_widget
Patch Set: Getting rid of WindowTreeHostPlatformAndroid.java, just using a static method in PlatformWindowAndr… Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() {

Powered by Google App Engine
This is Rietveld 408576698