summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2011-09-30 14:16:28 -0700
committerChris Craik <ccraik@google.com>2011-09-30 14:16:28 -0700
commitc565532a280bd10e53c0ed0447c1442c7ef27d0d (patch)
treebd12123795353f5653396154bb81512db7426948 /Source/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
parent70766d2b423da8555553b35dba98bad79529b97c (diff)
downloadexternal_webkit-c565532a280bd10e53c0ed0447c1442c7ef27d0d.zip
external_webkit-c565532a280bd10e53c0ed0447c1442c7ef27d0d.tar.gz
external_webkit-c565532a280bd10e53c0ed0447c1442c7ef27d0d.tar.bz2
Fix low-res tiles rendering too early
bug:5369978 Low-res tiles were being prepared before high res, so despite being lower priority, they had a chance to start rendering when a new page was loaded before any other tiles existed in the priority queue. Change-Id: I479f01a00c2507bcabf13929eb099571d8886c4c
Diffstat (limited to 'Source/WebCore/platform/graphics/android/BaseLayerAndroid.cpp')
-rw-r--r--Source/WebCore/platform/graphics/android/BaseLayerAndroid.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/Source/WebCore/platform/graphics/android/BaseLayerAndroid.cpp b/Source/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
index 547ac39..94bf045 100644
--- a/Source/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
+++ b/Source/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
@@ -232,13 +232,6 @@ bool BaseLayerAndroid::drawBasePictureInGL(SkRect& viewport, float scale,
bool scrolling = m_scrollState != NotScrolling;
bool zooming = ZoomManager::kNoScaleRequest != zoomManager->scaleRequestState();
- // prefetch in the nextTiledPage if unused by zooming (even if not scrolling
- // since we want the tiles to be ready before they're needed)
- bool usePrefetchPage = !zooming;
- nextTiledPage->setIsPrefetchPage(usePrefetchPage);
- if (usePrefetchPage)
- prefetchBasePicture(viewport, scale, nextTiledPage);
-
// When we aren't zooming, we should TRY and swap tile buffers if they're
// ready. When scrolling, we swap whatever's ready. Otherwise, buffer until
// the entire page is ready and then swap.
@@ -293,6 +286,13 @@ bool BaseLayerAndroid::drawBasePictureInGL(SkRect& viewport, float scale,
XLOG("scrolling %d, zooming %d, buffersSwapped %d, needsRedraw %d",
scrolling, zooming, buffersSwapped, needsRedraw);
+ // prefetch in the nextTiledPage if unused by zooming (even if not scrolling
+ // since we want the tiles to be ready before they're needed)
+ bool usePrefetchPage = !zooming;
+ nextTiledPage->setIsPrefetchPage(usePrefetchPage);
+ if (usePrefetchPage)
+ prefetchBasePicture(viewport, scale, nextTiledPage);
+
tiledPage->draw(transparency, preZoomBounds);
return needsRedraw;