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 |