[Webkit-unassigned] [Bug 53564] New: canHaveChildrenForEditing should be more efficient
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Feb 1 17:58:13 PST 2011
https://bugs.webkit.org/show_bug.cgi?id=53564
Summary: canHaveChildrenForEditing should be more efficient
Product: WebKit
Version: 528+ (Nightly build)
Platform: All
OS/Version: All
Status: NEW
Severity: Enhancement
Priority: P2
Component: HTML Editing
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: rniwa at webkit.org
CC: eric at webkit.org, mjs at apple.com, darin at apple.com,
ap at webkit.org, justin.garcia at apple.com,
enrica at apple.com, leviw at chromium.org
I profiled editing/selection/extend-selection because they take more than 5s to run on the debug build. The blame is on editingIgnoresContent, which consumes more than 5% of the run time according to Shark. We should make function more efficient.
5.5% 5.5% WebCore WebCore::Node::getFlag(WebCore::Node::NodeFlags) const
0.0% 4.1% WebCore WebCore::Node::isElementNode() const
0.0% 2.7% WebCore WebCore::Node::hasTagName(WebCore::QualifiedName const&) const
0.0% 2.5% WebCore WebCore::canHaveChildrenForEditing(WebCore::Node const*)
0.0% 2.5% WebCore WebCore::editingIgnoresContent(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::Node::rootEditableElement() const
0.0% 0.0% WebCore WebCore::highestEditableRoot(WebCore::Position const&)
0.0% 1.1% WebCore WebCore::toElement(WebCore::Node const*)
0.0% 1.1% WebCore WebCore::Node::hasTagName(WebCore::QualifiedName const&) const
0.0% 1.0% WebCore WebCore::canHaveChildrenForEditing(WebCore::Node const*)
0.0% 0.1% WebCore WebCore::Position::downstream(WebCore::EditingBoundaryCrossingRule) const
0.0% 0.0% WebCore WebCore::Node::rootEditableElement() const
0.0% 0.0% WebCore WebCore::Position::isCandidate() const
0.0% 0.0% WebCore WebCore::highestEditableRoot(WebCore::Position const&)
0.0% 0.0% WebCore WebCore::endsOfNodeAreVisuallyDistinctPositions(WebCore::Node*)
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.6% WebCore WebCore::Node::parentNode() const
0.0% 0.4% WebCore WebCore::Node::isContainerNode() const
0.0% 0.3% WebCore WebCore::Node::isTextNode() const
0.0% 0.0% WebCore WebCore::Node::isShadowRoot() const
0.0% 0.0% WebCore WebCore::Node::parentNodeGuaranteedHostFree() const
0.0% 0.0% WebCore WebCore::Node::isSVGElement() const
0.0% 0.0% WebCore WebCore::Node::rootEditableElement() const
0.0% 0.0% WebCore WebCore::Node::inDocument() const
0.0% 0.0% WebCore WebCore::Node::hasTagName(WebCore::QualifiedName const&) const
0.0% 0.0% WebCore WebCore::isDeletableElement(WebCore::Node const*)
2.1% 2.1% WebCore WebCore::Node::hasTagName(WebCore::QualifiedName const&) const
1.9% 1.9% WebCore WebCore::Node::isElementNode() const
1.6% 1.6% WebCore WTF::RefPtr<WTF::StringImpl>::get() const
1.6% 1.6% JavaScriptCore WTF::isMainThread()
1.5% 1.5% WebCore WebCore::QualifiedName::matches(WebCore::QualifiedName const&) const
1.3% 1.3% libSystem.B.dylib __spin_lock
1.2% 1.2% libobjc.A.dylib objc_msgSend
1.1% 1.1% libicucore.A.dylib icu::RuleBasedBreakIterator::handleNext(icu::RBBIStateTable 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