Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Side by Side Diff: android_webview/native/aw_contents.cc

Issue 1063853005: Unify Android Webview and Chrome's fling (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@master
Patch Set: comments Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 906 matching lines...) Expand 10 before | Expand all | Expand 10 after
917 void AwContents::FocusFirstNode(JNIEnv* env, jobject obj) { 917 void AwContents::FocusFirstNode(JNIEnv* env, jobject obj) {
918 DCHECK_CURRENTLY_ON(BrowserThread::UI); 918 DCHECK_CURRENTLY_ON(BrowserThread::UI);
919 web_contents_->FocusThroughTabTraversal(false); 919 web_contents_->FocusThroughTabTraversal(false);
920 } 920 }
921 921
922 void AwContents::SetBackgroundColor(JNIEnv* env, jobject obj, jint color) { 922 void AwContents::SetBackgroundColor(JNIEnv* env, jobject obj, jint color) {
923 DCHECK_CURRENTLY_ON(BrowserThread::UI); 923 DCHECK_CURRENTLY_ON(BrowserThread::UI);
924 render_view_host_ext_->SetBackgroundColor(color); 924 render_view_host_ext_->SetBackgroundColor(color);
925 } 925 }
926 926
927 void AwContents::OnComputeScroll(JNIEnv* env,
928 jobject obj,
929 jlong animation_time_millis) {
930 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
931 browser_view_renderer_.OnComputeScroll(
932 base::TimeTicks() +
933 base::TimeDelta::FromMilliseconds(animation_time_millis));
934 }
935
927 jlong AwContents::ReleasePopupAwContents(JNIEnv* env, jobject obj) { 936 jlong AwContents::ReleasePopupAwContents(JNIEnv* env, jobject obj) {
928 DCHECK_CURRENTLY_ON(BrowserThread::UI); 937 DCHECK_CURRENTLY_ON(BrowserThread::UI);
929 return reinterpret_cast<intptr_t>(pending_contents_.release()); 938 return reinterpret_cast<intptr_t>(pending_contents_.release());
930 } 939 }
931 940
932 gfx::Point AwContents::GetLocationOnScreen() { 941 gfx::Point AwContents::GetLocationOnScreen() {
933 DCHECK_CURRENTLY_ON(BrowserThread::UI); 942 DCHECK_CURRENTLY_ON(BrowserThread::UI);
934 JNIEnv* env = AttachCurrentThread(); 943 JNIEnv* env = AttachCurrentThread();
935 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 944 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
936 if (obj.is_null()) 945 if (obj.is_null())
937 return gfx::Point(); 946 return gfx::Point();
938 std::vector<int> location; 947 std::vector<int> location;
939 base::android::JavaIntArrayToIntVector( 948 base::android::JavaIntArrayToIntVector(
940 env, 949 env,
941 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(), 950 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(),
942 &location); 951 &location);
943 return gfx::Point(location[0], location[1]); 952 return gfx::Point(location[0], location[1]);
944 } 953 }
945 954
946 void AwContents::ScrollContainerViewTo(gfx::Vector2d new_value) { 955 void AwContents::ScrollContainerViewTo(gfx::Vector2d new_value) {
947 DCHECK_CURRENTLY_ON(BrowserThread::UI); 956 DCHECK_CURRENTLY_ON(BrowserThread::UI);
948 JNIEnv* env = AttachCurrentThread(); 957 JNIEnv* env = AttachCurrentThread();
949 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 958 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
950 if (obj.is_null()) 959 if (obj.is_null())
951 return; 960 return;
952 Java_AwContents_scrollContainerViewTo( 961 Java_AwContents_scrollContainerViewTo(
953 env, obj.obj(), new_value.x(), new_value.y()); 962 env, obj.obj(), new_value.x(), new_value.y());
954 } 963 }
955 964
956 bool AwContents::IsFlingActive() const { 965 bool AwContents::IsSmoothScrollingActive() const {
957 DCHECK_CURRENTLY_ON(BrowserThread::UI); 966 DCHECK_CURRENTLY_ON(BrowserThread::UI);
958 JNIEnv* env = AttachCurrentThread(); 967 JNIEnv* env = AttachCurrentThread();
959 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 968 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
960 if (obj.is_null()) 969 if (obj.is_null())
961 return false; 970 return false;
962 return Java_AwContents_isFlingActive(env, obj.obj()); 971 return Java_AwContents_isSmoothScrollingActive(env, obj.obj());
963 } 972 }
964 973
965 void AwContents::UpdateScrollState(gfx::Vector2d max_scroll_offset, 974 void AwContents::UpdateScrollState(gfx::Vector2d max_scroll_offset,
966 gfx::SizeF contents_size_dip, 975 gfx::SizeF contents_size_dip,
967 float page_scale_factor, 976 float page_scale_factor,
968 float min_page_scale_factor, 977 float min_page_scale_factor,
969 float max_page_scale_factor) { 978 float max_page_scale_factor) {
970 DCHECK_CURRENTLY_ON(BrowserThread::UI); 979 DCHECK_CURRENTLY_ON(BrowserThread::UI);
971 JNIEnv* env = AttachCurrentThread(); 980 JNIEnv* env = AttachCurrentThread();
972 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 981 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
973 if (obj.is_null()) 982 if (obj.is_null())
974 return; 983 return;
975 Java_AwContents_updateScrollState(env, 984 Java_AwContents_updateScrollState(env,
976 obj.obj(), 985 obj.obj(),
977 max_scroll_offset.x(), 986 max_scroll_offset.x(),
978 max_scroll_offset.y(), 987 max_scroll_offset.y(),
979 contents_size_dip.width(), 988 contents_size_dip.width(),
980 contents_size_dip.height(), 989 contents_size_dip.height(),
981 page_scale_factor, 990 page_scale_factor,
982 min_page_scale_factor, 991 min_page_scale_factor,
983 max_page_scale_factor); 992 max_page_scale_factor);
984 } 993 }
985 994
986 void AwContents::DidOverscroll(gfx::Vector2d overscroll_delta) { 995 void AwContents::DidOverscroll(gfx::Vector2d overscroll_delta,
996 gfx::Vector2dF overscroll_velocity,
997 bool first_overscroll_x,
998 bool first_overscroll_y) {
987 DCHECK_CURRENTLY_ON(BrowserThread::UI); 999 DCHECK_CURRENTLY_ON(BrowserThread::UI);
988 JNIEnv* env = AttachCurrentThread(); 1000 JNIEnv* env = AttachCurrentThread();
989 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 1001 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
990 if (obj.is_null()) 1002 if (obj.is_null())
991 return; 1003 return;
992 Java_AwContents_didOverscroll( 1004 Java_AwContents_didOverscroll(env, obj.obj(), overscroll_delta.x(),
993 env, obj.obj(), overscroll_delta.x(), overscroll_delta.y()); 1005 overscroll_delta.y(), overscroll_velocity.x(),
1006 overscroll_velocity.y(), first_overscroll_x,
1007 first_overscroll_y);
994 } 1008 }
995 1009
996 void AwContents::SetDipScale(JNIEnv* env, jobject obj, jfloat dip_scale) { 1010 void AwContents::SetDipScale(JNIEnv* env, jobject obj, jfloat dip_scale) {
997 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1011 DCHECK_CURRENTLY_ON(BrowserThread::UI);
998 SetDipScaleInternal(dip_scale); 1012 SetDipScaleInternal(dip_scale);
999 } 1013 }
1000 1014
1001 void AwContents::SetDipScaleInternal(float dip_scale) { 1015 void AwContents::SetDipScaleInternal(float dip_scale) {
1002 browser_view_renderer_.SetDipScale(dip_scale); 1016 browser_view_renderer_.SetDipScale(dip_scale);
1003 } 1017 }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1149 1163
1150 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, ports, 1164 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, ports,
1151 GetMessagePortMessageFilter()); 1165 GetMessagePortMessageFilter());
1152 } 1166 }
1153 1167
1154 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { 1168 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) {
1155 g_should_download_favicons = true; 1169 g_should_download_favicons = true;
1156 } 1170 }
1157 1171
1158 } // namespace android_webview 1172 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698