[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