summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/android
diff options
context:
space:
mode:
authorMangesh Ghiware <mghiware@google.com>2012-05-18 10:18:45 -0700
committerMangesh Ghiware <mghiware@google.com>2012-05-18 17:48:12 -0700
commit541af8dff4d592277d0f835deafaf728dad8bc57 (patch)
tree2b271cb9a99f476c188d3192c5b9e02023af9e6c /Source/WebCore/platform/android
parentc6097fa86138b3dc74b91e12017cfab615fa0f38 (diff)
downloadexternal_webkit-541af8dff4d592277d0f835deafaf728dad8bc57.zip
external_webkit-541af8dff4d592277d0f835deafaf728dad8bc57.tar.gz
external_webkit-541af8dff4d592277d0f835deafaf728dad8bc57.tar.bz2
Revert part of "Fix iframe, ..."
Fix DOMWindow innerWidth and innerHeight to report correct values even after an orientation change. Uses platform-specific widget. This reverts part of commit I588aa5709e7a3c2ced9479c3cf9c1827bf6f7733. Bug: 6479900 Change-Id: Ic5c8785e35b14d6723eee4f4dfe1b0a3e1ec284a
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)