Closed Bug 1388904 Opened 6 years ago Closed 6 years ago

stylo: <ruby> at line ends may not have correct justification applied


(Core :: CSS Parsing and Computation, defect, P2)




Tracking Status
firefox57 --- fixed


(Reporter: manishearth, Assigned: xidorn)


(Blocks 1 open bug)



(1 file)

Attached file testcase.html
In gecko, the attached test case will read "東  京" in kanji with ruby on top. The "東" and "京" will be at the 1/3 and 2/3 mark of the page.

In stylo, the "東" and "京" will be at opposite ends of the page, but the ruby will be in the same spot.

I thought this might be due to us not handling mTextAlignLastUnsafe, but that's not getting set on this page.

This causes ./layout/reftests/writing-mode/1135361-ruby-justify-1.html
Attachment #8895576 - Attachment mime type: text/plain → text/html
I also verified that the getComputedStyle() trees are identical (which only points more strongly to something weird going on with the disabled unsafe/true value support), but that's not the case either.
So this is because the SHOULD_SUPPRESS_LINEBREAK flag is not correctly set to the text frame in this case, so it breaks the shortcut check at,3142

So in this case, inheriting flags doesn't work, because the text frame inherits from <ruby>, which doesn't have the flag we want. We need to do an additional check in StyleAdjuster::adjust_for_text() to apply this flag when its parent has any ruby display type.
Assignee: nobody → xidorn+moz
Priority: P3 → P2
Summary: stylo: text-align-last doesn't work with <ruby> inside <p> → stylo: <ruby> at line ends may not have correct justification applied
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.