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

andersca at apple.com andersca at apple.com
Sun Feb 20 23:17:41 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 80bbda7bc532c6cac446a36938088a14be06aa29
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jan 19 19:26:55 2011 +0000

    2011-01-19  Chris Marrin  <cmarrin at apple.com>
    
            Reviewed by Simon Fraser.
    
            WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
            https://bugs.webkit.org/show_bug.cgi?id=52695
    
            Added a hostingLayer as the parent of the existing drawingLayer.
            The hostingLayer is now the root which is passed to the
            remote context. It never changes except to track the size
            of the window. The backingLayer is now a child of the
            hostingLayer, which allow it to switch between tiled and
            non-tiled.
    
            I also now give back accurate settings for debug borders and
            repaint counters.
    
            * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
            (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
            (WebKit::LayerBackedDrawingArea::setSize):
            (WebKit::LayerBackedDrawingArea::showDebugBorders):
            (WebKit::LayerBackedDrawingArea::showRepaintCounter):
            * WebProcess/WebPage/LayerBackedDrawingArea.h:
            * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
            (WebKit::LayerBackedDrawingArea::platformInit):
            (WebKit::LayerBackedDrawingArea::attachCompositingContext):
            (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index b741dd9..00a7835 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -28,6 +28,31 @@
 
 2011-01-19  Anders Carlsson  <andersca at apple.com>
 
+        Reviewed by Sam Weinig.
+
+        Send a new SetSize message if the size differs from the current size
+        https://bugs.webkit.org/show_bug.cgi?id=52728
+
+        * UIProcess/DrawingAreaProxy.h:
+        (WebKit::DrawingAreaProxy::didSetSize):
+        Add UpdateInfo parameter.
+
+        * UIProcess/DrawingAreaProxy.messages.in:
+        Add UpdateInfo parameter to the DidSetSize message.
+
+        * UIProcess/DrawingAreaProxyImpl.cpp:
+        (WebKit::DrawingAreaProxyImpl::didSetSize):
+        If the view size differs from the current size send another SetSize message.
+
+        * UIProcess/DrawingAreaProxyImpl.h:
+        Add UpdateInfo parameter to didSetSize.
+
+        * WebProcess/WebPage/DrawingAreaImpl.cpp:
+        (WebKit::DrawingAreaImpl::setSize):
+        The DidSetSize message now takes an UpdateInfo parameter.
+
+2011-01-19  Anders Carlsson  <andersca at apple.com>
+
         Reviewed by Darin Adler.
 
         Throttle sending of SetSize messages
diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxy.h b/Source/WebKit2/UIProcess/DrawingAreaProxy.h
index a58a0d9..6bebe12 100644
--- a/Source/WebKit2/UIProcess/DrawingAreaProxy.h
+++ b/Source/WebKit2/UIProcess/DrawingAreaProxy.h
@@ -89,7 +89,7 @@ private:
     // CoreIPC message handlers.
     // FIXME: These should be pure virtual.
     virtual void update(const UpdateInfo&) { }
-    virtual void didSetSize() { }
+    virtual void didSetSize(const UpdateInfo&) { }
 };
 
 } // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in b/Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in
index 7e340d4..ec065c7 100644
--- a/Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in
+++ b/Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in
@@ -22,5 +22,5 @@
 
 messages -> DrawingAreaProxy {
     Update(WebKit::UpdateInfo updateInfo)
-    DidSetSize()
+    DidSetSize(WebKit::UpdateInfo updateInfo)
 }
diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
index 49d60bb..c5f912f 100644
--- a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
+++ b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
@@ -105,12 +105,13 @@ void DrawingAreaProxyImpl::update(const UpdateInfo& updateInfo)
     m_webPageProxy->process()->send(Messages::DrawingArea::DidUpdate(), m_webPageProxy->pageID());
 }
 
-void DrawingAreaProxyImpl::didSetSize()
+void DrawingAreaProxyImpl::didSetSize(const UpdateInfo& updateInfo)
 {
     ASSERT(m_isWaitingForDidSetSize);
     m_isWaitingForDidSetSize = false;
 
-    // FIXME: Send a new SetSize message if needed.
+    if (m_size != updateInfo.viewSize)
+        sendSetSize();
 
     m_backingStore = nullptr;
 }
diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h
index b8e39c2..fd0e4c3 100644
--- a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h
+++ b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h
@@ -52,7 +52,7 @@ private:
 
     // CoreIPC message handlers
     virtual void update(const UpdateInfo&);
-    virtual void didSetSize();
+    virtual void didSetSize(const UpdateInfo&);
     
     void incorporateUpdate(const UpdateInfo&);
     void sendSetSize();
diff --git a/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp b/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
index fc484e5..a5dbf9a 100644
--- a/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
@@ -140,9 +140,12 @@ void DrawingAreaImpl::setSize(const IntSize& size)
     m_webPage->setSize(size);
     m_webPage->layoutIfNeeded();
 
+    UpdateInfo updateInfo;
+    updateInfo.viewSize = m_webPage->size();
+
     // FIXME: Repaint.
 
-    m_webPage->send(Messages::DrawingAreaProxy::DidSetSize());
+    m_webPage->send(Messages::DrawingAreaProxy::DidSetSize(updateInfo));
 }
 
 void DrawingAreaImpl::didUpdate()

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list