summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/android
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/android')
-rw-r--r--Source/WebCore/platform/android/ScrollViewAndroid.cpp28
-rw-r--r--Source/WebCore/platform/android/WidgetAndroid.cpp9
2 files changed, 36 insertions, 1 deletions
diff --git a/Source/WebCore/platform/android/ScrollViewAndroid.cpp b/Source/WebCore/platform/android/ScrollViewAndroid.cpp
index cc1c09e..e7300a1 100644
--- a/Source/WebCore/platform/android/ScrollViewAndroid.cpp
+++ b/Source/WebCore/platform/android/ScrollViewAndroid.cpp
@@ -68,6 +68,34 @@ IntSize ScrollView::platformContentsSize() const
return m_contentsSize;
}
+int ScrollView::platformActualWidth() const
+{
+ if (parent())
+ return width();
+ return platformWidget()->visibleWidth();
+}
+
+int ScrollView::platformActualHeight() const
+{
+ if (parent())
+ return height();
+ return platformWidget()->visibleHeight();
+}
+
+int ScrollView::platformActualScrollX() const
+{
+ if (parent())
+ return scrollX();
+ return platformWidget()->visibleX();
+}
+
+int ScrollView::platformActualScrollY() const
+{
+ if (parent())
+ return scrollY();
+ return platformWidget()->visibleY();
+}
+
void ScrollView::platformSetScrollPosition(const WebCore::IntPoint& pt)
{
PlatformBridge::setScrollPosition(this, m_scrollOrigin.x() + pt.x(),
diff --git a/Source/WebCore/platform/android/WidgetAndroid.cpp b/Source/WebCore/platform/android/WidgetAndroid.cpp
index 6858f29..3c5b1c8 100644
--- a/Source/WebCore/platform/android/WidgetAndroid.cpp
+++ b/Source/WebCore/platform/android/WidgetAndroid.cpp
@@ -49,7 +49,9 @@ Widget::~Widget()
IntRect Widget::frameRect() const
{
- return m_frame;
+ if (!platformWidget())
+ return m_frame;
+ return platformWidget()->getBounds();
}
void Widget::setFocus(bool focused)
@@ -89,6 +91,11 @@ void Widget::hide()
void Widget::setFrameRect(const IntRect& rect)
{
m_frame = rect;
+ // platformWidget() is 0 when called from Scrollbar
+ if (!platformWidget())
+ return;
+ platformWidget()->setLocation(rect.x(), rect.y());
+ platformWidget()->setSize(rect.width(), rect.height());
}
void Widget::setIsSelected(bool isSelected)