Chromium Code Reviews| Index: ui/android/window_android.cc |
| diff --git a/ui/android/window_android.cc b/ui/android/window_android.cc |
| index 7e40c8fb62e0ef658b1e094877498b12a4221c7b..f7ca25a3fce62b2c7aaf08c67da0d783282bd256 100644 |
| --- a/ui/android/window_android.cc |
| +++ b/ui/android/window_android.cc |
| @@ -13,6 +13,7 @@ |
| #include "jni/WindowAndroid_jni.h" |
| #include "ui/android/window_android_compositor.h" |
| #include "ui/android/window_android_observer.h" |
| +#include "ui/display/screen.h" |
| namespace ui { |
| @@ -21,7 +22,8 @@ using base::android::JavaParamRef; |
| using base::android::JavaRef; |
| using base::android::ScopedJavaLocalRef; |
| -WindowAndroid::WindowAndroid(JNIEnv* env, jobject obj) : compositor_(NULL) { |
| +WindowAndroid::WindowAndroid(JNIEnv* env, jobject obj, int display_id) |
| + : display_id_(display_id), compositor_(NULL) { |
| java_window_.Reset(env, obj); |
| } |
| @@ -46,14 +48,21 @@ WindowAndroid::~WindowAndroid() { |
| WindowAndroid* WindowAndroid::CreateForTesting() { |
| JNIEnv* env = AttachCurrentThread(); |
| const JavaRef<jobject>& context = base::android::GetApplicationContext(); |
| - return new WindowAndroid( |
| - env, Java_WindowAndroid_createForTesting(env, context).obj()); |
| + base::android::ScopedJavaLocalRef<jobject> java_window = |
| + Java_WindowAndroid_createForTesting(env, context); |
| + int display_id = Java_WindowAndroid_getDisplayId(env, java_window.obj()); |
| + return new WindowAndroid(env, java_window.obj(), display_id); |
|
boliu
2016/10/26 17:24:20
I think it's cleaner to have WindowAndroid create
Tima Vaisburd
2016/10/27 07:55:58
This is not done yet.
Tima Vaisburd
2016/10/31 23:36:15
Done, but no new method added: Java's createForTes
|
| } |
| void WindowAndroid::DestroyForTesting() { |
| delete this; |
| } |
| +display::Display WindowAndroid::GetDisplay() const { |
| + WindowAndroid* this_window = const_cast<WindowAndroid*>(this); |
| + return display::Screen::GetScreen()->GetDisplayNearestWindow(this_window); |
| +} |
| + |
| void WindowAndroid::OnCompositingDidCommit() { |
| for (WindowAndroidObserver& observer : observer_list_) |
| observer.OnCompositingDidCommit(); |
| @@ -154,8 +163,8 @@ WindowAndroid* WindowAndroid::GetWindowAndroid() const { |
| // Native JNI methods |
| // ---------------------------------------------------------------------------- |
| -jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
| - WindowAndroid* window = new WindowAndroid(env, obj); |
| +jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj, int sdk_display_id) { |
| + WindowAndroid* window = new WindowAndroid(env, obj, sdk_display_id); |
| return reinterpret_cast<intptr_t>(window); |
| } |