[Webkit-unassigned] [Bug 93809] [CSS Regions] Setting region-break-after: always on a <br> element does not cause a region break

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jun 19 16:12:06 PDT 2013


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





--- Comment #7 from Manuel Rego Casasnovas <rego at igalia.com>  2013-06-19 16:10:44 PST ---
(In reply to comment #4)
> Them problem is that for the paragraph childrenInline() is TRUE (in the case of <br> and FALSE in the case of <span>) this causes that RenderBlock::layoutBlockChildren() is not called. You can see the if in RenderBlock::layoutBlock():
> 
>     if (childrenInline())
>         layoutInlineChildren(relayoutChildren, repaintLogicalTop, repaintLogicalBottom);
>     else
>         layoutBlockChildren(relayoutChildren, maxFloatLogicalBottom);
> 
> The next step will be to understand why childrenInline() is TRUE in this situation.

childrenInline() is TRUE for <br> and FALSE for <span> because in the case of <span> RenderObject::isInline() returns FALSE, which causes that RenderBlock::makeChildrenNonInline() is called inside RenderBlock::addChildIgnoringAnonymousColumnBlocks(). However, <br> RenderObject::isInline() returns TRUE.

So all the children of <p> (the text nodes and the <br> nodes) have RenderObject::isInline() TRUE, so it's normal than childrenInline() is TRUE.

Maybe in this case <br> elements with a region break should be marked as non-inline or something like that.

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