Bug 129433 - Avoid calling logicalLeftOffsetForLine 2 times in LineWidth::fitBelowFloats
Summary: Avoid calling logicalLeftOffsetForLine 2 times in LineWidth::fitBelowFloats
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Zoltan Horvath
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-27 09:39 PST by Zoltan Horvath
Modified: 2014-02-27 15:18 PST (History)
4 users (show)

See Also:


Attachments
Patch (5.45 KB, patch)
2014-02-27 09:42 PST, Zoltan Horvath
darin: review+
darin: commit-queue-
Details | Formatted Diff | Diff
Patch (6.13 KB, patch)
2014-02-27 14:41 PST, Zoltan Horvath
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Zoltan Horvath 2014-02-27 09:39:37 PST
This change updates fitBelowFloats and its helpers to call RenderBlock::logicalLeftOffsetForLine only once.
Comment 1 Zoltan Horvath 2014-02-27 09:42:28 PST
Created attachment 225384 [details]
Patch
Comment 2 Darin Adler 2014-02-27 12:17:17 PST
Comment on attachment 225384 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=225384&action=review

> Source/WebCore/rendering/line/LineWidth.cpp:168
> +inline static float availableWidthAtOffset(const RenderBlockFlow& block, const LayoutUnit& offset, bool shouldIndentText, float& newLineLeft, float& newLineRight)
> +{
> +    newLineLeft = block.logicalLeftOffsetForLine(offset, shouldIndentText);
> +    newLineRight = block.logicalRightOffsetForLine(offset, shouldIndentText);
> +    return std::max(0.0f, newLineRight - newLineLeft);
> +}
> +
>  inline static float availableWidthAtOffset(const RenderBlock& block, const LayoutUnit& offset, bool shouldIndentText)

Doesn’t seem good to repeat the function twice. Can we make the old function call the new one?

> Source/WebCore/rendering/line/LineWidth.cpp:175
> +void LineWidth::updateLineDimension(LayoutUnit newLineTop, LayoutUnit newLineWidth, const float& newLineLeft, const float& newLineRight)

Argument types here should just be float. No reason to pass "const float&".

> Source/WebCore/rendering/line/LineWidth.h:79
> +    void updateLineDimension(LayoutUnit newLineTop, LayoutUnit newLineWidth, const float& newLineLeft, const float& newLineRight);

Argument types here should just be float. No reason to pass "const float&".
Comment 3 Zoltan Horvath 2014-02-27 14:41:04 PST
Created attachment 225413 [details]
Patch

> Doesn’t seem good to repeat the function twice. Can we make the old function call the new one?

Good point. I changed it.

> Argument types here should just be float. No reason to pass "const float&".

I modified to use float.

Thanks for the review!
Comment 4 WebKit Commit Bot 2014-02-27 15:18:33 PST
Comment on attachment 225413 [details]
Patch

Clearing flags on attachment: 225413

Committed r164834: <http://trac.webkit.org/changeset/164834>
Comment 5 WebKit Commit Bot 2014-02-27 15:18:35 PST
All reviewed patches have been landed.  Closing bug.