From Chrome bug https://bugs.chromium.org/p/chromium/issues/detail?id=675333 The code here: https://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp#L1499 childWidth = child.constrainLogicalWidthInRegionByMinMax(childWidth, childWidth, *this); Should not pass childWidth() as the second argument -- that will lead to an incorrect percentage calculation for multiline column flexboxes or children with margins in a column flexbox. See the mentioned Chrome bug for a testcase. Fix should be to replace the second childWidth with contentLogicalWidth().
<rdar://problem/29780895>
This is a confirmed bug in Chrome with a known and easy fix. Bumping this to request an easy patch because this bug affects a number of CSS/JS layout frameworks, and causes more harm the longer the bug lingers. Thanks!
This was fixed (and atest case added) by my Blink merge to flex box.