summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/graphics')
-rw-r--r--WebCore/platform/graphics/android/BaseLayerAndroid.cpp3
-rw-r--r--WebCore/platform/graphics/android/GLWebViewState.cpp3
2 files changed, 5 insertions, 1 deletions
diff --git a/WebCore/platform/graphics/android/BaseLayerAndroid.cpp b/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
index 9e090a6..8d84827 100644
--- a/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
+++ b/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
@@ -122,7 +122,8 @@ bool BaseLayerAndroid::drawBasePictureInGL(SkRect& viewport, float scale)
XLOG("drawBasePicture, TX: %d, TY: %d scale %.2f", viewportTileBounds.fLeft,
viewportTileBounds.fTop, scale);
- if (scale == m_glWebViewState->currentScale())
+ if (scale == m_glWebViewState->currentScale()
+ || m_glWebViewState->preZoomBounds().isEmpty())
m_glWebViewState->setPreZoomBounds(viewportTileBounds);
// If we have a different scale than the current one, we have to
diff --git a/WebCore/platform/graphics/android/GLWebViewState.cpp b/WebCore/platform/graphics/android/GLWebViewState.cpp
index bcb5cbf..4080a8a 100644
--- a/WebCore/platform/graphics/android/GLWebViewState.cpp
+++ b/WebCore/platform/graphics/android/GLWebViewState.cpp
@@ -77,6 +77,9 @@ GLWebViewState::GLWebViewState()
{
m_tiledPageA = new TiledPage(FIRST_TILED_PAGE_ID, this);
m_tiledPageB = new TiledPage(SECOND_TILED_PAGE_ID, this);
+ m_viewport.setEmpty();
+ m_viewportTileBounds.setEmpty();
+ m_preZoomBounds.setEmpty();
#ifdef DEBUG_COUNT
gGLWebViewStateCount++;
#endif