[Webkit-unassigned] [Bug 53564] canHaveChildrenForEditing should be more efficient

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Feb 1 18:25:56 PST 2011


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





--- Comment #1 from Ryosuke Niwa <rniwa at webkit.org>  2011-02-01 18:25:56 PST ---
Per Justin's suggestion, I put the check for the text node first.  While this improved the situation a lot, we need to do better:

    3.8%    3.8%    WebCore    WebCore::Node::getFlag(WebCore::Node::NodeFlags) const
    0.0%    2.4%    WebCore     WebCore::Node::isElementNode() const
    0.0%    1.3%    WebCore      WebCore::Node::hasTagName(WebCore::QualifiedName const&) const
    0.0%    1.0%    WebCore      WebCore::toElement(WebCore::Node const*)
    0.0%    0.1%    WebCore      WebCore::isTableElement(WebCore::Node*)
    0.0%    0.0%    WebCore      WebCore::Node::rootEditableElement() const
    0.0%    0.0%    WebCore      WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
    0.0%    0.5%    WebCore     WebCore::Node::parentNode() const
    0.0%    0.3%    WebCore     WebCore::Node::isContainerNode() const
    0.0%    0.3%    WebCore     WebCore::Node::isTextNode() const
    0.0%    0.1%    WebCore     WebCore::Node::isShadowRoot() const
    0.0%    0.1%    WebCore     WebCore::Node::parentNodeGuaranteedHostFree() const
    0.0%    0.0%    WebCore     WebCore::Node::hasRareData() const
    0.0%    0.0%    WebCore     WebCore::toElement(WebCore::Node const*)
    0.0%    0.0%    WebCore     WebCore::Range::compareBoundaryPoints(WebCore::Node*, int, WebCore::Node*, int)
    0.0%    0.0%    WebCore     WebCore::Node::isSVGElement() const
    0.0%    0.0%    WebCore     WebCore::Node::hasTagName(WebCore::QualifiedName const&) const
    0.0%    0.0%    WebCore     WebCore::Node::childNode(unsigned int) const
    0.0%    0.0%    WebCore     WebCore::Node::childNeedsStyleRecalc() const
    0.0%    0.0%    WebCore     WebCore::Node::appendChild(WTF::PassRefPtr<WebCore::Node>, int&, bool)
    0.0%    0.0%    WebCore     WebCore::isTableElement(WebCore::Node*)
    0.0%    0.0%    WebCore     WebCore::Document::updateStyleIfNeeded()
    1.9%    1.9%    WebCore    WebCore::QualifiedName::matches(WebCore::QualifiedName const&) const
    0.0%    1.9%    WebCore     WebCore::Element::hasTagName(WebCore::QualifiedName const&) const
    0.0%    1.9%    WebCore      WebCore::Node::hasTagName(WebCore::QualifiedName const&) const
    0.0%    1.8%    WebCore       WebCore::canHaveChildrenForEditing(WebCore::Node const*)
    0.0%    0.1%    WebCore       WebCore::highestEditableRoot(WebCore::Position const&)
    0.0%    0.0%    WebCore       WebCore::Position::downstream(WebCore::EditingBoundaryCrossingRule) const
    0.0%    0.0%    WebCore       WebCore::Node::rootEditableElement() const
    0.0%    0.0%    WebCore       WebCore::RenderObject::isBody() const
    0.0%    0.0%    WebCore       WebCore::Position::isCandidate() const
    0.0%    0.0%    WebCore     WebCore::Node::hasTagName(WebCore::QualifiedName const&) const
    1.6%    1.6%    WebCore    WebCore::Node::hasTagName(WebCore::QualifiedName const&) const
    0.0%    1.2%    WebCore     WebCore::canHaveChildrenForEditing(WebCore::Node const*)
    0.0%    0.1%    WebCore     WebCore::endsOfNodeAreVisuallyDistinctPositions(WebCore::Node*)
    0.0%    0.1%    WebCore     WebCore::Position::downstream(WebCore::EditingBoundaryCrossingRule) const
    0.0%    0.0%    WebCore     WebCore::RenderObject::isBody() const
    0.0%    0.0%    WebCore     WebCore::RenderBlock::isSelectionRoot() const
    0.0%    0.0%    WebCore     WebCore::Node::rootEditableElement() const
    0.0%    0.0%    WebCore     WebCore::enclosingVisualBoundary(WebCore::Node*)
    0.0%    0.0%    WebCore     WebCore::RenderObject::isLegend() const
    0.0%    0.0%    WebCore     WebCore::RenderObject::isHR() const
    0.0%    0.0%    WebCore     WebCore::RenderBox::avoidsFloats() const
    0.0%    0.0%    WebCore     WebCore::previousVisuallyDistinctCandidate(WebCore::Position const&)
    0.0%    0.0%    WebCore     WebCore::Position::atEditingBoundary() const
    0.0%    0.0%    WebCore     WebCore::highestEditableRoot(WebCore::Position const&)
    0.0%    0.0%    WebCore     WebCore::enclosingNodeOfType(WebCore::Position const&, bool (*)(WebCore::Node const*), bool)
    0.0%    0.0%    WebCore     WebCore::Document::body() const

-- 
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