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

Fix issue where percentages were off of the border box, not padding box #41686

Closed
wants to merge 3 commits into from

Conversation

joevilches
Copy link
Contributor

Summary:
The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at containingNode->getLayout().measuredDimension(Dimension::Width) which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526

@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported labels Nov 29, 2023
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D51330526

joevilches pushed a commit to joevilches/react-native that referenced this pull request Nov 29, 2023
…ox (facebook#41686)

Summary:

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Nov 29, 2023
…ox (facebook#41686)

Summary:

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Nov 29, 2023
…ox (facebook#41686)

Summary:

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Nov 29, 2023
…ox (facebook#41686)

Summary:

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Nov 29, 2023
…ox (facebook#41686)

Summary:

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches added a commit to joevilches/yoga that referenced this pull request Nov 29, 2023
Summary:
X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526

fbshipit-source-id: 3cec9dfd790bfee96b6c67d6384b18dcb6e9d9ef
@analysis-bot
Copy link

analysis-bot commented Nov 29, 2023

Platform Engine Arch Size (bytes) Diff
android hermes arm64-v8a 16,515,350 +1,690
android hermes armeabi-v7a n/a --
android hermes x86 n/a --
android hermes x86_64 n/a --
android jsc arm64-v8a 19,890,035 +5,786
android jsc armeabi-v7a n/a --
android jsc x86 n/a --
android jsc x86_64 n/a --

Base commit: 8081265
Branch: main

joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 4, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 4, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 4, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 4, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 4, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 4, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D51330526

joevilches added a commit to joevilches/yoga that referenced this pull request Dec 4, 2023
…ox (facebook#1485)

Summary:
Pull Request resolved: facebook#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526

fbshipit-source-id: 057303cc035435b9f28c51c5d36f963c55b40170
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 5, 2023
…ox (facebook#1485)

Summary:

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 5, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 5, 2023
…ox (facebook#1485)

Summary:

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D51330526

joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 5, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 5, 2023
…ox (facebook#1485)

Summary:

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 5, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 7, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 7, 2023
…ox (facebook#1485)

Summary:
Pull Request resolved: facebook#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Differential Revision: https://www.internalfb.com/diff/D51330526?entry_point=27

fbshipit-source-id: ccf035ffd6ed9e785014e3820139fce21e444149
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 7, 2023
…ox (facebook#1485)

Summary:
Pull Request resolved: facebook#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Differential Revision: https://www.internalfb.com/diff/D51330526?entry_point=27

fbshipit-source-id: 02b2921576666940ab11f858cae8c2db44a0acc0
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 7, 2023
…ox (facebook#1485)

Summary:
Pull Request resolved: facebook#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Differential Revision: https://www.internalfb.com/diff/D51330526?entry_point=27

fbshipit-source-id: 42df6388386359998fffd34c0920468d84856179
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 7, 2023
…ox (facebook#1485)

Summary:
Pull Request resolved: facebook#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Differential Revision: https://www.internalfb.com/diff/D51330526?entry_point=27

fbshipit-source-id: 155984648052313d9deb0ef8b69e41bd813a82ba
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 7, 2023
…ox (facebook#1485)

Summary:
Pull Request resolved: facebook#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Differential Revision: https://www.internalfb.com/diff/D51330526?entry_point=27

fbshipit-source-id: 22006bc7c342cfd4ca3355e101b67f4592838060
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 7, 2023
…ox (facebook#1485)

Summary:
Pull Request resolved: facebook#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Differential Revision: https://www.internalfb.com/diff/D51330526?entry_point=27

fbshipit-source-id: eb59fcfcdd6ee40674d5286f1f24426283c92e39
Joe Vilches and others added 3 commits December 7, 2023 14:39
…ng absolute node's position (facebook#41684)

Summary:
X-link: facebook/yoga#1481


Absolute nodes can be laid out by themselves and do not have to care about what is happening to their siblings. Because of this we can make `positionAbsoluteChild` the sole place where we handle this logic. Right now that is scattered around algorithm with many `if (child is absolute)` cases everywhere. This makes implementing position static a lot harder since we are relying on the CB to do all this work, not the parent.

With this change the only time we set position for an absolute node and it matter (i.e. not overwritten) is in `positionAbsoluteChild`

Reviewed By: NickGerleman

Differential Revision: D51290723
Summary:
X-link: facebook/yoga#1482


This is the final step (that I know of) to get the core features of static working. Here we turn on all of the tests and pass down the correct owner size for the call to `calculateLayoutInternal` that is in `layoutAbsoluteChild`

Reviewed By: NickGerleman

Differential Revision: D51293606
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 7, 2023
…ox (facebook#1485)

Summary:

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 7, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 7, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D51330526

joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 7, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 7, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 7, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/react-native that referenced this pull request Dec 7, 2023
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485


The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 7, 2023
…ox (facebook#1485)

Summary:
Pull Request resolved: facebook#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Differential Revision: https://www.internalfb.com/diff/D51330526?entry_point=27

fbshipit-source-id: e193dae4e8de7e91ccc3d490a928b71b41bb550c
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 7, 2023
…ox (facebook#1485)

Summary:
Pull Request resolved: facebook#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Differential Revision: https://www.internalfb.com/diff/D51330526?entry_point=27

fbshipit-source-id: 12927c4b028776012ebdbcf84c1299aa2a74e7cb
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 7, 2023
…ox (facebook#1485)

Summary:
Pull Request resolved: facebook#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Differential Revision: https://www.internalfb.com/diff/D51330526?entry_point=27

fbshipit-source-id: 432d878ceecd9ff8dad16a6751a98a2d9b803037
joevilches pushed a commit to joevilches/yoga that referenced this pull request Dec 7, 2023
…ox (facebook#1485)

Summary:
Pull Request resolved: facebook#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Differential Revision: https://www.internalfb.com/diff/D51330526?entry_point=27

fbshipit-source-id: d4b9a54594f83f022c48a176d91e42cc6b30c087
facebook-github-bot pushed a commit to facebook/litho that referenced this pull request Dec 8, 2023
Summary:
X-link: facebook/yoga#1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526

fbshipit-source-id: adc448dfb71b54f1bbed0d9d61c5553bda4b106c
@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Dec 8, 2023
@facebook-github-bot
Copy link
Contributor

This pull request has been merged in e826d1c.

facebook-github-bot pushed a commit to facebook/yoga that referenced this pull request Dec 8, 2023
…ox (#1485)

Summary:
Pull Request resolved: #1485

X-link: facebook/react-native#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526

fbshipit-source-id: adc448dfb71b54f1bbed0d9d61c5553bda4b106c
Othinn pushed a commit to Othinn/react-native that referenced this pull request Jan 9, 2024
…ox (facebook#41686)

Summary:
X-link: facebook/yoga#1485

Pull Request resolved: facebook#41686

The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.

Added a test that was failing before this change as well

Reviewed By: NickGerleman

Differential Revision: D51330526

fbshipit-source-id: adc448dfb71b54f1bbed0d9d61c5553bda4b106c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. p: Facebook Partner: Facebook Partner
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants