diff options
author | Mangesh Ghiware <mghiware@google.com> | 2012-05-18 10:18:45 -0700 |
---|---|---|
committer | Mangesh Ghiware <mghiware@google.com> | 2012-05-18 17:48:12 -0700 |
commit | 541af8dff4d592277d0f835deafaf728dad8bc57 (patch) | |
tree | 2b271cb9a99f476c188d3192c5b9e02023af9e6c /Source/WebCore/platform/android | |
parent | c6097fa86138b3dc74b91e12017cfab615fa0f38 (diff) | |
download | external_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.cpp | 28 | ||||
-rw-r--r-- | Source/WebCore/platform/android/WidgetAndroid.cpp | 9 |
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) |