In SVN r142137, I replaced a syncToCurrentMessage() call with updateSuspendScreenUpdateState() in some cases, which internally calls the same function. Unfortunately, when I optimized updateSuspendScreenUpdateState() to only sync when the state is actually being changed, I omitted an adaptation of adoptAsFrontState() which would rely on this sync but now didn't always perform it. This caused a bad race condition as tile buffers could now be accessed from the WebKit thread and the UI thread at the same time. The patch below fixes it by (optionally) letting the caller of updateSuspendScreenUpdateState() know whether a sync was performed, and adapt adoptAsFrontState() accordingly.
Created attachment 188428 [details] Patch
Comment on attachment 188428 [details] Patch Ok.
Comment on attachment 188428 [details] Patch Rejecting attachment 188428 [details] from commit-queue. New failing tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html Full output: http://queues.webkit.org/results/16621963
Comment on attachment 188428 [details] Patch This patch only affects two files in Source/WebKit/blackberry which are not known to the inside world of WebCore or any other port. It is therefore extremely unlikely that the patch breaks a Chromium test. Setting back to cq+, hopefully it'll work now.
Comment on attachment 188428 [details] Patch Clearing flags on attachment: 188428 Committed r143466: <http://trac.webkit.org/changeset/143466>
All reviewed patches have been landed. Closing bug.