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

Update css-layout dependency #565

Merged
merged 1 commit into from
Aug 7, 2016

Conversation

rigdern
Copy link
Contributor

@rigdern rigdern commented Aug 6, 2016

Notes

The only new changes are the ones in ScrollView.windows.js which I ported from facebook/react-native@6603cef.

Commit Message

A second attempt at updating the css-layout dependency. This commit
includes the changes from these 2 commits:

  • 104aa49: Update css-layout dependency
  • 4501096: Clean up warnings due to project.json

It also includes a fix for #561 (horizontal scrolling broken) which was
introduced by the previous attempt at upgrading the layout engine.
Facebook already found and fixed this bug in their repo so I imported
their fix: facebook/react-native@6603cef

The updated version of css-layout includes significant
changes which make the layout engine conform closer to
the W3C spec. For details, see facebook/yoga#185

The inline view implementation had to be modified slightly
due to a change in the layout engine. In the updated layout
engine, nodes with a measure function are treated as leaves.
Consequently, nodes with a mesaure function (e.g. Text) do
not have their children laid out automatically.

To fix this, Text nodes now manually invoke the layout engine
on each of their inline views.

// Run flexbox on the children which are inline views.
foreach (var child in this.Children)
{
if (!(child is ReactRunShadowNode) && !(child is ReactSpanShadowNode))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if (!(child is ReactInlineShadowNode))

@rozele
Copy link
Collaborator

rozele commented Aug 6, 2016

Other than the minor comments, LGTM.

A second attempt at updating the css-layout dependency. This commit
includes the changes from these 2 commits:
  - 104aa49: Update css-layout dependency
  - 4501096: Clean up warnings due to project.json

It also includes a fix for microsoft#561 (horizontal scrolling broken) which was
introduced by the previous attempt at upgrading the layout engine.
Facebook already found and fixed this bug in their repo so I imported
their fix: facebook/react-native@6603cef

The updated version of css-layout includes significant
changes which make the layout engine conform closer to
the W3C spec. For details, see facebook/yoga#185

The inline view implementation had to be modified slightly
due to a change in the layout engine. In the updated layout
engine, nodes with a measure function are treated as leaves.
Consequently, nodes with a mesaure function (e.g. Text) do
not have their children laid out automatically.

To fix this, Text nodes now manually invoke the layout engine
on each of their inline views.
@rozele rozele merged commit 2f29e8c into microsoft:master Aug 7, 2016
@rigdern rigdern deleted the rigdern/updateCssLayout branch August 9, 2016 01:57
rozele pushed a commit that referenced this pull request Aug 25, 2016
A second attempt at updating the css-layout dependency. This commit
includes the changes from these 2 commits:
  - 104aa49: Update css-layout dependency
  - 4501096: Clean up warnings due to project.json

It also includes a fix for #561 (horizontal scrolling broken) which was
introduced by the previous attempt at upgrading the layout engine.
Facebook already found and fixed this bug in their repo so I imported
their fix: facebook/react-native@6603cef

The updated version of css-layout includes significant
changes which make the layout engine conform closer to
the W3C spec. For details, see facebook/yoga#185

The inline view implementation had to be modified slightly
due to a change in the layout engine. In the updated layout
engine, nodes with a measure function are treated as leaves.
Consequently, nodes with a mesaure function (e.g. Text) do
not have their children laid out automatically.

To fix this, Text nodes now manually invoke the layout engine
on each of their inline views.
GantMan pushed a commit to infinitered/react-native-windows that referenced this pull request Sep 29, 2016
A second attempt at updating the css-layout dependency. This commit
includes the changes from these 2 commits:
  - 104aa49: Update css-layout dependency
  - 4501096: Clean up warnings due to project.json

It also includes a fix for microsoft#561 (horizontal scrolling broken) which was
introduced by the previous attempt at upgrading the layout engine.
Facebook already found and fixed this bug in their repo so I imported
their fix: facebook/react-native@6603cef

The updated version of css-layout includes significant
changes which make the layout engine conform closer to
the W3C spec. For details, see facebook/yoga#185

The inline view implementation had to be modified slightly
due to a change in the layout engine. In the updated layout
engine, nodes with a measure function are treated as leaves.
Consequently, nodes with a mesaure function (e.g. Text) do
not have their children laid out automatically.

To fix this, Text nodes now manually invoke the layout engine
on each of their inline views.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants