diff options
author | Chris Craik <ccraik@google.com> | 2011-10-20 08:50:56 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2011-10-20 11:03:44 -0700 |
commit | 458b4b11924c3bcc70dcdd3d69f64a855870e72d (patch) | |
tree | 8a0d1f7982d923718d77a0cef051248d81f81829 /Source/WebCore/platform/graphics/android | |
parent | 94cabcbdc194d4a28d31cfb82be98a287b8cf1c9 (diff) | |
download | external_webkit-458b4b11924c3bcc70dcdd3d69f64a855870e72d.zip external_webkit-458b4b11924c3bcc70dcdd3d69f64a855870e72d.tar.gz external_webkit-458b4b11924c3bcc70dcdd3d69f64a855870e72d.tar.bz2 |
Mark tiles dirty, even if repainting
bug:5484131
The current repainting tile could avoid being painted with the newest picture if
it was repainting, since markAsDirty wouldn't change its state
Change-Id: I4f3de909984d1ceb872bf294a1da211ad87c9bcc
Diffstat (limited to 'Source/WebCore/platform/graphics/android')
-rw-r--r-- | Source/WebCore/platform/graphics/android/BaseTile.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/WebCore/platform/graphics/android/BaseTile.cpp b/Source/WebCore/platform/graphics/android/BaseTile.cpp index f0b0dd2..98eb623 100644 --- a/Source/WebCore/platform/graphics/android/BaseTile.cpp +++ b/Source/WebCore/platform/graphics/android/BaseTile.cpp @@ -190,13 +190,14 @@ void BaseTile::markAsDirty(int unsigned pictureCount, // current paint m_state = Unpainted; } else if (m_state != Unpainted) { - // layer tiles and prefetch page tiles are potentially marked dirty - // while in the process of painting, due to not using an update lock - // TODO: fix it so that they can paint while deferring the markAsDirty // call (or block updates) XLOG("Warning: tried to mark tile %p at %d, %d islayertile %d as dirty, state %d, page %p", this, m_x, m_y, isLayerTile(), m_state, m_page); + + // prefetch tiles can be marked dirty while in the process of painting, + // due to not using an update lock. force them to fail validate step. + m_state = Unpainted; } } |