| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "android_webview/native/aw_contents.h" | 5 #include "android_webview/native/aw_contents.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "android_webview/browser/aw_browser_context.h" | 9 #include "android_webview/browser/aw_browser_context.h" |
| 10 #include "android_webview/browser/aw_browser_main_parts.h" | 10 #include "android_webview/browser/aw_browser_main_parts.h" |
| (...skipping 922 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 933 void AwContents::FocusFirstNode(JNIEnv* env, jobject obj) { | 933 void AwContents::FocusFirstNode(JNIEnv* env, jobject obj) { |
| 934 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 934 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 935 web_contents_->FocusThroughTabTraversal(false); | 935 web_contents_->FocusThroughTabTraversal(false); |
| 936 } | 936 } |
| 937 | 937 |
| 938 void AwContents::SetBackgroundColor(JNIEnv* env, jobject obj, jint color) { | 938 void AwContents::SetBackgroundColor(JNIEnv* env, jobject obj, jint color) { |
| 939 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 939 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 940 render_view_host_ext_->SetBackgroundColor(color); | 940 render_view_host_ext_->SetBackgroundColor(color); |
| 941 } | 941 } |
| 942 | 942 |
| 943 void AwContents::OnComputeScroll(JNIEnv* env, |
| 944 jobject obj, |
| 945 jlong animation_time_millis) { |
| 946 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 947 browser_view_renderer_.OnComputeScroll( |
| 948 base::TimeTicks() + |
| 949 base::TimeDelta::FromMilliseconds(animation_time_millis)); |
| 950 } |
| 951 |
| 943 jlong AwContents::ReleasePopupAwContents(JNIEnv* env, jobject obj) { | 952 jlong AwContents::ReleasePopupAwContents(JNIEnv* env, jobject obj) { |
| 944 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 953 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 945 return reinterpret_cast<intptr_t>(pending_contents_.release()); | 954 return reinterpret_cast<intptr_t>(pending_contents_.release()); |
| 946 } | 955 } |
| 947 | 956 |
| 948 gfx::Point AwContents::GetLocationOnScreen() { | 957 gfx::Point AwContents::GetLocationOnScreen() { |
| 949 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 958 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 950 JNIEnv* env = AttachCurrentThread(); | 959 JNIEnv* env = AttachCurrentThread(); |
| 951 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 960 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
| 952 if (obj.is_null()) | 961 if (obj.is_null()) |
| 953 return gfx::Point(); | 962 return gfx::Point(); |
| 954 std::vector<int> location; | 963 std::vector<int> location; |
| 955 base::android::JavaIntArrayToIntVector( | 964 base::android::JavaIntArrayToIntVector( |
| 956 env, | 965 env, |
| 957 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(), | 966 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(), |
| 958 &location); | 967 &location); |
| 959 return gfx::Point(location[0], location[1]); | 968 return gfx::Point(location[0], location[1]); |
| 960 } | 969 } |
| 961 | 970 |
| 962 void AwContents::ScrollContainerViewTo(gfx::Vector2d new_value) { | 971 void AwContents::ScrollContainerViewTo(gfx::Vector2d new_value) { |
| 963 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 972 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 964 JNIEnv* env = AttachCurrentThread(); | 973 JNIEnv* env = AttachCurrentThread(); |
| 965 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 974 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
| 966 if (obj.is_null()) | 975 if (obj.is_null()) |
| 967 return; | 976 return; |
| 968 Java_AwContents_scrollContainerViewTo( | 977 Java_AwContents_scrollContainerViewTo( |
| 969 env, obj.obj(), new_value.x(), new_value.y()); | 978 env, obj.obj(), new_value.x(), new_value.y()); |
| 970 } | 979 } |
| 971 | 980 |
| 972 bool AwContents::IsFlingActive() const { | 981 bool AwContents::IsSmoothScrollingActive() const { |
| 973 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 982 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 974 JNIEnv* env = AttachCurrentThread(); | 983 JNIEnv* env = AttachCurrentThread(); |
| 975 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 984 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
| 976 if (obj.is_null()) | 985 if (obj.is_null()) |
| 977 return false; | 986 return false; |
| 978 return Java_AwContents_isFlingActive(env, obj.obj()); | 987 return Java_AwContents_isSmoothScrollingActive(env, obj.obj()); |
| 979 } | 988 } |
| 980 | 989 |
| 981 void AwContents::UpdateScrollState(gfx::Vector2d max_scroll_offset, | 990 void AwContents::UpdateScrollState(gfx::Vector2d max_scroll_offset, |
| 982 gfx::SizeF contents_size_dip, | 991 gfx::SizeF contents_size_dip, |
| 983 float page_scale_factor, | 992 float page_scale_factor, |
| 984 float min_page_scale_factor, | 993 float min_page_scale_factor, |
| 985 float max_page_scale_factor) { | 994 float max_page_scale_factor) { |
| 986 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 995 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 987 JNIEnv* env = AttachCurrentThread(); | 996 JNIEnv* env = AttachCurrentThread(); |
| 988 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 997 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
| 989 if (obj.is_null()) | 998 if (obj.is_null()) |
| 990 return; | 999 return; |
| 991 Java_AwContents_updateScrollState(env, | 1000 Java_AwContents_updateScrollState(env, |
| 992 obj.obj(), | 1001 obj.obj(), |
| 993 max_scroll_offset.x(), | 1002 max_scroll_offset.x(), |
| 994 max_scroll_offset.y(), | 1003 max_scroll_offset.y(), |
| 995 contents_size_dip.width(), | 1004 contents_size_dip.width(), |
| 996 contents_size_dip.height(), | 1005 contents_size_dip.height(), |
| 997 page_scale_factor, | 1006 page_scale_factor, |
| 998 min_page_scale_factor, | 1007 min_page_scale_factor, |
| 999 max_page_scale_factor); | 1008 max_page_scale_factor); |
| 1000 } | 1009 } |
| 1001 | 1010 |
| 1002 void AwContents::DidOverscroll(gfx::Vector2d overscroll_delta) { | 1011 void AwContents::DidOverscroll(gfx::Vector2d overscroll_delta, |
| 1012 gfx::Vector2dF overscroll_velocity) { |
| 1003 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 1013 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1004 JNIEnv* env = AttachCurrentThread(); | 1014 JNIEnv* env = AttachCurrentThread(); |
| 1005 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 1015 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
| 1006 if (obj.is_null()) | 1016 if (obj.is_null()) |
| 1007 return; | 1017 return; |
| 1008 Java_AwContents_didOverscroll( | 1018 Java_AwContents_didOverscroll(env, obj.obj(), overscroll_delta.x(), |
| 1009 env, obj.obj(), overscroll_delta.x(), overscroll_delta.y()); | 1019 overscroll_delta.y(), overscroll_velocity.x(), |
| 1020 overscroll_velocity.y()); |
| 1010 } | 1021 } |
| 1011 | 1022 |
| 1012 void AwContents::SetDipScale(JNIEnv* env, jobject obj, jfloat dip_scale) { | 1023 void AwContents::SetDipScale(JNIEnv* env, jobject obj, jfloat dip_scale) { |
| 1013 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 1024 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1014 SetDipScaleInternal(dip_scale); | 1025 SetDipScaleInternal(dip_scale); |
| 1015 } | 1026 } |
| 1016 | 1027 |
| 1017 void AwContents::SetDipScaleInternal(float dip_scale) { | 1028 void AwContents::SetDipScaleInternal(float dip_scale) { |
| 1018 browser_view_renderer_.SetDipScale(dip_scale); | 1029 browser_view_renderer_.SetDipScale(dip_scale); |
| 1019 } | 1030 } |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1165 | 1176 |
| 1166 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, ports, | 1177 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, ports, |
| 1167 GetMessagePortMessageFilter()); | 1178 GetMessagePortMessageFilter()); |
| 1168 } | 1179 } |
| 1169 | 1180 |
| 1170 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { | 1181 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { |
| 1171 g_should_download_favicons = true; | 1182 g_should_download_favicons = true; |
| 1172 } | 1183 } |
| 1173 | 1184 |
| 1174 } // namespace android_webview | 1185 } // namespace android_webview |
| OLD | NEW |