[Webkit-unassigned] [Bug 13332] List marker not displayed on items with overflow

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Oct 7 12:23:10 PDT 2011


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


Dave Hyatt <hyatt at apple.com> changed:

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




--- Comment #24 from Dave Hyatt <hyatt at apple.com>  2011-10-07 12:23:09 PST ---
(From update of attachment 110166)
View in context: https://bugs.webkit.org/attachment.cgi?id=110166&action=review

> Source/WebCore/rendering/RenderListItem.cpp:363
> +    // Marker paints itself only on PaintPhaseForeground.

Change to "The marker paints itself only during PaintPhaseForeground."

> Source/WebCore/rendering/RenderListItem.cpp:368
> +        // Check if we are on clipped parent.

"Check if we are inside a clipped parent."

> Source/WebCore/rendering/RenderListItem.cpp:370
> +        for (RenderBox* o = m_marker->parentBox(); !isClipped; o = o->parentBox()) {

This check isn't quite right and it tells me you need another test with the marker inside a <span> that is inside overflow:hidden. :)

You should just use a containingBlock() loop instead of parent() or parentBox(). That way you'll look only at the blocks between you and the list marker, and those blocks are the only ones that can have overflow:hidden set on them.

> Source/WebCore/rendering/RenderListItem.cpp:381
> +        for (RenderBox* o = m_marker->parentBox(); ; o = o->parentBox()) {

This loop is incorrect in the same way.  Use the containing block chain.

Also, why not just combine this into the previous loop? I don't think there's any harm in computing the coordinates as you go, even if it turns out the marker wasn't clipped.

Note there are some other coordinate issues (e.g., dealing with relative positioning or transforms on the intermediate blocks), but I think that can wait for a followup bug.

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