-
Notifications
You must be signed in to change notification settings - Fork 108
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
Support Overflow::Hidden
#424
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall this looks very good 👍
test_fixtures/grid_fit_content_percent_indefinite_max_content_hidden.html
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Required change: HTML fixtures closing head tag should be fixed
25d096c
to
809b496
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't say that I fully understand everything, but I didn't find anything looking wrong either
Yeah, Chrome and Firefox seem to be in agreement on this one. I can't see how it can possibly be right though. I think I might report this one to Chrome/Firefox and see what their devs say. Relevant part of the spec is here btw (https://www.w3.org/TR/css-flexbox-1/#intrinsic-item-contributions):
(emphasis mine). This element is not growable (as |
…_hidden_parent test
… with non-visible overflow
…h non-visible overflow
These tests were generated by temporarily setting overflow:hidden on every node across the entire generated test suite and then manually creating copies of the tests with overflow:hidden for those testse that failed.
…to tracks, even when sizing under a min- or max-content constraint
2c590c1
to
2011868
Compare
Sounds like a good idea :) |
Chrome bug report: https://bugs.chromium.org/p/chromium/issues/detail?id=1431963 |
Chrome have merged my issue into https://bugs.chromium.org/p/chromium/issues/detail?id=240765 (which seems to be a WIP implementation of flexbox algorithm changes) with the comment "This passes with --enable-blink-features=NewFlexboxSizing". Which would suggest that the Taffy result is correct. Would interesting to try the gentest suite with |
Objective
overflow
property #304overflow:scroll
/overflow:auto
. Notably support for ascrollbar-width
property which measures the actual size of the scrollbars used in the browser that runs the gentests so that they can be accounted for in the layout. One thing to note is that the gentests will now fail to run if run in a browser using overlay scrollbars.. This is neccessary to ensure that our tests for layouts including scrollbars are actually testing things properly (because if the scrollbars take up no space then no special support is required).Context
Style.overflow
not hidding overflowed nodes bevyengine/bevy#8016overflow
property #412. I intend to submit separate PRs foroverflow: hidden
,overflow: scroll
, andoverflow: auto
as the changes required for each are quite separate.Notes
There is one disabled failing test:
Chrome gives the root node a width of 100px. Which seems wrong to me both intuitively and from reading the spec, as the combination of
overflow:hidden
andflex-basis: 0px
should clamp every except the inner node at 0px width. This is what Taffy currently does.In any case, I feel like this is a pretty obscure case and that it therefore shouldn't block this PR.
Feedback wanted
General PR review.