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

andersca at apple.com andersca at apple.com
Mon Feb 21 00:40:43 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 3797212382c70e18e5da5562b1e9d80f71cbcd94
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Feb 2 21:49:09 2011 +0000

    2011-02-02  Anders Carlsson  <andersca at apple.com>
    
            Reviewed by Sam Weinig.
    
            The drawing area proxy should keep track of the accelerated compositing state
            https://bugs.webkit.org/show_bug.cgi?id=53624
    
            * UIProcess/DrawingAreaProxyImpl.cpp:
            (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
            Initialize m_isInAcceleratedCompositingMode to false.
    
            (WebKit::DrawingAreaProxyImpl::paint):
            Don't try to paint if we're in accelerated compositing mode.
    
            (WebKit::DrawingAreaProxyImpl::didSetSize):
            Bail if we're in accelerated compositing mode.
    
            (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
            Set m_isInAcceleratedCompositingMode to true, null out the backing store.
    
            (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
            Set m_isInAcceleratedCompositingMode back to false.
    
            (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
            Assert that we're not in accelerated compositing mode.
    
            * UIProcess/DrawingAreaProxyImpl.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index 2acbc8b..02e7c4f 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -1,3 +1,31 @@
+2011-02-02  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        The drawing area proxy should keep track of the accelerated compositing state
+        https://bugs.webkit.org/show_bug.cgi?id=53624
+
+        * UIProcess/DrawingAreaProxyImpl.cpp:
+        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+        Initialize m_isInAcceleratedCompositingMode to false.
+
+        (WebKit::DrawingAreaProxyImpl::paint):
+        Don't try to paint if we're in accelerated compositing mode.
+
+        (WebKit::DrawingAreaProxyImpl::didSetSize):
+        Bail if we're in accelerated compositing mode.
+
+        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+        Set m_isInAcceleratedCompositingMode to true, null out the backing store.
+
+        (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+        Set m_isInAcceleratedCompositingMode back to false.
+
+        (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+        Assert that we're not in accelerated compositing mode.
+
+        * UIProcess/DrawingAreaProxyImpl.h:
+
 2011-02-02  Timothy Hatcher  <timothy at apple.com>
 
         Give the Web Process access to the Safari RSS preferences.
diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
index 26ae44e..e47de04 100644
--- a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
+++ b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
@@ -50,6 +50,7 @@ PassOwnPtr<DrawingAreaProxyImpl> DrawingAreaProxyImpl::create(WebPageProxy* webP
 DrawingAreaProxyImpl::DrawingAreaProxyImpl(WebPageProxy* webPageProxy)
     : DrawingAreaProxy(DrawingAreaInfo::Impl, webPageProxy)
     , m_isWaitingForDidSetSize(false)
+    , m_isInAcceleratedCompositingMode(false)
 {
 }
 
@@ -64,6 +65,8 @@ void DrawingAreaProxyImpl::paint(BackingStore::PlatformGraphicsContext context,
     if (!m_backingStore)
         return;
 
+    ASSERT(!m_isInAcceleratedCompositingMode);
+
     if (m_isWaitingForDidSetSize) {
         if (!m_webPageProxy->isValid())
             return;
@@ -142,23 +145,34 @@ void DrawingAreaProxyImpl::didSetSize(const UpdateInfo& updateInfo)
     if (m_size != updateInfo.viewSize)
         sendSetSize();
 
-    m_backingStore = nullptr;
+    if (m_isInAcceleratedCompositingMode)
+        return;
 
+    m_backingStore = nullptr;
     incorporateUpdate(updateInfo);
 }
 
 void DrawingAreaProxyImpl::enterAcceleratedCompositingMode(const LayerTreeContext& layerTreeContext)
 {
+    ASSERT(!m_isInAcceleratedCompositingMode);
+    m_isInAcceleratedCompositingMode = true;
+
+    m_backingStore = nullptr;
     m_webPageProxy->enterAcceleratedCompositingMode(layerTreeContext);
 }
 
 void DrawingAreaProxyImpl::exitAcceleratedCompositingMode()
 {
+    ASSERT(m_isInAcceleratedCompositingMode);
+    m_isInAcceleratedCompositingMode = false;
+
     m_webPageProxy->exitAcceleratedCompositingMode();
 }
 
 void DrawingAreaProxyImpl::incorporateUpdate(const UpdateInfo& updateInfo)
 {
+    ASSERT(!m_isInAcceleratedCompositingMode);
+
     if (updateInfo.updateRectBounds.isEmpty())
         return;
 
diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h
index 870a20b..c7c6d92 100644
--- a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h
+++ b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h
@@ -66,6 +66,9 @@ private:
     // Used to throttle SetSize messages so we don't send them faster than the Web process can handle.
     bool m_isWaitingForDidSetSize;
 
+    // Whether we're in accelerated compositing mode or not.
+    bool m_isInAcceleratedCompositingMode;
+
     OwnPtr<BackingStore> m_backingStore;
 };
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list