summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/GLWebViewState.cpp
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2011-08-01 13:44:44 -0700
committerChris Craik <ccraik@google.com>2011-08-02 16:48:44 -0700
commitaf33356e96e56310c66b47b6db913e1a61981ca3 (patch)
treec9f98c22fc76dd567deb3b96726eddf8fa44ef65 /Source/WebCore/platform/graphics/android/GLWebViewState.cpp
parentd4f990572c3485cdc15cff48c3bedc6e7cad809b (diff)
downloadexternal_webkit-af33356e96e56310c66b47b6db913e1a61981ca3.zip
external_webkit-af33356e96e56310c66b47b6db913e1a61981ca3.tar.gz
external_webkit-af33356e96e56310c66b47b6db913e1a61981ca3.tar.bz2
Support registering page swap callback, content inval
bug:5062896 Depends on the following frameworks/base change: https://android-git.corp.google.com/g/#change,124879 a WebView may now register a page swap callback and content invalidate to benchmark tile rendering performance Change-Id: I97f6ed05cff12b11266a472163aab1f3b3ddc87e
Diffstat (limited to 'Source/WebCore/platform/graphics/android/GLWebViewState.cpp')
-rw-r--r--Source/WebCore/platform/graphics/android/GLWebViewState.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/GLWebViewState.cpp b/Source/WebCore/platform/graphics/android/GLWebViewState.cpp
index 07dda03..bc582d9 100644
--- a/Source/WebCore/platform/graphics/android/GLWebViewState.cpp
+++ b/Source/WebCore/platform/graphics/android/GLWebViewState.cpp
@@ -220,6 +220,7 @@ void GLWebViewState::setExtra(BaseLayerAndroid* layer, SkPicture& picture,
void GLWebViewState::inval(const IntRect& rect)
{
if (m_baseLayerUpdate) {
+ // base layer isn't locked, so go ahead and issue the inval to both tiled pages
m_currentPictureCounter++;
if (!rect.isEmpty()) {
// find which tiles fall within the invalRect and mark them as dirty
@@ -234,6 +235,7 @@ void GLWebViewState::inval(const IntRect& rect)
rect.x(), rect.y(), rect.width(), rect.height());
}
} else {
+ // base layer is locked, so defer invalidation until unlockBaseLayerUpdate()
m_invalidateRegion.op(rect.x(), rect.y(), rect.maxX(), rect.maxY(), SkRegion::kUnion_Op);
}
TilesManager::instance()->getProfiler()->nextInval(rect, m_currentScale);