Skip measurement when there's no available vertical space

We already did this optimization when there wasn't any
available horizontal space. Now we're covering the
vertical space case as well.

This optimization assumes that, for a node with a
measure function, if there isn't any available
horizontal or vertical space, then we don't need to
measure the node and can assume that the node is 0x0.
This commit is contained in:
Adam Comella
2016-05-25 10:53:15 -07:00
parent 8177bfe702
commit 16f43dac87
9 changed files with 14 additions and 14 deletions

4
dist/css-layout.js vendored
View File

@@ -647,9 +647,9 @@ var computeLayout = (function() {
// Don't bother sizing the text if both dimensions are already defined.
node.layout.measuredWidth = boundAxis(node, CSS_FLEX_DIRECTION_ROW, availableWidth - marginAxisRow);
node.layout.measuredHeight = boundAxis(node, CSS_FLEX_DIRECTION_COLUMN, availableHeight - marginAxisColumn);
} else if (innerWidth <= 0) {
} else if (innerWidth <= 0 || innerHeight <= 0) {
// Don't bother sizing the text if there's no horizontal space.
// Don't bother sizing the text if there's no horizontal or vertical space.
node.layout.measuredWidth = boundAxis(node, CSS_FLEX_DIRECTION_ROW, 0);
node.layout.measuredHeight = boundAxis(node, CSS_FLEX_DIRECTION_COLUMN, 0);
} else {