Closed Bug 311146 Opened 19 years ago Closed 19 years ago

position:fixed elements scroll with page / redraw badly

Categories

(Core :: Layout: Positioned, defect)

1.8 Branch
x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: tom.pike, Assigned: roc)

References

()

Details

(Keywords: fixed1.8, platform-parity, regression)

Attachments

(4 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b5) Gecko/20051004 Firefox/1.4.1
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b5) Gecko/20051004 Firefox/1.4.1

Elements on the page that are supposed to be fixed position are being scrolled
with the page and are redrawn incorrectly when scrolled back into view.

Reproducible: Always

Steps to Reproduce:
1. Go to http://www.xiven.com/
2. Scroll down
3. Scroll back up again

Actual Results:  
Right menu scrolls with the page when scrolling down and is redrawn incorrectly
when scrolling back up.

Expected Results:  
Right menu should not move when the page is scrolled.

Regressed between 20051003 and 20051004
Attached image screenshot
that's odd.

it's broken on http://www.xiven.com/

but not on other sites.
(In reply to comment #2)
Could be that it's only broken for XHTML?

http://www.xiven.com/weblog?force=html (same page but in HTML) seems fine.
(In reply to comment #3)
> (In reply to comment #2)
> Could be that it's only broken for XHTML?
> 
> http://www.xiven.com/weblog?force=html (same page but in HTML) seems fine.

hmm.. interesting.

if someone has time, try making 2 test pages, one with XHTML and a .xhtml
extension, etc. and one with HTML and a .html extension.

That just might narrow it down to what is needed for a fix.
bz: Trunk regression.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: blocking1.8.1?
Version: Trunk → 1.8 Branch
(er, i mean branch regression. my bad.)

roc: views-related?
> Regressed between 20051003 and 20051004

What hours?
(In reply to comment #9)
> What hours?

Must have been between the nightly builds of 2005-10-03-08 and 2005-10-04-08. 
Sorry I can't be more specific this time.
Version: 1.8 Branch → Trunk
I'll bet this is a regression from bug 281709, esp. since this is windows-only...

roc, any idea what's up here?
Flags: blocking1.8rc1?
Keywords: pp
Version: Trunk → 1.8 Branch
Bug 278353 is similar and it's probably the same issue here: widgets for
fixed-pos elements being created/shown in a different order so that they're no
longer on top of the scrollport widget for the viewport.

Indeed, nsWindow::Show for Win32 does sometimes move the widget to top. You
could try making this unconditional:
http://lxr.mozilla.org/mozilla/source/widget/src/windows/nsWindow.cpp#1671
but that might be risky.
Flags: blocking1.8rc1?
Flags: blocking1.8rc1+
Flags: blocking1.8.1?
Blocks: 281709
ROC, we need your help on this. Time
Assignee: nobody → roc
I still don't have a Windows environment.
David, can you help out here? 
(In reply to comment #11)
> I'll bet this is a regression from bug 281709, esp. since this is windows-only...

I confirmed this by local backout.


Also, it seems to me that attachment 198556 [details] shows the bug but attachment 198557 [details]
does not.  Is that what others were seeing?
(In reply to comment #18)
> Also, it seems to me that attachment 198556 [details] [edit] shows the bug but
attachment 198557 [details] [edit]
> does not.  Is that what others were seeing?

Yes, see comment 2 and comment 3.
I think this is roughly what roc suggested, but it did not fix the bug for me.
I suggest you use Spy++ to check the widget state for the content before and
after the patch in bug 281709.
Keywords: regression
Not sure if this might help...

On the testcase, the bug does not occur if you use autoscroll.  What's more, as
soon as you click and the marker appears, the div fixes itself.
David, and Robert, time is running out here. If we don't have something (and
something pretty safe) in the next couple of days, this is gonna miss the 1.8
releases.
This is bad, but it's not extremely bad. XHTML plus position:fixed is a pretty
small set of pages.
OK, give that this only affects a small set of pages, removing from the blocking
radar.
Flags: blocking1.8rc1+ → blocking1.8rc1-
We need to block on this.

Yes, it's a subset of 'position:fixed' pages.

But 'position:fixed' is one of the top features that Web developers like
about Gecko that IE doesn't implement.  So much so that IE7 is
implementing it.  If we break it in the 1.5 release (which likely means
it will also be broken for the 2.0 release), it will do significant
damage to our reputation with Web developers.

I think the fact that we even considered taking such low-level changes
as bug 281709 to fix a cosmetic bug as late in the game as we took them
says our process is broken.  The bug that caused this regression should be
backed out.
David or Robert, we need to try to get a fix for this. Backing out 281709 would
be a major UI regression over 1.0 and if we consider that, then I think we also
need to consider backing out the change that broke our menus in the first place.
Flags: blocking1.8rc1- → blocking1.8rc1+
Backing out the change that broke the menus in the first place would reintroduce
a DHTML bug that was one of the major complaint of web authors about our DHTML
impl....  (see the bugs bug 244366 blocks).

I'll put some comments in bug 281709 that might lead us to a solution, but I
need a Windows buddy to have a hope of getting anywhere on this... :(
The patch which introduced this regerssion has been backed out of the branch and
we have another fix which should fix the drop shadow issue without causing this
regression.

I'm going to mark this fixed but we should still get a verification on the
branch tomorrow.
Status: NEW → RESOLVED
Closed: 19 years ago
Keywords: fixed1.8
Resolution: --- → FIXED
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8b5) Gecko/20051020
Firefox/1.5 ID:2005102017

Verified fixed on branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: