Bug 109863 - [BlackBerry] Make sure to always sync before reusing backingstore tiles
Summary: [BlackBerry] Make sure to always sync before reusing backingstore tiles
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit BlackBerry (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Jakob Petsovits
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-14 14:22 PST by Jakob Petsovits
Modified: 2013-02-20 08:45 PST (History)
8 users (show)

See Also:


Attachments
Patch (4.83 KB, patch)
2013-02-14 14:25 PST, Jakob Petsovits
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jakob Petsovits 2013-02-14 14:22:19 PST
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.
Comment 1 Jakob Petsovits 2013-02-14 14:25:24 PST
Created attachment 188428 [details]
Patch
Comment 2 Rob Buis 2013-02-14 14:30:56 PST
Comment on attachment 188428 [details]
Patch

Ok.
Comment 3 WebKit Review Bot 2013-02-19 14:55:16 PST
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 4 Jakob Petsovits 2013-02-20 08:25:23 PST
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 5 WebKit Review Bot 2013-02-20 08:45:16 PST
Comment on attachment 188428 [details]
Patch

Clearing flags on attachment: 188428

Committed r143466: <http://trac.webkit.org/changeset/143466>
Comment 6 WebKit Review Bot 2013-02-20 08:45:19 PST
All reviewed patches have been landed.  Closing bug.