diff options
author | Teng-Hui Zhu <ztenghui@google.com> | 2012-04-11 16:52:37 -0700 |
---|---|---|
committer | Teng-Hui Zhu <ztenghui@google.com> | 2012-04-11 17:04:38 -0700 |
commit | d08dc21a96bd91ee23a4419266186cadb4b43681 (patch) | |
tree | ba7f7aaa045dfc90cc19a2e3fd46225b88dc1d9e /Source/WebKit/android/nav | |
parent | 9b0332227d1f5d644e78f417c54ae1ec86ecaa1c (diff) | |
download | external_webkit-d08dc21a96bd91ee23a4419266186cadb4b43681.zip external_webkit-d08dc21a96bd91ee23a4419266186cadb4b43681.tar.gz external_webkit-d08dc21a96bd91ee23a4419266186cadb4b43681.tar.bz2 |
Correct viewport for GL drawing when webview is on FBO
bug:6283539
Change-Id: I0d5fb92a9ad7e8b6781900bbc08e5afd48c53614
Diffstat (limited to 'Source/WebKit/android/nav')
-rw-r--r-- | Source/WebKit/android/nav/WebView.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Source/WebKit/android/nav/WebView.cpp b/Source/WebKit/android/nav/WebView.cpp index a4381e6..0cf0079 100644 --- a/Source/WebKit/android/nav/WebView.cpp +++ b/Source/WebKit/android/nav/WebView.cpp @@ -709,13 +709,17 @@ class GLDrawFunctor : Functor { int titlebarHeight = webViewRect.height() - viewRect.height(); uirenderer::DrawGlInfo* info = reinterpret_cast<uirenderer::DrawGlInfo*>(data); - WebCore::IntRect localViewRect = viewRect; - if (info->isLayer) - localViewRect.move(-1 * localViewRect.x(), -1 * localViewRect.y()); - WebCore::IntRect clip(info->clipLeft, info->clipTop, info->clipRight - info->clipLeft, info->clipBottom - info->clipTop); + + WebCore::IntRect localViewRect = viewRect; + if (info->isLayer) { + // When webview is on a layer, we need to use the viewport relative + // to the FBO, rather than the screen(which will use viewRect). + localViewRect.setX(clip.x()); + localViewRect.setY(info->height - clip.y() - clip.height()); + } bool shouldDraw = (messageId == uirenderer::DrawGlInfo::kModeDraw); TilesManager::instance()->shader()->setWebViewMatrix(info->transform, info->isLayer); int returnFlags = (*wvInstance.*funcPtr)(localViewRect, &inval, webViewRect, |