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

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: add a todo Created 5 years, 6 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 920 matching lines...) Expand 10 before | Expand all | Expand 10 after
931 void AwContents::FocusFirstNode(JNIEnv* env, jobject obj) { 931 void AwContents::FocusFirstNode(JNIEnv* env, jobject obj) {
932 DCHECK_CURRENTLY_ON(BrowserThread::UI); 932 DCHECK_CURRENTLY_ON(BrowserThread::UI);
933 web_contents_->FocusThroughTabTraversal(false); 933 web_contents_->FocusThroughTabTraversal(false);
934 } 934 }
935 935
936 void AwContents::SetBackgroundColor(JNIEnv* env, jobject obj, jint color) { 936 void AwContents::SetBackgroundColor(JNIEnv* env, jobject obj, jint color) {
937 DCHECK_CURRENTLY_ON(BrowserThread::UI); 937 DCHECK_CURRENTLY_ON(BrowserThread::UI);
938 render_view_host_ext_->SetBackgroundColor(color); 938 render_view_host_ext_->SetBackgroundColor(color);
939 } 939 }
940 940
941 void AwContents::OnComputeScroll(JNIEnv* env,
942 jobject obj,
943 jlong animation_time_millis) {
944 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
945 browser_view_renderer_.OnComputeScroll(
946 base::TimeTicks() +
947 base::TimeDelta::FromMilliseconds(animation_time_millis));
boliu 2015/05/29 19:42:47 Does this addition make sense? Documentation on c
hush (inactive) 2015/06/05 21:47:22 I am not exactly sure here. We have confusing usag
948 }
949
941 jlong AwContents::ReleasePopupAwContents(JNIEnv* env, jobject obj) { 950 jlong AwContents::ReleasePopupAwContents(JNIEnv* env, jobject obj) {
942 DCHECK_CURRENTLY_ON(BrowserThread::UI); 951 DCHECK_CURRENTLY_ON(BrowserThread::UI);
943 return reinterpret_cast<intptr_t>(pending_contents_.release()); 952 return reinterpret_cast<intptr_t>(pending_contents_.release());
944 } 953 }
945 954
946 gfx::Point AwContents::GetLocationOnScreen() { 955 gfx::Point AwContents::GetLocationOnScreen() {
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 gfx::Point(); 960 return gfx::Point();
952 std::vector<int> location; 961 std::vector<int> location;
953 base::android::JavaIntArrayToIntVector( 962 base::android::JavaIntArrayToIntVector(
954 env, 963 env,
955 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(), 964 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(),
956 &location); 965 &location);
957 return gfx::Point(location[0], location[1]); 966 return gfx::Point(location[0], location[1]);
958 } 967 }
959 968
960 void AwContents::ScrollContainerViewTo(gfx::Vector2d new_value) { 969 void AwContents::ScrollContainerViewTo(gfx::Vector2d new_value) {
961 DCHECK_CURRENTLY_ON(BrowserThread::UI); 970 DCHECK_CURRENTLY_ON(BrowserThread::UI);
962 JNIEnv* env = AttachCurrentThread(); 971 JNIEnv* env = AttachCurrentThread();
963 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 972 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
964 if (obj.is_null()) 973 if (obj.is_null())
965 return; 974 return;
966 Java_AwContents_scrollContainerViewTo( 975 Java_AwContents_scrollContainerViewTo(
967 env, obj.obj(), new_value.x(), new_value.y()); 976 env, obj.obj(), new_value.x(), new_value.y());
968 } 977 }
969 978
970 bool AwContents::IsFlingActive() const { 979 bool AwContents::IsSmoothScrollingActive() const {
971 DCHECK_CURRENTLY_ON(BrowserThread::UI); 980 DCHECK_CURRENTLY_ON(BrowserThread::UI);
972 JNIEnv* env = AttachCurrentThread(); 981 JNIEnv* env = AttachCurrentThread();
973 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 982 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
974 if (obj.is_null()) 983 if (obj.is_null())
975 return false; 984 return false;
976 return Java_AwContents_isFlingActive(env, obj.obj()); 985 return Java_AwContents_isSmoothScrollingActive(env, obj.obj());
977 } 986 }
978 987
979 void AwContents::UpdateScrollState(gfx::Vector2d max_scroll_offset, 988 void AwContents::UpdateScrollState(gfx::Vector2d max_scroll_offset,
980 gfx::SizeF contents_size_dip, 989 gfx::SizeF contents_size_dip,
981 float page_scale_factor, 990 float page_scale_factor,
982 float min_page_scale_factor, 991 float min_page_scale_factor,
983 float max_page_scale_factor) { 992 float max_page_scale_factor) {
984 DCHECK_CURRENTLY_ON(BrowserThread::UI); 993 DCHECK_CURRENTLY_ON(BrowserThread::UI);
985 JNIEnv* env = AttachCurrentThread(); 994 JNIEnv* env = AttachCurrentThread();
986 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 995 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
987 if (obj.is_null()) 996 if (obj.is_null())
988 return; 997 return;
989 Java_AwContents_updateScrollState(env, 998 Java_AwContents_updateScrollState(env,
990 obj.obj(), 999 obj.obj(),
991 max_scroll_offset.x(), 1000 max_scroll_offset.x(),
992 max_scroll_offset.y(), 1001 max_scroll_offset.y(),
993 contents_size_dip.width(), 1002 contents_size_dip.width(),
994 contents_size_dip.height(), 1003 contents_size_dip.height(),
995 page_scale_factor, 1004 page_scale_factor,
996 min_page_scale_factor, 1005 min_page_scale_factor,
997 max_page_scale_factor); 1006 max_page_scale_factor);
998 } 1007 }
999 1008
1000 void AwContents::DidOverscroll(gfx::Vector2d overscroll_delta) { 1009 void AwContents::DidOverscroll(gfx::Vector2d overscroll_delta,
1010 gfx::Vector2dF overscroll_velocity) {
1001 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1011 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1002 JNIEnv* env = AttachCurrentThread(); 1012 JNIEnv* env = AttachCurrentThread();
1003 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 1013 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
1004 if (obj.is_null()) 1014 if (obj.is_null())
1005 return; 1015 return;
1006 Java_AwContents_didOverscroll( 1016 Java_AwContents_didOverscroll(env, obj.obj(), overscroll_delta.x(),
1007 env, obj.obj(), overscroll_delta.x(), overscroll_delta.y()); 1017 overscroll_delta.y(), overscroll_velocity.x(),
1018 overscroll_velocity.y());
1008 } 1019 }
1009 1020
1010 void AwContents::SetDipScale(JNIEnv* env, jobject obj, jfloat dip_scale) { 1021 void AwContents::SetDipScale(JNIEnv* env, jobject obj, jfloat dip_scale) {
1011 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1022 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1012 SetDipScaleInternal(dip_scale); 1023 SetDipScaleInternal(dip_scale);
1013 } 1024 }
1014 1025
1015 void AwContents::SetDipScaleInternal(float dip_scale) { 1026 void AwContents::SetDipScaleInternal(float dip_scale) {
1016 browser_view_renderer_.SetDipScale(dip_scale); 1027 browser_view_renderer_.SetDipScale(dip_scale);
1017 } 1028 }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1163 1174
1164 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, ports, 1175 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, ports,
1165 GetMessagePortMessageFilter()); 1176 GetMessagePortMessageFilter());
1166 } 1177 }
1167 1178
1168 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { 1179 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) {
1169 g_should_download_favicons = true; 1180 g_should_download_favicons = true;
1170 } 1181 }
1171 1182
1172 } // namespace android_webview 1183 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698