Changeset 124580 in webkit
- Timestamp:
- Aug 3, 2012 1:15:35 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r124578 r124580 1 2012-08-03 Abhishek Arya <inferno@chromium.org> 2 3 Regression(r124564): Wrong inlineChildrenBlock->hasLayer() computed in RenderBlock::removeChild. 4 https://bugs.webkit.org/show_bug.cgi?id=90800 5 6 Reviewed by Eric Seidel. 7 8 r124564 reversed the sequence of setStyle and removeChildNode calls, but failed to cache the value 9 of inlineChildrenBlock->hasLayer(). So, it will be null when the layer is removed from parent in setStyle. 10 Fixed by the caching the bool value. 11 12 Covered by existing test fast/block/layer-not-removed-from-parent-crash.html. 13 14 * rendering/RenderBlock.cpp: 15 (WebCore::RenderBlock::removeChild): 16 1 17 2012-08-03 Mario Sanchez Prada <msanchez@igalia.com> 2 18 -
trunk/Source/WebCore/rendering/RenderBlock.cpp
r124564 r124580 1170 1170 ASSERT(!inlineChildrenBlock->continuation()); 1171 1171 RefPtr<RenderStyle> newStyle = RenderStyle::createAnonymousStyleWithDisplay(style(), BLOCK); 1172 // Cache this value as it might get changed in setStyle() call. 1173 bool inlineChildrenBlockHasLayer = inlineChildrenBlock->hasLayer(); 1172 1174 inlineChildrenBlock->setStyle(newStyle); 1173 children()->removeChildNode(this, inlineChildrenBlock, inlineChildrenBlock ->hasLayer());1175 children()->removeChildNode(this, inlineChildrenBlock, inlineChildrenBlockHasLayer); 1174 1176 1175 1177 // Now just put the inlineChildrenBlock inside the blockChildrenBlock. 1176 1178 blockChildrenBlock->children()->insertChildNode(blockChildrenBlock, inlineChildrenBlock, prev == inlineChildrenBlock ? blockChildrenBlock->firstChild() : 0, 1177 inlineChildrenBlock ->hasLayer()|| blockChildrenBlock->hasLayer());1179 inlineChildrenBlockHasLayer || blockChildrenBlock->hasLayer()); 1178 1180 next->setNeedsLayoutAndPrefWidthsRecalc(); 1179 1181
Note: See TracChangeset
for help on using the changeset viewer.