Closed Bug 1504444 Opened 6 years ago Closed 5 years ago

Sticky elements disappear after changing tab

Categories

(Core :: Layout: Positioned, defect)

65 Branch
x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1528957
Tracking Status
firefox63 --- affected
firefox64 --- affected
firefox65 --- affected

People

(Reporter: johnchen902, Unassigned)

References

Details

Attachments

(1 file)

Attached file sticky-bug.html
Steps to Reproduce
------------------
1. Open sticky-bug.html (as attached).
2. Scroll to bottom.
   The header should be visible (sometimes it's not; this may be the same bug).
3. Switch to another tab.
4. Switch back to the tab with sticky-bug.html.
   The header should be visible, but it's not (100% reproducible).

Tested versions
---------------
Arch Linux
firefox 63.0.1-1 + sway-git r5050.a918844e-1: Bugged
firefox 63.0.1-1 + plasma-desktop 5.14.2-1: Bugged
firefox 65.0a1.20181103-1 + sway-git r5050.a918844e-1: Bugged
firefox 65.0a1.20181103-1 + plasma-desktop 5.14.2-1: Bugged
Product: Firefox → Core
After scrolling down a ways, the header disappears once the scroll bar disappears. May be related to bug 1455142, moving to p&z  for :kats review
Component: General → Panning and Zooming
Flags: needinfo?(kats)
Emilio, any thoughts on what's going on here? It doesn't smell like an APZ bug per se, since the buggy behaviour appears (albeit not very consistently) after a main-thread repaint. Also it happens with APZ disabled, and with WR enabled/disabled.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(kats) → needinfo?(emilio)
We have a couple other similar sticky bugs... I guess this is specific to tables?

The table painting code is not great, but probably can dig what's up with this... I also wanted to look into bug 1498772, so who knows, maybe I get to look into both.

But I'd bet this is not an APZ but, yeah.
Component: Panning and Zooming → Layout: Positioned
I took a look today.

We're hitting this code path on the bogus paint:

  https://searchfox.org/mozilla-central/rev/b096dcf0ea226af628fe03f7e7acb56a25853533/layout/tables/nsTableRowGroupFrame.cpp#217

This is the cursor code not dealing with sticky positioning at all. It also probably doesn't deal with transforms properly? I'd need to check.

In any case, I wonder how useful is this code. I can fix it so it tries to deal with sticky positioning, but  This was added in bug 241796, but it looks like APZ and RDL should kind of supersede this code... Matt, does that sound right?

Should I just remove this code, or should I make it understand sticky positioning? It's only used for DL building so shouldn't have other perf impact...
Flags: needinfo?(emilio) → needinfo?(matt.woodrow)
See Also: → 241796

This will be fixed by bug 1528957.

Status: NEW → RESOLVED
Closed: 5 years ago
Flags: needinfo?(matt.woodrow)
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: