[css-flex] Slightly change flex cache logic.
Previously if our initial block-size was indefinite, and we were a flexbox - we'd apply a series of additional invalidations to ensure correctness. These are cases where we can't guarantee "trust" in the value of NGLayoutResult::IntrinsicBlockSize, as it depends on "extrinsic" constraints such as a parent forcing a fixed-block-size or a %-block-size changing. In an upcoming patch, there are more cases where we treat an *initial* block-size as indefinite, even though ComputeBlockSizeForFragment will return a definite size. E.g. there will be a difference between ComputeBlockSizeForFragment, and ComputeInitialBlockSizeForFragment. This change makes the cache more precise in the above case, by always calling ComputeBlockSizeForFragment, but (importantly) giving an indefinite intrinsic-block-size where we can't trust NGLayoutResult::IntrinsicBlockSize. Bug: 1033476 Change-Id: I798fe7d50247a4eec0131ec46061b33484347e8c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2621976 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by:David Grogan <dgrogan@chromium.org> Cr-Commit-Position: refs/heads/master@{#842377}
Showing
Please register or sign in to comment