[Webkit-unassigned] [Bug 252422] Compute the correct overflow-x and overflow-y values for table elements

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Jul 29 07:48:34 PDT 2023


--- Comment #3 from Ahmad Saleem <ahmad.saleem792 at gmail.com> ---
bool overflowIsClipOrVisible = isOverflowClipOrVisible(style.overflowX()) && isOverflowClipOrVisible(style.overflowX());
    if (!overflowIsClipOrVisible && (style.display() == DisplayType::Table || style.display() == DisplayType::InlineTable)) {
        // Tables only support overflow:hidden and overflow:visible and ignore anything else,
        // see https://drafts.csswg.org/css2/#overflow. As a table is not a block
        // container box the rules for resolving conflicting x and y values in CSS Overflow Module
        // Level 3 do not apply. Arguably overflow-x and overflow-y aren't allowed on tables but
        // all UAs allow it.
        if (style.overflowX() != Overflow::Hidden)
        if (style.overflowY() != Overflow::Hidden)
        // If we are left with conflicting overflow values for the x and y axes on a table then resolve
        // both to Overflow::Visible. This is interoperable behaviour but is not specced anywhere.
        if (style.overflowX() == Overflow::Visible)
        else if (style.overflowY() == Overflow::Visible)
    } else if (!isOverflowClipOrVisible(style.overflowY())) {
        // Values of 'clip' and 'visible' can only be used with 'clip' and 'visible'.
        // If they aren't, 'clip' and 'visible' is reset.
        if (style.overflowX() == Overflow::Visible)
        else if (style.overflowX() == Overflow::Clip)
    } else if (!isOverflowClipOrVisible(style.overflowX())) {
        // Values of 'clip' and 'visible' can only be used with 'clip' and 'visible'.
        // If they aren't, 'clip' and 'visible' is reset.
        if (style.overflowY() == Overflow::Visible)
        else if (style.overflowY() == Overflow::Clip)


static bool isOverflowClipOrVisible(Overflow overflow)
    return overflow == Overflow::Clip || overflow == Overflow::Clip;


It leads to massive failures in WPT test suite. :-(

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230729/6c7e3138/attachment-0001.htm>

More information about the webkit-unassigned mailing list