diff options
author | Chris Craik <ccraik@google.com> | 2012-05-11 16:03:54 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2012-05-14 11:15:04 -0700 |
commit | 425ef23631e3468c61a5740dd4e4bae3052cec48 (patch) | |
tree | 756f4ce43978ca025638653a06024d1d8661ffce /Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp | |
parent | d236e597b13a93d21eafa2edeacb5092076937e1 (diff) | |
download | external_webkit-425ef23631e3468c61a5740dd4e4bae3052cec48.zip external_webkit-425ef23631e3468c61a5740dd4e4bae3052cec48.tar.gz external_webkit-425ef23631e3468c61a5740dd4e4bae3052cec48.tar.bz2 |
Fix stale tile problem
bug:6483791
Update tile painter of outstanding operations
Always schedule a paint operation if we can't update an outstanding one
Remove old interruption code, as it's no longer used
Change-Id: Ibcdb142d3d9b4ee7a52c78b5c121056089913211
Diffstat (limited to 'Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp b/Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp index 2316014..41d6709 100644 --- a/Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp +++ b/Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp @@ -58,7 +58,6 @@ TransferQueue::TransferQueue(bool useMinimalMem) , m_fboID(0) , m_sharedSurfaceTextureId(0) , m_hasGLContext(true) - , m_interruptedByRemovingOp(false) , m_currentDisplay(EGL_NO_DISPLAY) , m_currentUploadType(DEFAULT_UPLOAD_TYPE) { @@ -216,17 +215,8 @@ void TransferQueue::blitTileFromQueue(GLuint fboID, TileTexture* destTex, #endif } -void TransferQueue::interruptTransferQueue(bool interrupt) -{ - m_transferQueueItemLocks.lock(); - m_interruptedByRemovingOp = interrupt; - if (m_interruptedByRemovingOp) - m_transferQueueItemCond.signal(); - m_transferQueueItemLocks.unlock(); -} - // This function must be called inside the m_transferQueueItemLocks, for the -// wait, m_interruptedByRemovingOp and getHasGLContext(). +// wait and getHasGLContext(). // Only called by updateQueueWithBitmap() for now. bool TransferQueue::readyForUpdate() { @@ -234,13 +224,8 @@ bool TransferQueue::readyForUpdate() return false; // Don't use a while loop since when the WebView tear down, the emptyCount // will still be 0, and we bailed out b/c of GL context lost. - if (!m_emptyItemCount) { - if (m_interruptedByRemovingOp) - return false; + if (!m_emptyItemCount) m_transferQueueItemCond.wait(m_transferQueueItemLocks); - if (m_interruptedByRemovingOp) - return false; - } if (!getHasGLContext()) return false; |