[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