Bug 91686

Summary: [BlackBerry] Suspend when there's no target buffer until an external compositor is set
Product: WebKit Reporter: Jakob Petsovits <jpetsovits>
Component: WebKit BlackBerryAssignee: Jakob Petsovits <jpetsovits>
Status: RESOLVED FIXED    
Severity: Normal CC: manyoso, mifenton, staikos, tonikitoo, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 91644    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch as r+ed above, with more verbose commit message none

Description Jakob Petsovits 2012-07-18 15:57:14 PDT
If we don't have a client window (i.e. rendering to GL directly), and a WebPageCompositor is only set after a rendering operation (e.g. a loadData() call that doesn't need to wait for networking), then we'll try to render to BackingStorePrivate::buffer() which doesn't exist at this point. That's bad, and gets us various assertions and possibly worse. Fix it by starting in a screen-suspended state and only resuming screen and backingstore once a compositor is actually set.
Comment 1 Jakob Petsovits 2012-07-18 16:01:45 PDT
Created attachment 153123 [details]
Patch
Comment 2 Jakob Petsovits 2012-07-18 16:03:33 PDT
Depends on the robustified suspend/resume behavior in bug 91644, therefore I didn't set a commit-queue request yet.
Comment 3 Jakob Petsovits 2012-07-19 12:30:47 PDT
Comment on attachment 153123 [details]
Patch

Bug 91644 has been pushed, so this one's good to go if I get a positive review. Setting cq? flag in addition to the r?. Preferred reviewer is George Staikos as this patch is a reimplementation (slightly different, imho slightly better) of an original suggestion of his, but if others feel it's straightforward enough then I might take somebody else's review as well.
Comment 4 Antonio Gomes 2012-07-19 13:51:15 PDT
Comment on attachment 153123 [details]
Patch

I am not in love with this, but discussed with Jakob offline.

Jakob, please update the commit message with the details you said on IRC (right timing of things, etc)
Comment 5 Jakob Petsovits 2012-07-19 14:27:25 PDT
Created attachment 153344 [details]
Patch as r+ed above, with more verbose commit message

Antonio, please cq+ if the commit message is more what you were thinking of. Thanks :)
Comment 6 WebKit Review Bot 2012-07-19 21:08:33 PDT
Comment on attachment 153344 [details]
Patch as r+ed above, with more verbose commit message

Clearing flags on attachment: 153344

Committed r123172: <http://trac.webkit.org/changeset/123172>
Comment 7 WebKit Review Bot 2012-07-19 21:08:36 PDT
All reviewed patches have been landed.  Closing bug.