Bug 85438

Summary: Flash of white when exiting full screen HTML5 video
Product: WebKit Reporter: Jer Noble <jer.noble>
Component: New BugsAssignee: Jer Noble <jer.noble>
Status: RESOLVED FIXED    
Severity: Normal Keywords: InRadar, PlatformOnly
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch sam: review+

Description Jer Noble 2012-05-02 17:28:51 PDT
Flash of white when exiting full screen HTML5 video
Comment 1 Jer Noble 2012-05-02 17:31:51 PDT
Created attachment 139923 [details]
Patch
Comment 2 Jer Noble 2012-05-02 17:32:02 PDT
<rdar://problem/11364210>
Comment 3 Maciej Stachowiak 2012-05-02 23:30:05 PDT
Comment on attachment 139923 [details]
Patch

r=me

Is it possible to make a test for this?
Comment 4 Jer Noble 2012-05-03 09:10:54 PDT
We could make a manual test.  But there's no way to write a DRT or WKRT automated test for this.
Comment 5 Jer Noble 2012-05-04 13:55:42 PDT
After making a test case for this patch, i see that the flash is still occurring. (though less often, & with a shorter flash.)  Pulling this patch and investigating further.
Comment 6 Jer Noble 2012-05-04 14:17:25 PDT
This looks like a problem with the TiledCoreAnimationDrawingAreaProxy.  When attempting to sync up drawing between the UIProcess and the WebProcess, this patch calls WebPageProxy::forceRepaint(), which in turn calls m_drawingArea->waitForBackingStoreUpdateOnNextPaint();

The drawing area in question is a TiledCoreAnimationDrawingAreaProxy, and it doesn't implement waitForBackingStoreUpdateOnNextPaint(), it gets effectively ignored.
Comment 7 Jer Noble 2012-05-04 14:23:12 PDT
Indeed, if I disable tiled drawing and full page acceleration, the flashing problem disappears.
Comment 8 Jer Noble 2012-05-04 16:24:55 PDT
Created attachment 140359 [details]
Patch
Comment 9 Jer Noble 2012-05-04 16:30:24 PDT
Committed r116188: <http://trac.webkit.org/changeset/116188>