[Webkit-unassigned] [Bug 45274] Breaking Float: floated block level element following inline element in floated container breaks to next line

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Feb 7 12:07:00 PST 2013


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


Dave Hyatt <hyatt at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #151457|review?, commit-queue?      |review-, commit-queue-
               Flag|                            |




--- Comment #66 from Dave Hyatt <hyatt at apple.com>  2013-02-07 12:09:06 PST ---
(From update of attachment 151457)
View in context: https://bugs.webkit.org/attachment.cgi?id=151457&action=review

r-

> Source/WebCore/rendering/RenderBlockLineLayout.cpp:81
>      bool fitsOnLine(float extra) const { return currentWidth() + extra <= m_availableWidth; }
> +    bool floatFitsOnLine(float extra) const { return currentWidth() - whitespaceWidth() + extra <= m_availableWidth; }

I think I would prefer this:

bool fitsOnLine(float extra, LineFittingCheck includeWhitespace = IncludeTrailingWhitespace) const { return currentWidth() - (includeWhitespace ? trailingWhitespaceWidth() : 0) + extra <= m_availableWidth; }

> Source/WebCore/rendering/RenderBlockLineLayout.cpp:88
> +    float whitespaceWidth() const { return m_whitespaceWidth; }

float trailingWhitespaceWidth() const { return m_trailingWhitespaceWidth; }

> Source/WebCore/rendering/RenderBlockLineLayout.cpp:100
> +    void setWhitespaceWidth(float width) { m_whitespaceWidth = width; }

void setTrailingWhitespaceWidth(float width) { m_trailingWhitespaceWidth = width; }

> Source/WebCore/rendering/RenderBlockLineLayout.cpp:113
> +    float m_whitespaceWidth;

float m_trailingWhitespaceWidth;

> Source/WebCore/rendering/RenderBlockLineLayout.cpp:2248
> +            if (floatsFitOnLine && width.floatFitsOnLine(m_block->logicalWidthForFloat(f))) {

if (floatsFitOnLine && width.floatFitsOnLine(m_block->logicalWidthForFloat(f), ExcludeTrailingWhitespace)) {

> Source/WebCore/rendering/RenderBlockLineLayout.cpp:2423
> +                        width.setWhitespaceWidth(additionalTempWidth);

width.setTrailingWhitespaceWidth(additionalTempWidth);

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