Bug 57700

Summary: RenderMathMLOperator mutates the render tree in layout()
Product: WebKit Reporter: mitz
Component: MathMLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Major CC: alex, bdakin, donggwan.kim, fred.wang, mrobinson, ojan
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 121416    
Bug Blocks:    

Description mitz 2011-04-01 22:35:26 PDT
RenderMathMLOperator::layout() deletes and creates renderers. Layout time is not the right time to do this. One serious side effect of this is that preferred logical width computation is completely wrong.
Comment 1 mitz 2011-04-01 22:39:25 PDT
<rdar://problem/9225770>
Comment 2 Alex Milowski 2011-04-25 14:07:02 PDT
Only at layout time do we know the operator height.  Glyph stacking is relative to the row height calculated when the row's contents are laid out.  This is then essential for the layout of rows that contain rows with operators that are to be stretched.

I'm certainly open to suggestions as to when this should happen but the information necessary to stretch the operator is ascertained during the layout of the containing row and so it always happens at layout().  

You should look at the RenderMathMLRow to see when the operator stretch height is calculated.
Comment 3 Martin Robinson 2013-10-08 16:09:38 PDT

*** This bug has been marked as a duplicate of bug 122361 ***