Changeset 295282 in webkit


Ignore:
Timestamp:
Jun 6, 2022 6:08:35 AM (2 years ago)
Author:
Alan Bujtas
Message:

Populate canUseForFlexLayout with unsupported styles and content
https://bugs.webkit.org/show_bug.cgi?id=241323

Reviewed by Tim Nguyen.

This is in preparation for being able to run WPT tests (filter out unsupported content).

  • Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForFlexLayout):

Canonical link: https://commits.webkit.org/251328@main

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp

    r294195 r295282  
    679679    if (!flexBox.document().settings().flexFormattingContextIntegrationEnabled())
    680680        return false;
    681     ASSERT_NOT_IMPLEMENTED_YET();
    682     return false;
    683 }
    684 
    685 }
    686 }
    687 
    688 #endif
     681
     682    auto& flexBoxStyle = flexBox.style();
     683    if (!flexBoxStyle.isHorizontalWritingMode() || !flexBoxStyle.isLeftToRightDirection())
     684        return false;
     685    if (flexBoxStyle.flexWrap() == FlexWrap::Reverse)
     686        return false;
     687    if (flexBoxStyle.alignItems().position() == ItemPosition::Baseline)
     688        return false;
     689    if (flexBoxStyle.alignContent().position() != ContentPosition::Normal || flexBoxStyle.alignContent().distribution() != ContentDistribution::Default || flexBoxStyle.alignContent().overflow() != OverflowAlignment::Default)
     690        return false;
     691    if (!flexBoxStyle.rowGap().isNormal() || !flexBoxStyle.columnGap().isNormal())
     692        return false;
     693
     694    for (auto& flexItem : childrenOfType<RenderElement>(flexBox)) {
     695        if (!is<RenderBox>(flexItem))
     696            return false;
     697        if (flexItem.isFloating() || flexItem.isOutOfFlowPositioned())
     698            return false;
     699        if (flexItem.isSVGRootOrLegacySVGRoot())
     700            return false;
     701        auto& flexItemStyle = flexItem.style();
     702        if (!flexItemStyle.maxWidth().isUndefined() || !flexItemStyle.maxHeight().isUndefined())
     703            return false;
     704        if (flexItem.hasIntrinsicAspectRatio() || flexItemStyle.hasAspectRatio())
     705            return false;
     706    }
     707    return true;
     708}
     709
     710}
     711}
     712
     713#endif
Note: See TracChangeset for help on using the changeset viewer.