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

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: Jared's 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 910 matching lines...) Expand 10 before | Expand all | Expand 10 after
921 void AwContents::FocusFirstNode(JNIEnv* env, jobject obj) { 921 void AwContents::FocusFirstNode(JNIEnv* env, jobject obj) {
922 DCHECK_CURRENTLY_ON(BrowserThread::UI); 922 DCHECK_CURRENTLY_ON(BrowserThread::UI);
923 web_contents_->FocusThroughTabTraversal(false); 923 web_contents_->FocusThroughTabTraversal(false);
924 } 924 }
925 925
926 void AwContents::SetBackgroundColor(JNIEnv* env, jobject obj, jint color) { 926 void AwContents::SetBackgroundColor(JNIEnv* env, jobject obj, jint color) {
927 DCHECK_CURRENTLY_ON(BrowserThread::UI); 927 DCHECK_CURRENTLY_ON(BrowserThread::UI);
928 render_view_host_ext_->SetBackgroundColor(color); 928 render_view_host_ext_->SetBackgroundColor(color);
929 } 929 }
930 930
931 void AwContents::OnComputeScroll(JNIEnv* env,
932 jobject obj,
933 jlong animation_time_millis) {
934 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
935 browser_view_renderer_.OnComputeScroll(
936 base::TimeTicks() +
937 base::TimeDelta::FromMilliseconds(animation_time_millis));
938 }
939
931 jlong AwContents::ReleasePopupAwContents(JNIEnv* env, jobject obj) { 940 jlong AwContents::ReleasePopupAwContents(JNIEnv* env, jobject obj) {
932 DCHECK_CURRENTLY_ON(BrowserThread::UI); 941 DCHECK_CURRENTLY_ON(BrowserThread::UI);
933 return reinterpret_cast<intptr_t>(pending_contents_.release()); 942 return reinterpret_cast<intptr_t>(pending_contents_.release());
934 } 943 }
935 944
936 gfx::Point AwContents::GetLocationOnScreen() { 945 gfx::Point AwContents::GetLocationOnScreen() {
937 DCHECK_CURRENTLY_ON(BrowserThread::UI); 946 DCHECK_CURRENTLY_ON(BrowserThread::UI);
938 JNIEnv* env = AttachCurrentThread(); 947 JNIEnv* env = AttachCurrentThread();
939 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 948 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
940 if (obj.is_null()) 949 if (obj.is_null())
941 return gfx::Point(); 950 return gfx::Point();
942 std::vector<int> location; 951 std::vector<int> location;
943 base::android::JavaIntArrayToIntVector( 952 base::android::JavaIntArrayToIntVector(
944 env, 953 env,
945 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(), 954 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(),
946 &location); 955 &location);
947 return gfx::Point(location[0], location[1]); 956 return gfx::Point(location[0], location[1]);
948 } 957 }
949 958
950 void AwContents::ScrollContainerViewTo(gfx::Vector2d new_value) { 959 void AwContents::ScrollContainerViewTo(gfx::Vector2d new_value) {
951 DCHECK_CURRENTLY_ON(BrowserThread::UI); 960 DCHECK_CURRENTLY_ON(BrowserThread::UI);
952 JNIEnv* env = AttachCurrentThread(); 961 JNIEnv* env = AttachCurrentThread();
953 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 962 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
954 if (obj.is_null()) 963 if (obj.is_null())
955 return; 964 return;
956 Java_AwContents_scrollContainerViewTo( 965 Java_AwContents_scrollContainerViewTo(
957 env, obj.obj(), new_value.x(), new_value.y()); 966 env, obj.obj(), new_value.x(), new_value.y());
958 } 967 }
959 968
960 bool AwContents::IsFlingActive() const { 969 bool AwContents::IsSmoothScrollingActive() const {
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 false; 974 return false;
966 return Java_AwContents_isFlingActive(env, obj.obj()); 975 return Java_AwContents_isSmoothScrollingActive(env, obj.obj());
967 } 976 }
968 977
969 void AwContents::UpdateScrollState(gfx::Vector2d max_scroll_offset, 978 void AwContents::UpdateScrollState(gfx::Vector2d max_scroll_offset,
970 gfx::SizeF contents_size_dip, 979 gfx::SizeF contents_size_dip,
971 float page_scale_factor, 980 float page_scale_factor,
972 float min_page_scale_factor, 981 float min_page_scale_factor,
973 float max_page_scale_factor) { 982 float max_page_scale_factor) {
974 DCHECK_CURRENTLY_ON(BrowserThread::UI); 983 DCHECK_CURRENTLY_ON(BrowserThread::UI);
975 JNIEnv* env = AttachCurrentThread(); 984 JNIEnv* env = AttachCurrentThread();
976 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 985 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
977 if (obj.is_null()) 986 if (obj.is_null())
978 return; 987 return;
979 Java_AwContents_updateScrollState(env, 988 Java_AwContents_updateScrollState(env,
980 obj.obj(), 989 obj.obj(),
981 max_scroll_offset.x(), 990 max_scroll_offset.x(),
982 max_scroll_offset.y(), 991 max_scroll_offset.y(),
983 contents_size_dip.width(), 992 contents_size_dip.width(),
984 contents_size_dip.height(), 993 contents_size_dip.height(),
985 page_scale_factor, 994 page_scale_factor,
986 min_page_scale_factor, 995 min_page_scale_factor,
987 max_page_scale_factor); 996 max_page_scale_factor);
988 } 997 }
989 998
990 void AwContents::DidOverscroll(gfx::Vector2d overscroll_delta) { 999 void AwContents::DidOverscroll(gfx::Vector2d overscroll_delta,
1000 gfx::Vector2dF overscroll_velocity) {
991 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1001 DCHECK_CURRENTLY_ON(BrowserThread::UI);
992 JNIEnv* env = AttachCurrentThread(); 1002 JNIEnv* env = AttachCurrentThread();
993 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 1003 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
994 if (obj.is_null()) 1004 if (obj.is_null())
995 return; 1005 return;
996 Java_AwContents_didOverscroll( 1006 Java_AwContents_didOverscroll(env, obj.obj(), overscroll_delta.x(),
997 env, obj.obj(), overscroll_delta.x(), overscroll_delta.y()); 1007 overscroll_delta.y(), overscroll_velocity.x(),
1008 overscroll_velocity.y());
998 } 1009 }
999 1010
1000 void AwContents::SetDipScale(JNIEnv* env, jobject obj, jfloat dip_scale) { 1011 void AwContents::SetDipScale(JNIEnv* env, jobject obj, jfloat dip_scale) {
1001 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1012 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1002 SetDipScaleInternal(dip_scale); 1013 SetDipScaleInternal(dip_scale);
1003 } 1014 }
1004 1015
1005 void AwContents::SetDipScaleInternal(float dip_scale) { 1016 void AwContents::SetDipScaleInternal(float dip_scale) {
1006 browser_view_renderer_.SetDipScale(dip_scale); 1017 browser_view_renderer_.SetDipScale(dip_scale);
1007 } 1018 }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1153 1164
1154 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, ports, 1165 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, ports,
1155 GetMessagePortMessageFilter()); 1166 GetMessagePortMessageFilter());
1156 } 1167 }
1157 1168
1158 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { 1169 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) {
1159 g_should_download_favicons = true; 1170 g_should_download_favicons = true;
1160 } 1171 }
1161 1172
1162 } // namespace android_webview 1173 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698