Closed Bug 363637 Opened 14 years ago Closed 14 years ago

{inc}abs pos frame in rel pos RTL block has right:auto at left edge

Categories

(Core :: Layout: Positioned, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.9alpha1

People

(Reporter: dbaron, Assigned: bzbarsky)

References

()

Details

(Keywords: regression, rtl)

Attachments

(2 files, 1 obsolete file)

In bug 328181 comment 17, Uri wrote (with correction rolled in):

However, the reflow branch also introduced a new regression: in the RTL lines
(3,4) of the "Absolute" and "Absolute, margins" sections of all three
testcases, the inner div is rendered outside the outer div, to its left.
I tried tracking this down, but I don't have enough time to properly learn the
code involved and understand where exactly the problem is.
(I suspect it might be due to GetNearestContainingBlock() returning a bogus
aContentArea, with a negative |right|, but I'm not really sure).

Steps to reproduce: load attachment 232963 [details]

Expected results:  All 4 inner boxes visible in "Absolute" and "Absolute, margins" sections

Actual results: Two of the boxes are off the left edge of the screen.


I actually don't see how this ever worked unless we were doing extra reflows:  CalculateHypotheticalBox calls GetNearestContainingBlock, which calls aFrame->GetSize(), but aFrame hasn't had its reflow finished yet, so its size hasn't been set yet.
Attached patch This fixes the problem for me (obsolete) — Splinter Review
Attachment #248688 - Flags: superreview?(dbaron)
Attachment #248688 - Flags: review?(dbaron)
Comment on attachment 248688 [details] [diff] [review]
This fixes the problem for me

>+    /* XXXbz Could we assert that aFrame doesn't have NS_FRAME_IN_REFLOW set? */

Please do.


r+sr=dbaron
Attachment #248688 - Flags: superreview?(dbaron)
Attachment #248688 - Flags: superreview+
Attachment #248688 - Flags: review?(dbaron)
Attachment #248688 - Flags: review+
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
Fixed, and added to reftest.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9alpha
Attached patch Header patchSplinter Review
This is also needed for this to work.  ;)
Attachment #248688 - Attachment is obsolete: true
Depends on: 364192
Mass-assigning the new rtl keyword to RTL-related (see bug 349193).
Keywords: rtl
You need to log in before you can comment on or make changes to this bug.