Closed Bug 421419 Opened 16 years ago Closed 16 years ago

Inconsistent layout with rtl, float, margin-left

Categories

(Core :: Layout: Text and Fonts, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.9beta5

People

(Reporter: jruderman, Assigned: uriber)

References

Details

(Keywords: regression, rtl, testcase)

Attachments

(4 files)

The testcase and reference should look the same because they have identical final DOMs.

Based on the reftest for bug 420069.
Attached file testcase (dynamic)
Attached file reference (static)
It's pretty clear to me that the static reference is the one that's broken: the margin seems to be counted twice when calculating the width of the float.
This is a regression from bug 365130. It seems that nsContainerFrame::DoInlineIntrinsicWidth() make some assumptions which are not true if bidi resolution already happened.
Blocks: 365130
Severity: minor → normal
Component: Layout: Floats → Layout: BiDi Hebrew & Arabic
Keywords: regression
QA Contact: layout.floats → layout.bidi
Attached patch patch?Splinter Review
Don't assume the first-in-flow [last-in-flow] is on the first [last] line if it has a previous [next] continuation.
Attachment #307935 - Flags: review?(dbaron)
Comment on attachment 307935 [details] [diff] [review]
patch?

r+sr=dbaron, but maybe add a comment mentioning bidi continuations (and please add the test as a reftest)

We should get this in for 1.9.  It's low risk; it affects padding/border/margin only on inline elements that have multiple text directions within them.
Attachment #307935 - Flags: superreview+
Attachment #307935 - Flags: review?(dbaron)
Attachment #307935 - Flags: review+
Attachment #307935 - Flags: approval1.9?
Patch with extra comments and (slightly simplified) reftest.
Assignee: nobody → uriber
Status: NEW → ASSIGNED
Comment on attachment 307935 [details] [diff] [review]
patch?

a1.9+=damons
Attachment #307935 - Flags: approval1.9? → approval1.9+
Checked in:
Checking in mozilla/layout/generic/nsContainerFrame.cpp;
/cvsroot/mozilla/layout/generic/nsContainerFrame.cpp,v  <--  nsContainerFrame.cpp
new revision: 1.311; previous revision: 1.310
done
Checking in mozilla/layout/reftests/bugs/reftest.list;
/cvsroot/mozilla/layout/reftests/bugs/reftest.list,v  <--  reftest.list
new revision: 1.394; previous revision: 1.393
done
RCS file: /cvsroot/mozilla/layout/reftests/bugs/421419-1-ref.html,v
done
Checking in mozilla/layout/reftests/bugs/421419-1-ref.html;
/cvsroot/mozilla/layout/reftests/bugs/421419-1-ref.html,v  <--  421419-1-ref.html
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/layout/reftests/bugs/421419-1.html,v
done
Checking in mozilla/layout/reftests/bugs/421419-1.html;
/cvsroot/mozilla/layout/reftests/bugs/421419-1.html,v  <--  421419-1.html
initial revision: 1.1
done
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9beta5
Mass-assigning the new rtl keyword to RTL-related (see bug 349193).
Keywords: rtl
Component: Layout: BiDi Hebrew & Arabic → Layout: Text
QA Contact: layout.bidi → layout.fonts-and-text
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: