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 "content/browser/web_contents/web_contents_android.h" | 5 #include "content/browser/web_contents/web_contents_android.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
10 #include "base/android/jni_array.h" | 10 #include "base/android/jni_array.h" |
(...skipping 22 matching lines...) Expand all Loading... | |
33 #include "content/public/browser/browser_context.h" | 33 #include "content/public/browser/browser_context.h" |
34 #include "content/public/browser/browser_thread.h" | 34 #include "content/public/browser/browser_thread.h" |
35 #include "content/public/browser/message_port_provider.h" | 35 #include "content/public/browser/message_port_provider.h" |
36 #include "content/public/browser/render_widget_host.h" | 36 #include "content/public/browser/render_widget_host.h" |
37 #include "content/public/browser/web_contents.h" | 37 #include "content/public/browser/web_contents.h" |
38 #include "content/public/common/content_switches.h" | 38 #include "content/public/common/content_switches.h" |
39 #include "jni/WebContentsImpl_jni.h" | 39 #include "jni/WebContentsImpl_jni.h" |
40 #include "net/android/network_library.h" | 40 #include "net/android/network_library.h" |
41 #include "ui/accessibility/ax_node_data.h" | 41 #include "ui/accessibility/ax_node_data.h" |
42 #include "ui/android/overscroll_refresh_handler.h" | 42 #include "ui/android/overscroll_refresh_handler.h" |
43 #include "ui/android/window_android.h" | |
43 #include "ui/gfx/android/java_bitmap.h" | 44 #include "ui/gfx/android/java_bitmap.h" |
44 #include "ui/gfx/geometry/rect.h" | 45 #include "ui/gfx/geometry/rect.h" |
45 | 46 |
46 using base::android::AttachCurrentThread; | 47 using base::android::AttachCurrentThread; |
47 using base::android::ConvertJavaStringToUTF8; | 48 using base::android::ConvertJavaStringToUTF8; |
48 using base::android::ConvertJavaStringToUTF16; | 49 using base::android::ConvertJavaStringToUTF16; |
49 using base::android::ConvertUTF8ToJavaString; | 50 using base::android::ConvertUTF8ToJavaString; |
50 using base::android::ConvertUTF16ToJavaString; | 51 using base::android::ConvertUTF16ToJavaString; |
51 using base::android::JavaParamRef; | 52 using base::android::JavaParamRef; |
52 using base::android::JavaRef; | 53 using base::android::JavaRef; |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
269 g_allocated_web_contents_androids.Get().end()); | 270 g_allocated_web_contents_androids.Get().end()); |
270 g_allocated_web_contents_androids.Get().erase(this); | 271 g_allocated_web_contents_androids.Get().erase(this); |
271 Java_WebContentsImpl_clearNativePtr(AttachCurrentThread(), obj_); | 272 Java_WebContentsImpl_clearNativePtr(AttachCurrentThread(), obj_); |
272 } | 273 } |
273 | 274 |
274 base::android::ScopedJavaLocalRef<jobject> | 275 base::android::ScopedJavaLocalRef<jobject> |
275 WebContentsAndroid::GetJavaObject() { | 276 WebContentsAndroid::GetJavaObject() { |
276 return base::android::ScopedJavaLocalRef<jobject>(obj_); | 277 return base::android::ScopedJavaLocalRef<jobject>(obj_); |
277 } | 278 } |
278 | 279 |
280 base::android::ScopedJavaLocalRef<jobject> | |
281 WebContentsAndroid::GetTopLevelNativeWindow(JNIEnv* env, | |
282 const JavaParamRef<jobject>& obj) { | |
283 ui::WindowAndroid* window_android = web_contents_->GetTopLevelNativeWindow(); | |
284 if (!window_android) | |
285 return ScopedJavaLocalRef<jobject>(); | |
boliu
2017/02/02 03:34:00
nullptr should work
Ted C
2017/03/03 20:55:26
Done.
| |
286 return window_android->GetJavaObject(); | |
287 } | |
288 | |
279 ScopedJavaLocalRef<jstring> WebContentsAndroid::GetTitle( | 289 ScopedJavaLocalRef<jstring> WebContentsAndroid::GetTitle( |
280 JNIEnv* env, | 290 JNIEnv* env, |
281 const JavaParamRef<jobject>& obj) const { | 291 const JavaParamRef<jobject>& obj) const { |
282 return base::android::ConvertUTF16ToJavaString(env, | 292 return base::android::ConvertUTF16ToJavaString(env, |
283 web_contents_->GetTitle()); | 293 web_contents_->GetTitle()); |
284 } | 294 } |
285 | 295 |
286 ScopedJavaLocalRef<jstring> WebContentsAndroid::GetVisibleURL( | 296 ScopedJavaLocalRef<jstring> WebContentsAndroid::GetVisibleURL( |
287 JNIEnv* env, | 297 JNIEnv* env, |
288 const JavaParamRef<jobject>& obj) const { | 298 const JavaParamRef<jobject>& obj) const { |
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
734 env, obj, callback, id, http_status_code, jurl, jbitmaps, jsizes); | 744 env, obj, callback, id, http_status_code, jurl, jbitmaps, jsizes); |
735 } | 745 } |
736 | 746 |
737 void WebContentsAndroid::SetMediaSession( | 747 void WebContentsAndroid::SetMediaSession( |
738 const ScopedJavaLocalRef<jobject>& j_media_session) { | 748 const ScopedJavaLocalRef<jobject>& j_media_session) { |
739 JNIEnv* env = base::android::AttachCurrentThread(); | 749 JNIEnv* env = base::android::AttachCurrentThread(); |
740 Java_WebContentsImpl_setMediaSession(env, obj_, j_media_session); | 750 Java_WebContentsImpl_setMediaSession(env, obj_, j_media_session); |
741 } | 751 } |
742 | 752 |
743 } // namespace content | 753 } // namespace content |
OLD | NEW |