Title: [87662] branches/safari-534-branch/Source/WebKit2

Diff

Modified: branches/safari-534-branch/Source/WebKit2/ChangeLog (87661 => 87662)


--- branches/safari-534-branch/Source/WebKit2/ChangeLog	2011-05-30 03:37:14 UTC (rev 87661)
+++ branches/safari-534-branch/Source/WebKit2/ChangeLog	2011-05-30 04:14:24 UTC (rev 87662)
@@ -1,5 +1,32 @@
 2011-05-29  Mark Rowe  <[email protected]>
 
+        Merge r87652.
+
+    2011-05-29  Jer Noble  <[email protected]>
+
+        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  Mark Rowe  <[email protected]>
+
         Merge r87637.
 
     2011-05-29  Darin Adler  <[email protected]>

Modified: branches/safari-534-branch/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm (87661 => 87662)


--- branches/safari-534-branch/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm	2011-05-30 03:37:14 UTC (rev 87661)
+++ branches/safari-534-branch/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm	2011-05-30 04:14:24 UTC (rev 87662)
@@ -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: branches/safari-534-branch/Source/WebKit2/WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm (87661 => 87662)


--- branches/safari-534-branch/Source/WebKit2/WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm	2011-05-30 03:37:14 UTC (rev 87661)
+++ branches/safari-534-branch/Source/WebKit2/WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm	2011-05-30 04:14:24 UTC (rev 87662)
@@ -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
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to