WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
103969
[BlackBerry] On taking over a backingstore, reset the previous page's tiles
https://bugs.webkit.org/show_bug.cgi?id=103969
Summary
[BlackBerry] On taking over a backingstore, reset the previous page's tiles
Jakob Petsovits
Reported
2012-12-03 21:03:40 PST
With buffers being explicitly reclaimed from backingstore geometries, we have to make sure that the previously active backingstore releases its front buffers for use in the newly active one. Previously, this clearing of backingstore tiles occurred after the dormant backingstore is reactivated, the backingstore active in the meantime would just use the back buffer anyway and leave the dormant one with dangling pointers that would just not be shown. Now that we have a counted list of back buffers, we need to be explicit about this thing upfront. The patch below fixes a crash that would occur after switching ownership of the backingstore to a different WebPage.
Attachments
Patch
(2.70 KB, patch)
2012-12-03 21:10 PST
,
Jakob Petsovits
no flags
Details
Formatted Diff
Diff
Patch
(5.82 KB, patch)
2012-12-05 13:23 PST
,
Jakob Petsovits
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Jakob Petsovits
Comment 1
2012-12-03 21:10:40 PST
Created
attachment 177410
[details]
Patch
WebKit Review Bot
Comment 2
2012-12-04 00:09:11 PST
Comment on
attachment 177410
[details]
Patch Clearing flags on attachment: 177410 Committed
r136483
: <
http://trac.webkit.org/changeset/136483
>
WebKit Review Bot
Comment 3
2012-12-04 00:09:15 PST
All reviewed patches have been landed. Closing bug.
Jakob Petsovits
Comment 4
2012-12-05 13:15:27 PST
The above patch didn't cover all the cases; in particular, it did not take into account that resetTiles() would sometimes return early without having swapped the tiles and thus reclaiming them. This would cause a crash when switching back from a tab that had already been made invisible. The follow-up patch below removes the early returns, because it's safe to swap in an empty geometry at any time and we should always take the chance when we get it. Also the code that calls resetTiles() on an owner switch should be put right into setCurrentBackingStoreOwner(), so that it will also release the buffers when the BackingStore is destroyed (the function is then called with 0).
Jakob Petsovits
Comment 5
2012-12-05 13:23:44 PST
Created
attachment 177817
[details]
Patch
Adam Treat
Comment 6
2012-12-05 13:25:17 PST
Comment on
attachment 177817
[details]
Patch Good stuff!
WebKit Review Bot
Comment 7
2012-12-05 14:13:51 PST
Comment on
attachment 177817
[details]
Patch Clearing flags on attachment: 177817 Committed
r136761
: <
http://trac.webkit.org/changeset/136761
>
WebKit Review Bot
Comment 8
2012-12-05 14:13:54 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug