[Webkit-unassigned] [Bug 54597] New: InspectorAgent calls offsetWidth in the middle of painting

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 16 15:44:19 PST 2011


https://bugs.webkit.org/show_bug.cgi?id=54597

           Summary: InspectorAgent calls offsetWidth in the middle of
                    painting
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: PC
        OS/Version: Mac OS X 10.5
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Web Inspector
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: simon.fraser at apple.com
                CC: pfeldman at chromium.org


I just hit this assertion:


ASSERTION FAILED: !view() || (!view()->isInLayout() && !view()->isPainting())
/Volumes/InternalData/Development/webkit/OpenSource/Source/WebCore/dom/Document.cpp(1554) : virtual void WebCore::Document::updateStyleIfNeeded()
 -> WebCore::Document::updateStyleIfNeeded()
 -> WebCore::Document::updateLayout()
 -> WebCore::Document::updateLayoutIgnorePendingStylesheets()
 -> WebCore::Element::offsetWidth()
 -> WebCore::InspectorAgent::drawElementTitle(WebCore::GraphicsContext&, WebCore::IntRect const&, WebCore::FloatRect const&, WebCore::Settings*) const
 -> WebCore::InspectorAgent::drawNodeHighlight(WebCore::GraphicsContext&) const
 -> WebCore::InspectorController::drawNodeHighlight(WebCore::GraphicsContext&) const
 -> -[WebNodeHighlightView drawRect:]
 -> -[NSView _drawRect:clip:]
 -> -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
 -> -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
 -> -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
 -> -[NSNextStepFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
 -> -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
 -> -[NSView displayIfNeeded]
 -> -[WebNodeHighlight setNeedsUpdateInTargetViewRect:]
 -> -[WebHTMLView drawSingleRect:]
 -> -[WebHTMLView drawRect:]
 -> -[NSView _drawRect:clip:]
 -> -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
 -> -[WebHTMLView(WebPrivate) _recursiveDisplayAllDirtyWithLockFocus:visRect:]
 -> -[NSView _recursiveDisplaySelfAndDescendantsInRect:]
 -> -[NSView _recursiveDisplayDescendantsInRect:]
 -> -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
 -> -[NSView _recursiveDisplaySelfAndDescendantsInRect:]
 -> -[NSView _recursiveDisplayDescendantsInRect:]
 -> -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
 -> -[NSView _recursiveDisplaySelfAndDescendantsInRect:]
 -> -[NSView _recursiveDisplayDescendantsInRect:]
 -> -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
 -> -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]

InspectorAgent::drawElementTitle() does:
    nodeTitle += String::number(highlightedElement ? highlightedElement->offsetWidth() : boundingBox.width());

Calling offsetWidth in the middle of painting is not allowed, because it can cause layout to happen.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list