White flash when entering full-screen using element.webkitRequestFullScreen()
authorjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 26 Sep 2011 19:51:15 +0000 (19:51 +0000)
committerjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 26 Sep 2011 19:51:15 +0000 (19:51 +0000)
commit17a58ceae78355c13d67a8c93ee2f29355dd9c38
treef184f848710980a2390339f5088e19402ffec381
parent162ff9c6aecf3884972117bbb2dddf03112597ab
White flash when entering full-screen using element.webkitRequestFullScreen()
https://bugs.webkit.org/show_bug.cgi?id=68481

Reviewed by Simon Fraser.

Source/WebCore:

No new tests; covered by existing full screen tests.

During an animation, renderers may try to paint into the FullScreenRenderer's
GraphicsLayer, and an optimization we previously added for the FullScreenRenderer's
background will cause these paints to fail. Remove this optimization in
containsPaintedContent, and taking non-composited elements into full screen will
animate correctly.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::containsPaintedContent):

Source/WebKit2:

Do not re-enable screen updates after exiting compositing mode until a repaint has completed.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController exitAcceleratedCompositingMode]):
(continueExitCompositingModeAfterRepaintCallback):
(-[WKFullScreenWindowController _continueExitCompositingModeAfterRepaint]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderLayerBacking.cpp
Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm