Bug 57700
Summary: | RenderMathMLOperator mutates the render tree in layout() | ||
---|---|---|---|
Product: | WebKit | Reporter: | mitz |
Component: | MathML | Assignee: | 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: |
mitz
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.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
mitz
<rdar://problem/9225770>
Alex Milowski
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.
Martin Robinson
*** This bug has been marked as a duplicate of bug 122361 ***