[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