Skip to content

Update css-layout dependency#565

Merged
rozele merged 1 commit into
microsoft:masterfrom
rigdern:rigdern/updateCssLayout
Aug 7, 2016
Merged

Update css-layout dependency#565
rozele merged 1 commit into
microsoft:masterfrom
rigdern:rigdern/updateCssLayout

Conversation

@rigdern

@rigdern rigdern commented Aug 6, 2016

Copy link
Copy Markdown
Contributor

Notes

The only new changes are the ones in ScrollView.windows.js which I ported from react/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: react/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 react/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
Copy Markdown
Contributor

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

rozele commented Aug 6, 2016

Copy link
Copy Markdown
Contributor

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: react/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 react/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.
@rigdern rigdern force-pushed the rigdern/updateCssLayout branch from 208504f to ce98cd1 Compare August 6, 2016 19:20
@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: react/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 react/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: react/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 react/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