DescriptionASSERTION FAILED: mainAxisExtent - mainAxisBorderAndPaddingExtentForChild(child) >= 0 in RenderFlexibleBox::preferredMainAxisContentExtentForChild
The assertion mainAxisExtent - mainAxisBorderAndPaddingExtentForChild(child) >= 0
in RenderFlexibleBox::preferredMainAxisContentExtentForChild gets failed for the following
case <html style="display: -webkit-inline-flex;"><frameset></frameset></html>.
Actually this assertion is getting failed because when computing mainAxisExtent
for the child (in our case frameset element) it calls the api
maxPreferredLogicalWidth() in RenderBox. In this api it calls the api
computePreferredLogicalWidths() of that child. Since child is a frameset element
and there is no computePreferredLogicalWidths() defined in RenderFrameSet and
since RenderFrameSet is a subclass of RenderBox so it calls the
computePreferredLogicalWidths() of RenderBox. Since the
computePreferredLogicalWidths() api of RenderBox does only
clearPreferredLogicalWidthsDirty(); so the maxPreferredLogicalWidth return for
frameset element is -1.
This patch fixes this bug by implementing RenderFrameSet::computePreferredLogicalWidth. In this api we are simply initializing maxPreferredLogicalWidth and minPreferredLogicalWidth to 0.
BUG=335121
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=177459
Patch Set 1 #
Total comments: 2
Patch Set 2 : Implementing RenderFrameSet::computePreferredLogicalWidths. #
Messages
Total messages: 17 (0 generated)
|