diff options
author | Nicolas Roard <nicolas@android.com> | 2010-03-17 02:06:20 +0000 |
---|---|---|
committer | Nicolas Roard <nicolas@android.com> | 2010-03-17 03:32:19 +0000 |
commit | 15e726c96b7c81e9bbacac36d6abdff2eea4f44e (patch) | |
tree | 351bc86c6643c0aefcc1af40f90782647100021d /WebKit | |
parent | 1d7ddf2fb889b97549e1041bbbf53e481b4ced2c (diff) | |
download | external_webkit-15e726c96b7c81e9bbacac36d6abdff2eea4f44e.zip external_webkit-15e726c96b7c81e9bbacac36d6abdff2eea4f44e.tar.gz external_webkit-15e726c96b7c81e9bbacac36d6abdff2eea4f44e.tar.bz2 |
Compute the position of the fixed elements to be relative to the
screen and not the virtual viewport.
This fixes Bug:2515587 and Bug:2457215
Change-Id: Ib987787cf9bf74b760b857dbbb397f85af334dce
Diffstat (limited to 'WebKit')
-rw-r--r-- | WebKit/android/WebCoreSupport/PlatformBridge.cpp | 12 | ||||
-rw-r--r-- | WebKit/android/jni/WebViewCore.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/WebKit/android/WebCoreSupport/PlatformBridge.cpp b/WebKit/android/WebCoreSupport/PlatformBridge.cpp index b8bee7b..05aa42b 100644 --- a/WebKit/android/WebCoreSupport/PlatformBridge.cpp +++ b/WebKit/android/WebCoreSupport/PlatformBridge.cpp @@ -59,6 +59,18 @@ void PlatformBridge::immediateRepaint(const WebCore::FrameView* view) #endif // USE(ACCELERATED_COMPOSITING) +int PlatformBridge::screenWidth(const WebCore::FrameView* view) +{ + android::WebViewCore* core = android::WebViewCore::getWebViewCore(view); + return static_cast<int>((core->screenWidthScale() * core->screenWidth()) / core->scale()); +} + +int PlatformBridge::screenHeight(const WebCore::FrameView* view) +{ + android::WebViewCore* core = android::WebViewCore::getWebViewCore(view); + return core->screenHeight(); +} + WTF::Vector<String> PlatformBridge::getSupportedKeyStrengthList() { KeyGeneratorClient* client = JavaSharedClient::GetKeyGeneratorClient(); diff --git a/WebKit/android/jni/WebViewCore.h b/WebKit/android/jni/WebViewCore.h index 01033f2..0ec8bed 100644 --- a/WebKit/android/jni/WebViewCore.h +++ b/WebKit/android/jni/WebViewCore.h @@ -445,6 +445,7 @@ namespace android { // record the inval area, and the picture size bool recordContent(SkRegion* , SkIPoint* ); int screenWidth() const { return m_screenWidth; } + int screenHeight() const { return m_screenHeight; } float scale() const { return m_scale; } float screenWidthScale() const { return m_screenWidthScale; } WebCore::Frame* mainFrame() const { return m_mainFrame; } |