Bug 43588 - Too much whitespace in nested rows
Summary: Too much whitespace in nested rows
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: MathML (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Alex Milowski
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-05 16:17 PDT by Beth Dakin
Modified: 2010-10-17 11:44 PDT (History)
4 users (show)

See Also:


Attachments
Test case (2.21 KB, application/xhtml+xml)
2010-08-05 16:17 PDT, Beth Dakin
no flags Details
Reduced Example of Problem (380 bytes, application/xhtml+xml)
2010-10-15 12:00 PDT, Alex Milowski
no flags Details
Patch that removes the extra space above non-stretched operators (511.04 KB, patch)
2010-10-17 11:26 PDT, Alex Milowski
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Beth Dakin 2010-08-05 16:17:24 PDT
Created attachment 63660 [details]
Test case

In the attached test case, there is too much whitespace in the rows. Firefox's rendering is much tighter. I think that some of the stretching in RenderMathMLRow::layout() might be overly aggressive.
Comment 1 François Sausset 2010-08-06 00:53:48 PDT
(In reply to comment #0)
> Created an attachment (id=63660) [details]
> Test case
> 
> In the attached test case, there is too much whitespace in the rows. Firefox's rendering is much tighter. I think that some of the stretching in RenderMathMLRow::layout() might be overly aggressive.

Yes, there is still a lot of work to do about the layout of MathML elements in general and specially for mrow.
Layout and robustness vs zooming are the two things we plan to focus our attention on in the coming weeks/months.
Comment 2 Alex Milowski 2010-10-14 13:58:03 PDT
Something else strange is going on here.  The operator height is being set to the container size but then then alignment is set to near bottom of the box.  This causes the whole thing to stretch in strange ways.  While it is coming from row layout, it isn't operator stretching.  Instead, it comes from attempting to align the operator.

Either way, this is very broken.
Comment 3 Alex Milowski 2010-10-15 12:00:21 PDT
Created attachment 70887 [details]
Reduced Example of Problem

This attached example demonstrates the problem as well (although less dramatic).  The operators are extending the vertical height because the operator placement in the block and their baseline is wrong.  This causes the overall row to have a larger space on top than it should.  The bug is in RenderMathMLOperator and its relationship to the row.
Comment 4 Alex Milowski 2010-10-17 11:26:17 PDT
Created attachment 70979 [details]
Patch that removes the extra space above non-stretched operators
Comment 5 Kenneth Rohde Christiansen 2010-10-17 11:29:08 PDT
Comment on attachment 70979 [details]
Patch that removes the extra space above non-stretched operators

Nice
Comment 6 WebKit Commit Bot 2010-10-17 11:44:40 PDT
Comment on attachment 70979 [details]
Patch that removes the extra space above non-stretched operators

Clearing flags on attachment: 70979

Committed r69926: <http://trac.webkit.org/changeset/69926>
Comment 7 WebKit Commit Bot 2010-10-17 11:44:46 PDT
All reviewed patches have been landed.  Closing bug.