Source/WebCore/ChangeLog

 12012-07-17 Elliott Sprehn <esprehn@gmail.com>
 2
 3 Unneeded tree walking when adding or removing children due to RenderCounter / RenderQuote logic
 4 https://bugs.webkit.org/show_bug.cgi?id=89900
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 Check for document destruction during insertion to avoid crash on null RenderView when trying
 9 to count the number of RenderQuote and RenderCounter objects.
 10
 11 * rendering/RenderObjectChildList.cpp:
 12 (WebCore::RenderObjectChildList::appendChildNode):
 13 (WebCore::RenderObjectChildList::insertChildNode):
 14
1152012-07-17 Emil A Eklund <eae@chromium.org>
216
317 Incorrect offset used for scrollWidth/Height calculation

Source/WebCore/rendering/RenderObjectChildList.cpp

@@void RenderObjectChildList::appendChildNode(RenderObject* owner, RenderObject* n
214214 containerFlowThread->addFlowChild(newChild);
215215 }
216216
217  RenderCounter::rendererSubtreeAttached(newChild);
218  RenderQuote::rendererSubtreeAttached(newChild);
 217 if (!owner->documentBeingDestroyed()) {
 218 RenderCounter::rendererSubtreeAttached(newChild);
 219 RenderQuote::rendererSubtreeAttached(newChild);
 220 }
219221 newChild->setNeedsLayoutAndPrefWidthsRecalc(); // Goes up the containing block hierarchy.
220222 if (!owner->normalChildNeedsLayout())
221223 owner->setChildNeedsLayout(true); // We may supply the static position for an absolute positioned child.

@@void RenderObjectChildList::insertChildNode(RenderObject* owner, RenderObject* c
281283 containerFlowThread->addFlowChild(child, beforeChild);
282284 }
283285
284  RenderCounter::rendererSubtreeAttached(child);
285  RenderQuote::rendererSubtreeAttached(child);
 286 if (!owner->documentBeingDestroyed()) {
 287 RenderCounter::rendererSubtreeAttached(child);
 288 RenderQuote::rendererSubtreeAttached(child);
 289 }
286290 child->setNeedsLayoutAndPrefWidthsRecalc();
287291 if (!owner->normalChildNeedsLayout())
288292 owner->setChildNeedsLayout(true); // We may supply the static position for an absolute positioned child.