Title: [87652] trunk/Source/WebKit2
- Revision
- 87652
- Author
- jer.no...@apple.com
- Date
- 2011-05-29 14:28:24 -0700 (Sun, 29 May 2011)
Log Message
2011-05-29 Jer Noble <jer.no...@apple.com>
Reviewed by Simon Fraser.
REGRESSION (r86924): webkitRequestFullScreen does not work properly (black screen, can’t interact)
https://bugs.webkit.org/show_bug.cgi?id=61710
When taking the documentElement full screen, we don't create a RenderFullScreen
object and thus never enter accelerated compositing mode for the animation. Tell
the WKFullScreenWindowController to enter accelerated compositing mode anyway
(with an empty layer context) so as to fulfill its expectations and cause the
full screen animation to complete.
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Added a
comment explaining when we expect the animation to complete.
(-[WKFullScreenWindowController enterAcceleratedCompositingMode:WebKit::]):
Remove an ASSERT which is no longer valid.
* WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
(WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation): Tell the UIProcess
to enter then exit full-screen mode.
(WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (87651 => 87652)
--- trunk/Source/WebKit2/ChangeLog 2011-05-29 21:01:13 UTC (rev 87651)
+++ trunk/Source/WebKit2/ChangeLog 2011-05-29 21:28:24 UTC (rev 87652)
@@ -1,3 +1,26 @@
+2011-05-29 Jer Noble <jer.no...@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION (r86924): webkitRequestFullScreen does not work properly (black screen, can’t interact)
+ https://bugs.webkit.org/show_bug.cgi?id=61710
+
+ When taking the documentElement full screen, we don't create a RenderFullScreen
+ object and thus never enter accelerated compositing mode for the animation. Tell
+ the WKFullScreenWindowController to enter accelerated compositing mode anyway
+ (with an empty layer context) so as to fulfill its expectations and cause the
+ full screen animation to complete.
+
+ * UIProcess/mac/WKFullScreenWindowController.mm:
+ (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Added a
+ comment explaining when we expect the animation to complete.
+ (-[WKFullScreenWindowController enterAcceleratedCompositingMode:WebKit::]):
+ Remove an ASSERT which is no longer valid.
+ * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
+ (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation): Tell the UIProcess
+ to enter then exit full-screen mode.
+ (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto.
+
2011-05-29 Darin Adler <da...@apple.com>
Reviewed by Dan Bernstein.
Modified: trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm (87651 => 87652)
--- trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm 2011-05-29 21:01:13 UTC (rev 87651)
+++ trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm 2011-05-29 21:28:24 UTC (rev 87652)
@@ -272,6 +272,8 @@
#endif
[self _manager]->didEnterFullScreen();
}
+
+ // Complete the animation once -(void)exitCompositingMode is called.
}
- (void)exitFullScreen
@@ -362,8 +364,6 @@
{
if (_layerHostingView)
return;
-
- ASSERT(!layerTreeContext.isEmpty());
// Create an NSView that will host our layer tree.
_layerHostingView.adoptNS([[NSView alloc] initWithFrame:[[self window] frame]]);
Modified: trunk/Source/WebKit2/WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm (87651 => 87652)
--- trunk/Source/WebKit2/WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm 2011-05-29 21:01:13 UTC (rev 87651)
+++ trunk/Source/WebKit2/WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm 2011-05-29 21:28:24 UTC (rev 87652)
@@ -190,8 +190,10 @@
if (!m_rootLayer || m_rootLayer->children().isEmpty()) {
// If we don't have a root layer, we can't animate in and out of full screen
+ m_page->send(Messages::WebFullScreenManagerProxy::EnterAcceleratedCompositingMode(m_layerTreeContext));
this->beganEnterFullScreenAnimation();
this->finishedEnterFullScreenAnimation(true);
+ m_page->send(Messages::WebFullScreenManagerProxy::ExitAcceleratedCompositingMode());
return;
}
@@ -211,8 +213,10 @@
if (!m_rootLayer || m_rootLayer->children().isEmpty()) {
// If we don't have a root layer, we can't animate in and out of full screen
+ m_page->send(Messages::WebFullScreenManagerProxy::EnterAcceleratedCompositingMode(m_layerTreeContext));
this->beganExitFullScreenAnimation();
this->finishedExitFullScreenAnimation(true);
+ m_page->send(Messages::WebFullScreenManagerProxy::ExitAcceleratedCompositingMode());
return;
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes