[Webkit-unassigned] [Bug 113479] New: logicalLeftSelectionGap and logicalRightSelectionGap call availableLogicalWidth() multiple times

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Mar 27 22:42:19 PDT 2013


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

           Summary: logicalLeftSelectionGap and logicalRightSelectionGap
                    call availableLogicalWidth() multiple times
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: HTML Editing
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: rniwa at webkit.org
                CC: koivisto at iki.fi, tony at chromium.org,
                    simon.fraser at apple.com, ojan at chromium.org,
                    enrica at apple.com, akling at apple.com
            Blocks: 113478


We're calling availableLogicalWidth 4-5 times inside logicalLeftSelectionGap and logicalRightSelectionGap via logicalLeftOffsetForContent and logicalRightOffsetForContent:

Running Time    Self        Symbol Name
566.0ms    2.3%    0.0          WebCore::RenderBoxModelObject::computedCSSPaddingLeft() const
195.0ms    0.8%    0.0           WebCore::RenderBox::contentLogicalWidth() const
195.0ms    0.8%    0.0            WebCore::RenderBlock::availableLogicalWidth() const
108.0ms    0.4%    0.0             WebCore::RenderBlock::logicalRightOffsetForContent(WebCore::RenderRegion*, WebCore::LayoutUnit) const
106.0ms    0.4%    0.0              WebCore::RenderBlock::logicalRightSelectionOffset(WebCore::RenderBlock*, WebCore::LayoutUnit)
29.0ms    0.1%    0.0               WebCore::RenderBlock::logicalRightSelectionGap(WebCore::RenderBlock*, WebCore::LayoutPoint const&, WebCore::LayoutSize const&, WebCore::RenderObject*, WebCore::LayoutUnit, WebCore::LayoutUnit, WebCore::LayoutUnit, WebCore::PaintInfo const*)
26.0ms    0.1%    0.0                WebCore::RootInlineBox::lineSelectionGap(WebCore::RenderBlock*, WebCore::LayoutPoint const&, WebCore::LayoutSize const&, WebCore::LayoutUnit, WebCore::LayoutUnit, WebCore::PaintInfo const*)
26.0ms    0.1%    0.0                 WebCore::RenderBlock::inlineSelectionGaps(WebCore::RenderBlock*, WebCore::LayoutPoint const&, WebCore::LayoutSize const&, WebCore::LayoutUnit&, WebCore::LayoutUnit&, WebCore::LayoutUnit&, WebCore::PaintInfo const*)
26.0ms    0.1%    0.0                  WebCore::RenderBlock::selectionGaps(WebCore::RenderBlock*, WebCore::LayoutPoint const&, WebCore::LayoutSize const&, WebCore::LayoutUnit&, WebCore::LayoutUnit&, WebCore::LayoutUnit&, WebCore::PaintInfo const*)
24.0ms    0.0%    0.0                   WebCore::RenderBlock::blockSelectionGaps(WebCore::RenderBlock*, WebCore::LayoutPoint const&, WebCore::LayoutSize const&, WebCore::LayoutUnit&, WebCore::LayoutUnit&, WebCore::LayoutUnit&, WebCore::PaintInfo const*)
24.0ms    0.0%    0.0                    WebCore::RenderBlock::selectionGaps(WebCore::RenderBlock*, WebCore::LayoutPoint const&, WebCore::LayoutSize const&, WebCore::LayoutUnit&, WebCore::LayoutUnit&, WebCore::LayoutUnit&, WebCore::PaintInfo const*)
2.0ms    0.0%    0.0                   WebCore::RenderBlock::selectionGapRectsForRepaint(WebCore::RenderLayerModelObject const*)

Obviously, we should be caching the value.

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