<rdar://problem/9005982> Flash of white when a WKView with composited content moves...
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 Mar 2011 03:57:27 +0000 (03:57 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 Mar 2011 03:57:27 +0000 (03:57 +0000)
https://bugs.webkit.org/show_bug.cgi?id=57522

Reviewed by Maciej Stachowiak.

* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): Invalidate the current
backing store state, so that we get an update as soon as the page enters compositing mode
next.
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Added a call to
LayerTreeHost::forceRepaint() in order to flush and synchronize the layers
before sending the update message to the UI process.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@82543 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp

index ce90280a86a75f4cf9c0dfb59cf252bd3c3381ea..a233cb4e765d44187acf47f20667f601cbeafdc2 100644 (file)
@@ -1,3 +1,19 @@
+2011-03-30  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Maciej Stachowiak.
+
+        <rdar://problem/9005982> Flash of white when a WKView with composited content moves on-screen
+        https://bugs.webkit.org/show_bug.cgi?id=57522
+
+        * UIProcess/DrawingAreaProxyImpl.cpp:
+        (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): Invalidate the current
+        backing store state, so that we get an update as soon as the page enters compositing mode
+        next.
+        * WebProcess/WebPage/DrawingAreaImpl.cpp:
+        (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Added a call to
+        LayerTreeHost::forceRepaint() in order to flush and synchronize the layers
+        before sending the update message to the UI process.
+
 2011-03-30  Sam Weinig  <sam@webkit.org>
 
         Reviewed by Anders Carlsson.
index 0ee42f480b185063f36b4c3029073ac1b8720d8d..6bd720e2f72cff281c21db2d5300bc4ff7722726 100644 (file)
@@ -306,6 +306,7 @@ void DrawingAreaProxyImpl::exitAcceleratedCompositingMode()
 
     m_layerTreeContext = LayerTreeContext();    
     m_webPageProxy->exitAcceleratedCompositingMode();
+    backingStoreStateDidChange(DoNotRespondImmediately);
 }
 #endif
 
index 47acc7a638149a28f1b6c42a926a16ad8a4e8d3e..d9d8195321b2550e68c69599eda11946c204594f 100644 (file)
@@ -318,6 +318,7 @@ void DrawingAreaImpl::sendDidUpdateBackingStoreState()
             // message back to the UI process, but the updated layer tree context
             // will be sent back in the DidUpdateBackingStoreState message.
             m_layerTreeHost->setShouldNotifyAfterNextScheduledLayerFlush(false);
+            m_layerTreeHost->forceRepaint();
         }
     }