[Webkit-unassigned] [Bug 4076] Loading www.fed-soc.org causes hang (eventually finishes)

bugzilla-daemon at opendarwin.org bugzilla-daemon at opendarwin.org
Mon Feb 27 09:47:18 PST 2006


http://bugzilla.opendarwin.org/show_bug.cgi?id=4076





------- Comment #12 from ggaren at apple.com  2006-02-27 09:47 PDT -------
The other issue here is that a for loop is getting a value from a DOM node, and
each get causes a re-layout.

In tree view, you can see that "KJS::DOMNode::getValueProperty(KJS::ExecState*,
int) const" calls "DOM::DocumentImpl::updateLayoutIgnorePendingStylesheets()."
In heavy view, you can see that the heaviest function calls are all layout
calls:

        327      khtml::RenderObject::updateWidgetPositions()
        26       DOM::ElementImpl::recalcStyle(DOM::NodeImpl::StyleChange)
        26       khtml::RenderBlock::lowestPosition(bool, bool) const
        25       khtml::RenderLayer::updateLayerPositions(bool, bool)
        22       khtml::RenderBlock::rightmostPosition(bool, bool) const
        20       khtml::RenderLayer::computeRepaintRects()
        19       khtml::RenderBox::computeAbsoluteRepaintRect(QRect&, bool)
        18       khtml::RenderFlow::lowestPosition(bool, bool) const
        15       khtml::RenderBlock::layoutBlock(bool)
        15       khtml::RenderFlow::rightmostPosition(bool, bool) const
        13      
khtml::RenderBlock::getAbsoluteRepaintRectIncludingFloats(QRect&, QRect&)
        13       khtml::RenderFlow::getAbsoluteRepaintRect()
        12       khtml::RenderBox::getAbsoluteRepaintRect()
        12       khtml::RenderObject::isFloatingOrPositioned() const

I'd love to see a reduction that showed what kind of JavaScript get caused this
re-layout. Looks like it's something in one of the inline <script> tags. One
approach would be to set a breakpoint on
DocumentImpl::updateLayoutIgnorePendingStylesheets and get information from the
calling stack frame.


-- 
Configure bugmail: http://bugzilla.opendarwin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list