diff options
author | Nicolas Roard <nicolas@android.com> | 2011-01-30 20:07:34 -0800 |
---|---|---|
committer | Nicolas Roard <nicolas@android.com> | 2011-01-30 20:07:34 -0800 |
commit | c36054aacf610538d595ecc02cfbef4e6678eaa7 (patch) | |
tree | 9b02699e8670e2870a66d8a40e789e7e0b888f9e | |
parent | 1a2e2a9d1bbd0829307e9a52aa98d415f8d10e52 (diff) | |
download | external_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.cpp | 7 |
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(); |