Changeset 90484 in webkit
- Timestamp:
- Jul 6, 2011, 1:15:07 PM (15 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 6 edited
-
ChangeLog (modified) (1 diff)
-
page/FrameView.cpp (modified) (1 diff)
-
rendering/RenderLayer.cpp (modified) (1 diff)
-
rendering/RenderLayer.h (modified) (1 diff)
-
rendering/RenderLayerCompositor.cpp (modified) (1 diff)
-
rendering/RenderLayerCompositor.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r90478 r90484 1 2011-07-06 Simon Fraser <simon.fraser@apple.com> 2 3 Have RenderLayerCompositor take care of clearing backing store when entering the page cache 4 https://bugs.webkit.org/show_bug.cgi?id=64018 5 6 Reviewed by Joseph Pecoraro. 7 8 Move responsibility for tearing down all RenderLayer backing stores from 9 RenderLayer itself to RenderLayerCompositor, since RenderLayerCompositor 10 manages backing store creation and destruction in general. 11 12 * page/FrameView.cpp: 13 (WebCore::FrameView::clearBackingStores): 14 * rendering/RenderLayer.cpp: 15 * rendering/RenderLayer.h: 16 * rendering/RenderLayerCompositor.cpp: 17 (WebCore::RenderLayerCompositor::clearBackingForLayerIncludingDescendants): 18 (WebCore::RenderLayerCompositor::clearBackingForAllLayers): 19 * rendering/RenderLayerCompositor.h: 20 1 21 2011-07-06 Ryuan Choi <ryuan.choi@samsung.com> 2 22 -
trunk/Source/WebCore/page/FrameView.cpp
r90302 r90484 641 641 ASSERT(compositor->inCompositingMode()); 642 642 compositor->enableCompositingMode(false); 643 root->layer()->clearBackingIncludingDescendants();643 compositor->clearBackingForAllLayers(); 644 644 } 645 645 -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r90152 r90484 3658 3658 } 3659 3659 3660 void RenderLayer::clearBackingIncludingDescendants()3661 {3662 clearBacking();3663 3664 for (RenderLayer* l = firstChild(); l; l = l->nextSibling())3665 l->clearBackingIncludingDescendants();3666 }3667 3668 3660 bool RenderLayer::hasCompositedMask() const 3669 3661 { -
trunk/Source/WebCore/rendering/RenderLayer.h
r90152 r90484 443 443 RenderLayerBacking* ensureBacking(); 444 444 void clearBacking(); 445 void clearBackingIncludingDescendants();446 445 virtual GraphicsLayer* layerForHorizontalScrollbar() const; 447 446 virtual GraphicsLayer* layerForVerticalScrollbar() const; -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r89394 r90484 1169 1169 } 1170 1170 1171 void RenderLayerCompositor::clearBackingForLayerIncludingDescendants(RenderLayer* layer) 1172 { 1173 if (!layer) 1174 return; 1175 1176 if (layer->isComposited()) 1177 layer->clearBacking(); 1178 1179 for (RenderLayer* currLayer = layer->firstChild(); currLayer; currLayer = currLayer->nextSibling()) 1180 clearBackingForLayerIncludingDescendants(currLayer); 1181 } 1182 1183 void RenderLayerCompositor::clearBackingForAllLayers() 1184 { 1185 clearBackingForLayerIncludingDescendants(m_renderView->layer()); 1186 } 1187 1171 1188 void RenderLayerCompositor::updateRootLayerPosition() 1172 1189 { -
trunk/Source/WebCore/rendering/RenderLayerCompositor.h
r89394 r90484 148 148 void didMoveOnscreen(); 149 149 void willMoveOffscreen(); 150 151 void clearBackingForAllLayers(); 150 152 151 153 void didStartAcceleratedAnimation(CSSPropertyID); … … 209 211 // Make or destroy the backing for this layer; returns true if backing changed. 210 212 bool updateBacking(RenderLayer*, CompositingChangeRepaint shouldRepaint); 213 214 void clearBackingForLayerIncludingDescendants(RenderLayer*); 211 215 212 216 // Repaint the given rect (which is layer's coords), and regions of child layers that intersect that rect.
Note:
See TracChangeset
for help on using the changeset viewer.