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

Modify private apis to set, store, and get intrinsic sizing keywords #46938

Closed
wants to merge 1 commit into from

Commits on Nov 4, 2024

  1. Modify private apis to set, store, and get intrinsic sizing keywords (f…

    …acebook#46938)
    
    Summary:
    X-link: facebook/yoga#1721
    
    
    The private internals of how we store styles needed to change a bit to support 3 new keyword values. Right now the only other keyword that can be stored is `auto`. As a result there isn't much fancy logic to support storing this and its just stored as a specific type inside of `StyleValueHandle`. There are only 3 bits for types (8 values), so it is not sustainable to just stuff every keyword in there. So the change writes the keyword as a value with a new `keyword` `Type`. 
    
    I chose not to put `auto` in there even though it is a keyword since it is a hot path, I did not want to regress perf when I did not need to.
    
    I also make a new `StyleSizeValue` class to store size values - so values for `width`, `height`, etc. This way these new keywords are kept specific to sizes and we will not be able to create, for example, a margin: `max-content`.
    
    Changelog: [Internal]
    
    Reviewed By: NickGerleman
    
    Differential Revision: D63927512
    joevilches authored and facebook-github-bot committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    1b793e2 View commit details
    Browse the repository at this point in the history