| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/android/window_android.h" | 5 #include "ui/android/window_android.h" |
| 6 | 6 |
| 7 #include "base/android/context_utils.h" | 7 #include "base/android/context_utils.h" |
| 8 #include "base/android/jni_android.h" | 8 #include "base/android/jni_android.h" |
| 9 #include "base/android/jni_array.h" | 9 #include "base/android/jni_array.h" |
| 10 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 JNIEnv* env = AttachCurrentThread(); | 48 JNIEnv* env = AttachCurrentThread(); |
| 49 const JavaRef<jobject>& context = base::android::GetApplicationContext(); | 49 const JavaRef<jobject>& context = base::android::GetApplicationContext(); |
| 50 long native_pointer = Java_WindowAndroid_createForTesting(env, context); | 50 long native_pointer = Java_WindowAndroid_createForTesting(env, context); |
| 51 return reinterpret_cast<WindowAndroid*>(native_pointer); | 51 return reinterpret_cast<WindowAndroid*>(native_pointer); |
| 52 } | 52 } |
| 53 | 53 |
| 54 void WindowAndroid::DestroyForTesting() { | 54 void WindowAndroid::DestroyForTesting() { |
| 55 delete this; | 55 delete this; |
| 56 } | 56 } |
| 57 | 57 |
| 58 ScopedJavaLocalRef<jobject> |
| 59 WindowAndroid::CreateEventHandler(ViewAndroid* native_view) { |
| 60 JNIEnv* env = base::android::AttachCurrentThread(); |
| 61 return Java_WindowAndroid_createEventHandler(env, GetJavaObject(), |
| 62 reinterpret_cast<intptr_t>(native_view)); |
| 63 } |
| 64 |
| 58 void WindowAndroid::OnCompositingDidCommit() { | 65 void WindowAndroid::OnCompositingDidCommit() { |
| 59 for (WindowAndroidObserver& observer : observer_list_) | 66 for (WindowAndroidObserver& observer : observer_list_) |
| 60 observer.OnCompositingDidCommit(); | 67 observer.OnCompositingDidCommit(); |
| 61 } | 68 } |
| 62 | 69 |
| 63 void WindowAndroid::AddObserver(WindowAndroidObserver* observer) { | 70 void WindowAndroid::AddObserver(WindowAndroidObserver* observer) { |
| 64 if (!observer_list_.HasObserver(observer)) | 71 if (!observer_list_.HasObserver(observer)) |
| 65 observer_list_.AddObserver(observer); | 72 observer_list_.AddObserver(observer); |
| 66 } | 73 } |
| 67 | 74 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 for (WindowAndroidObserver& observer : observer_list_) | 132 for (WindowAndroidObserver& observer : observer_list_) |
| 126 observer.OnActivityStopped(); | 133 observer.OnActivityStopped(); |
| 127 } | 134 } |
| 128 | 135 |
| 129 void WindowAndroid::OnActivityStarted(JNIEnv* env, | 136 void WindowAndroid::OnActivityStarted(JNIEnv* env, |
| 130 const JavaParamRef<jobject>& obj) { | 137 const JavaParamRef<jobject>& obj) { |
| 131 for (WindowAndroidObserver& observer : observer_list_) | 138 for (WindowAndroidObserver& observer : observer_list_) |
| 132 observer.OnActivityStarted(); | 139 observer.OnActivityStarted(); |
| 133 } | 140 } |
| 134 | 141 |
| 142 ScopedJavaLocalRef<jobject> WindowAndroid::GetEventHandler( |
| 143 JNIEnv* env, |
| 144 const base::android::JavaParamRef<jobject>& obj) { |
| 145 return GetEventHandler(); |
| 146 } |
| 147 |
| 135 bool WindowAndroid::HasPermission(const std::string& permission) { | 148 bool WindowAndroid::HasPermission(const std::string& permission) { |
| 136 JNIEnv* env = AttachCurrentThread(); | 149 JNIEnv* env = AttachCurrentThread(); |
| 137 return Java_WindowAndroid_hasPermission( | 150 return Java_WindowAndroid_hasPermission( |
| 138 env, GetJavaObject(), | 151 env, GetJavaObject(), |
| 139 base::android::ConvertUTF8ToJavaString(env, permission)); | 152 base::android::ConvertUTF8ToJavaString(env, permission)); |
| 140 } | 153 } |
| 141 | 154 |
| 142 bool WindowAndroid::CanRequestPermission(const std::string& permission) { | 155 bool WindowAndroid::CanRequestPermission(const std::string& permission) { |
| 143 JNIEnv* env = AttachCurrentThread(); | 156 JNIEnv* env = AttachCurrentThread(); |
| 144 return Java_WindowAndroid_canRequestPermission( | 157 return Java_WindowAndroid_canRequestPermission( |
| 145 env, GetJavaObject(), | 158 env, GetJavaObject(), |
| 146 base::android::ConvertUTF8ToJavaString(env, permission)); | 159 base::android::ConvertUTF8ToJavaString(env, permission)); |
| 147 } | 160 } |
| 148 | 161 |
| 149 WindowAndroid* WindowAndroid::GetWindowAndroid() const { | 162 WindowAndroid* WindowAndroid::GetWindowAndroid() const { |
| 150 DCHECK(parent_ == nullptr); | 163 DCHECK(parent_ == nullptr); |
| 151 return const_cast<WindowAndroid*>(this); | 164 return const_cast<WindowAndroid*>(this); |
| 152 } | 165 } |
| 153 | 166 |
| 154 // ---------------------------------------------------------------------------- | 167 // ---------------------------------------------------------------------------- |
| 155 // Native JNI methods | 168 // Native JNI methods |
| 156 // ---------------------------------------------------------------------------- | 169 // ---------------------------------------------------------------------------- |
| 157 | 170 |
| 158 jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj, int sdk_display_id) { | 171 jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj, int sdk_display_id) { |
| 159 WindowAndroid* window = new WindowAndroid(env, obj, sdk_display_id); | 172 WindowAndroid* window = new WindowAndroid(env, obj, sdk_display_id); |
| 160 return reinterpret_cast<intptr_t>(window); | 173 return reinterpret_cast<intptr_t>(window); |
| 161 } | 174 } |
| 162 | 175 |
| 163 } // namespace ui | 176 } // namespace ui |
| OLD | NEW |