Closed Bug 175364 Opened 22 years ago Closed 20 years ago

{inc}absolutely positioned elts. w/ auto offsets not moved with placeholder in incremental reflow

Categories

(Core :: Layout: Positioned, defect, P2)

defect

Tracking

()

RESOLVED FIXED
Future

People

(Reporter: mozilla, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: regression, testcase)

Attachments

(2 files)

When you first visit the testcase, the text overlaps the image. Pressing reload
causes the page to be rendered correctly (the text appears below the image). If
you hold down shift and click the reload button, then the text appears on top of
the image once again.

Although the reports are very similar, I do not believe this is a dupe of bug
148158 because I can't reproduce that one.

Version: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b) Gecko/20021018.
Attached file Testcase —
Looks like moving the placeholder does not reposition the abs pos element to
match (I'm coming to doubt the reasonableness of this part of the spec....)
Severity: normal → minor
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: testcase
Summary: absolute positioned div overlaps image until reload is pressed → [ABS POS] absolute positioned div overlaps image until reload is pressed
regression between trunk builds 2002061108 and 2002061304
bug 146831?
Keywords: regression
QA Contact: petersen → moied
Priority: -- → P4
Target Milestone: --- → Future
==> Rel/Abs Positioning
Assignee: attinasi → position
Component: Layout → Layout: R & A Pos
QA Contact: moied → ian
There are number of bugs getting filed which are related to 'absolute positioning'.

I see this on win2k as well. Platform -> all

The testcase provided in bug 148158 wfm..... moreover, looking at the source
code of that testcase ....... there is no element absolutely positioned. 






OS: Linux → All
Hardware: PC → All
Summary: [ABS POS] absolute positioned div overlaps image until reload is pressed → [ABS POS]{inc}incremental reflow leaves absolutely positioned elements with auto offsets
*** Bug 182245 has been marked as a duplicate of this bug. ***
*** Bug 192037 has been marked as a duplicate of this bug. ***
*** Bug 201043 has been marked as a duplicate of this bug. ***
Severity: minor → normal
Priority: P4 → P2
Summary: [ABS POS]{inc}incremental reflow leaves absolutely positioned elements with auto offsets → {inc}absolutely positioned elts. w/ auto offsets not moved with placeholder in incremental reflow
This shouldn't be too hard to fix if we're willing to take a little bit of a
performance hit.  Note that we don't need to reflow -- we just need to
reposition.  We can thus reposition (and, if they move, invalidate) all
auto-offset absolutely positioned elements in an additional movement function
called right before we call nsAbsoluteContainingBlock::CalculateChildBounds.

This work is rather similar to some of what needs to be done for bug 157681.
Severity: normal → major
Priority: P2 → --
Target Milestone: Future → ---
Priority: -- → P2
Target Milestone: --- → Future
So this is also target 1.5a --> as defined for 157681
Nice to know that you plan to fix this by 1.5a.
Assignee: position → markush
It seems I got something wrong here :)
Thought there is a dependence between this and bug 157681 - but it's just 
related to 157681 (but not timely).
Assignee: markush → position
bug 157681 is now targeted for 1.6a. Is this also planned for 1.6a?
*** Bug 218455 has been marked as a duplicate of this bug. ***
Attached file Testcase #2 —
Blocks: 204719
You know, I would love to fix this, it's my #1 most annoying bug, but I haven't
really any idea what the code paths are that I need to look at. Maybe someone
can help me out and we can get a patch on this finally?
See nsBlockFrame::Reflow and nsPositionedInlineFrame::Reflow, as well as
nsViewportFrame::Reflow.

The real question is how to fix this without causing major performance issues,
of course.
The performance hit can't be that bad.  I know that if you resize the window 
it re-draws the page correctly.  It should only be a matter of calling that 
existing code.  Re-drawing the page may not be a cheap operation, but 
considering everything has already been downloaded it's not that expensive, 
timewise, either.  The trick would be knowing when to call the code and when 
not to, because you don't need to do it for every link.
Redoing the entire page layout on each incremental change (as you suggest) would
be a disastrous perf hit, actually.  Consider various "DHTML" gadgets (tickers,
blinkers, etc, etc).
*** Bug 223515 has been marked as a duplicate of this bug. ***
Blocks: 224101
Blocks: 225429
*** Bug 228370 has been marked as a duplicate of this bug. ***
Blocks: 228370
*** Bug 230026 has been marked as a duplicate of this bug. ***
Blocks: 230978
Blocks: 167769
*** Bug 235889 has been marked as a duplicate of this bug. ***
Blocks: 239130
Blocks: 239970
Blocks: 244730
No longer blocks: 239130
*** Bug 252519 has been marked as a duplicate of this bug. ***
Blocks: 253094
Blocks: 254813
No longer blocks: 254813
Blocks: 256583
Depends on: 261064
I've used the latest patch
(https://bugzilla.mozilla.org/attachment.cgi?id=160116&action=view) from bug
261064 for my debug build.

I've gone through all the bugs that are blocked by this bug. I'm listing here if
these bugs would become fixed by the latest patch from bug 261064:
bug 239970 - no testcase
bug 244730 - fixed
bug 253094 - fixed
bug 256583 - fixed
bug 230978 - can't reproduce (no testcase, only website)
bug 228370 - no testcase
bug 225429 - fixed
bug 224101 - no testcase
bug 204719 - can't reproduce (yes, I've tried the testcase locally)
bug 201475 - not related to this bug (maybe not even a bug)
bug 167769 - can't reproduce (no testcase, only website)
bug 166705 - can't reproduce (website has changed)
Martjin, do you think you could possibly check out the duplicates of this bug
too?  If you could, that would be wonderful!
Ok, here are the duplicates:
Bug 182245 - fixed
Bug 192037 - fixed
Bug 201043 - no testcase
Bug 218455 - fixed
Bug 223515 - no testcase (website has changed)
Bug 230026 - fixed
Bug 235889 - fixed
Bug 252519 - fixed

There is now a testcase for this dependant bug:
Bug 224101 - fixed for the most part (see bug for remaining issue)
Sweet...
*** Bug 265855 has been marked as a duplicate of this bug. ***
Blocks: 265855
*** Bug 265855 has been marked as a duplicate of this bug. ***
Looks fixed now with the fix for bug 261064.  Both testcases now WFM 20041115
PC/Win2000.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Did that go into aviary?
What is required to get it in aviary?
*** Bug 270840 has been marked as a duplicate of this bug. ***
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: