From 706c2b4c3089f2832c8172c0581e3df110bf534c Mon Sep 17 00:00:00 2001 From: "Shimeng (Simon) Wang" Date: Fri, 1 Jul 2011 17:34:23 -0700 Subject: [PATCH] Factor the scale into the actual screen space calculation. issue: 4982074 Change-Id: I5d86539a17393f3060cd67bd4c6888734037c7e4 --- Source/WebCore/platform/android/ScrollViewAndroid.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Source/WebCore/platform/android/ScrollViewAndroid.cpp b/Source/WebCore/platform/android/ScrollViewAndroid.cpp index f54e5ea44..87c6a1f22 100644 --- a/Source/WebCore/platform/android/ScrollViewAndroid.cpp +++ b/Source/WebCore/platform/android/ScrollViewAndroid.cpp @@ -68,32 +68,36 @@ IntSize ScrollView::platformContentsSize() const return m_contentsSize; } +static float getWebViewCoreScale(const ScrollView* view) { + return android::WebViewCore::getWebViewCore(view)->scale(); +} + int ScrollView::platformActualWidth() const { if (parent()) return width(); - return platformWidget()->visibleWidth(); + return platformWidget()->visibleWidth() * getWebViewCoreScale(this); } int ScrollView::platformActualHeight() const { if (parent()) return height(); - return platformWidget()->visibleHeight(); + return platformWidget()->visibleHeight() * getWebViewCoreScale(this); } int ScrollView::platformActualScrollX() const { if (parent()) return scrollX(); - return platformWidget()->visibleX(); + return platformWidget()->visibleX() * getWebViewCoreScale(this); } int ScrollView::platformActualScrollY() const { if (parent()) return scrollY(); - return platformWidget()->visibleY(); + return platformWidget()->visibleY() * getWebViewCoreScale(this); } void ScrollView::platformSetScrollPosition(const WebCore::IntPoint& pt) -- 2.11.0