[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

simon.fraser at apple.com simon.fraser at apple.com
Sun Feb 20 22:57:54 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit bfbc95797e47fd4217f2c8a70da7d1f4ab8eb0ab
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jan 14 18:53:12 2011 +0000

    2011-01-14  Simon Fraser  <simon.fraser at apple.com>
    
            Reviewed by Anders Carlsson.
    
            Refactor some FrameView::syncCompositingState code
            https://bugs.webkit.org/show_bug.cgi?id=52459
    
            Refactor some code in FrameView related to synchronizing
            compositing layer state.
    
            * page/FrameView.cpp:
            (WebCore::FrameView::syncCompositingStateForThisFrame):
            (WebCore::FrameView::syncCompositingStateRecursive):
            (WebCore::FrameView::paintContents):
            * page/FrameView.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75803 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index abffeb6..d0b1b96 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2011-01-14  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        Refactor some FrameView::syncCompositingState code
+        https://bugs.webkit.org/show_bug.cgi?id=52459
+
+        Refactor some code in FrameView related to synchronizing
+        compositing layer state.
+        
+        * page/FrameView.cpp:
+        (WebCore::FrameView::syncCompositingStateForThisFrame):
+        (WebCore::FrameView::syncCompositingStateRecursive):
+        (WebCore::FrameView::paintContents):
+        * page/FrameView.h:
+
 2011-01-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav at nokia.com>
 
         Reviewed by Eric Seidel.
@@ -1834,7 +1850,6 @@
         (WebCore::firstPositionInOrBeforeNode): Added.
         (WebCore::lastPositionInOrAfterNode): Added.
 
->>>>>>> .r75734
 2011-01-12  Sam Weinig  <sam at webkit.org>
 
         Another build fix.
diff --git a/Source/WebCore/page/FrameView.cpp b/Source/WebCore/page/FrameView.cpp
index 77e1976..2c42ab4 100644
--- a/Source/WebCore/page/FrameView.cpp
+++ b/Source/WebCore/page/FrameView.cpp
@@ -554,6 +554,28 @@ void FrameView::updateCompositingLayers()
 #endif
 }
 
+void FrameView::syncCompositingStateForThisFrame()
+{
+    RenderView* view = m_frame->contentRenderer();
+    GraphicsLayer* rootLayer = view ? view->compositor()->rootPlatformLayer() : 0;
+    if (!rootLayer)
+        return;
+
+    rootLayer->syncCompositingState();
+
+#if ENABLE(FULLSCREEN_API)
+    // The fullScreenRenderer's graphicsLayer  has been re-parented, and the above recursive syncCompositingState
+    // call will not cause the subtree under it to repaint.  Explicitly call the syncCompositingState on 
+    // the fullScreenRenderer's graphicsLayer here:
+    Document* document = m_frame->document();
+    if (isDocumentRunningFullScreenAnimation(document)) {
+        RenderLayerBacking* backing = document->fullScreenRenderer()->layer()->backing();
+        if (GraphicsLayer* fullScreenLayer = backing->graphicsLayer())
+            fullScreenLayer->syncCompositingState();
+    }
+#endif    
+}
+
 void FrameView::setNeedsOneShotDrawingSynchronization()
 {
     Page* page = frame() ? frame()->page() : 0;
@@ -643,21 +665,8 @@ bool FrameView::syncCompositingStateRecursive()
     if (needsLayout())
         return false;
     
-    if (GraphicsLayer* rootLayer = contentRenderer->compositor()->rootPlatformLayer())
-        rootLayer->syncCompositingState();
+    syncCompositingStateForThisFrame();
     
-#if ENABLE(FULLSCREEN_API)
-    // The fullScreenRenderer's graphicsLayer  has been re-parented, and the above recursive syncCompositingState
-    // call will not cause the subtree under it to repaint.  Explicitly call the syncCompositingState on 
-    // the fullScreenRenderer's graphicsLayer here:
-    Document* document = m_frame->document();
-    if (isDocumentRunningFullScreenAnimation(document)) {
-        RenderLayerBacking* backing = document->fullScreenRenderer()->layer()->backing();
-        if (GraphicsLayer* fullScreenLayer = backing->graphicsLayer())
-            fullScreenLayer->syncCompositingState();
-    }
-#endif    
-
     bool allSubframesSynced = true;
     const HashSet<RefPtr<Widget> >* viewChildren = children();
     HashSet<RefPtr<Widget> >::const_iterator end = viewChildren->end();
@@ -2154,20 +2163,8 @@ void FrameView::paintContents(GraphicsContext* p, const IntRect& rect)
         return;
 
 #if USE(ACCELERATED_COMPOSITING)
-    if (!p->paintingDisabled()) {
-        if (GraphicsLayer* rootLayer = contentRenderer->compositor()->rootPlatformLayer())
-            rootLayer->syncCompositingState();
-#if ENABLE(FULLSCREEN_API)
-        // The fullScreenRenderer's graphicsLayer  has been re-parented, and the above recursive syncCompositingState
-        // call will not cause the subtree under it to repaint.  Explicitly call the syncCompositingState on 
-        // the fullScreenRenderer's graphicsLayer here:
-        if (isDocumentRunningFullScreenAnimation(document)) {
-            RenderLayerBacking* backing = document->fullScreenRenderer()->layer()->backing();
-            if (GraphicsLayer* fullScreenLayer = backing->graphicsLayer())
-                fullScreenLayer->syncCompositingState();
-        }
-#endif
-    }
+    if (!p->paintingDisabled())
+        syncCompositingStateForThisFrame();
 #endif
 
     PaintBehavior oldPaintBehavior = m_paintBehavior;
diff --git a/Source/WebCore/page/FrameView.h b/Source/WebCore/page/FrameView.h
index a2f5815..65a3a85 100644
--- a/Source/WebCore/page/FrameView.h
+++ b/Source/WebCore/page/FrameView.h
@@ -99,6 +99,7 @@ public:
 
 #if USE(ACCELERATED_COMPOSITING)
     void updateCompositingLayers();
+    void syncCompositingStateForThisFrame();
 
     // Called when changes to the GraphicsLayer hierarchy have to be synchronized with
     // content rendered via the normal painting path.

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list