summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Roard <nicolas@android.com>2011-01-30 20:07:34 -0800
committerNicolas Roard <nicolas@android.com>2011-01-30 20:07:34 -0800
commitc36054aacf610538d595ecc02cfbef4e6678eaa7 (patch)
tree9b02699e8670e2870a66d8a40e789e7e0b888f9e
parent1a2e2a9d1bbd0829307e9a52aa98d415f8d10e52 (diff)
downloadexternal_webkit-c36054aacf610538d595ecc02cfbef4e6678eaa7.zip
external_webkit-c36054aacf610538d595ecc02cfbef4e6678eaa7.tar.gz
external_webkit-c36054aacf610538d595ecc02cfbef4e6678eaa7.tar.bz2
Fix repaint bug when changing viewport
bug:3405986 Change-Id: I5ef5d9bc1041fabe5319e93180f94b521b07e93b
-rw-r--r--WebCore/platform/graphics/android/GLWebViewState.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/WebCore/platform/graphics/android/GLWebViewState.cpp b/WebCore/platform/graphics/android/GLWebViewState.cpp
index 2f9430a..3c1d40a 100644
--- a/WebCore/platform/graphics/android/GLWebViewState.cpp
+++ b/WebCore/platform/graphics/android/GLWebViewState.cpp
@@ -270,13 +270,14 @@ int GLWebViewState::baseContentHeight()
void GLWebViewState::setViewport(SkRect& viewport, float scale)
{
m_previousViewport = m_viewport;
- if (m_viewport == viewport)
+ if ((m_viewport == viewport) &&
+ (m_futureScale == scale))
return;
m_viewport = viewport;
- XLOG("New VIEWPORT %.2f - %.2f %.2f - %.2f (w: %2.f h: %.2f scale: %.2f)",
+ XLOG("New VIEWPORT %.2f - %.2f %.2f - %.2f (w: %2.f h: %.2f scale: %.2f currentScale: %.2f futureScale: %.2f)",
m_viewport.fLeft, m_viewport.fTop, m_viewport.fRight, m_viewport.fBottom,
- m_viewport.width(), m_viewport.height(), scale);
+ m_viewport.width(), m_viewport.height(), scale, m_currentScale, m_futureScale);
const float invTileContentWidth = scale / TilesManager::tileWidth();
const float invTileContentHeight = scale / TilesManager::tileHeight();