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

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 proguard 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
« no previous file with comments | « android_webview/native/aw_contents.h ('k') | cc/input/input_handler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 922 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW
« no previous file with comments | « android_webview/native/aw_contents.h ('k') | cc/input/input_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698