Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java bindings for setAlwaysFormsContainingBlock #1540

Closed
wants to merge 2 commits into from

Commits on Jan 9, 2024

  1. Support transforms forming containing blocks (facebook#1539)

    Summary:
    X-link: facebook/react-native#42191
    
    
    React native supports transforms and if a node has a transform it will [form a containing block for absolute descendants regardless of position type](https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block). So we need to pass that information into Yoga to ensure this happens.
    
    The verbiage for the field "alwaysFormsContainingBlock" is very specific. In a vacuum a node cannot simply "form a containing block". It only forms a containing block in reference to a different node. This can be illustrated in a scenario where we have a static node that is a flex container which has 1 absolute child and 1 relative child. This static node will form a containing block for the relative child but not the absolute one. We could just pass the information on rather something has a transform or not but Yoga is not supposed to know about transforms in general. As a result we have a notion of "always" forming a containing block. Since Yoga is a flexbox spec, non-absolute nodes' containing blocks will ways be their parent. If we add something like a transform to a node then that will also apply to absolute nodes - hence we can say the node will **always** form a CB, no matter who is the descendant.
    
    Changelog: [Internal]
    
    Reviewed By: NickGerleman
    
    Differential Revision: D52521160
    joevilches authored and facebook-github-bot committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    c008766 View commit details
    Browse the repository at this point in the history
  2. Java bindings for setAlwaysFormsContainingBlock (facebook#1540)

    Summary:
    X-link: facebook/react-native#42192
    
    
    tsia
    
    Reviewed By: NickGerleman
    
    Differential Revision: D52608259
    joevilches authored and facebook-github-bot committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    4e5dafd View commit details
    Browse the repository at this point in the history