Closed Bug 1490487 Opened 6 years ago Closed 3 years ago

webextension popup scrolling is laggy when there are position: sticky elements

Categories

(Core :: Panning and Zooming, defect, P3)

62 Branch
Desktop
macOS
defect

Tracking

()

RESOLVED DUPLICATE of bug 1493208
Tracking Status
firefox62 --- affected
firefox63 --- affected
firefox64 --- affected

People

(Reporter: jeremybmerrill, Unassigned)

References

Details

(Whiteboard: [gfx-noted])

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36

Steps to reproduce:

I maintain a browser extension [1] that has a popup. That popup has a `position: sticky` "header" and then a long stretch of content underneath it. Recently -- presumably due to a Firefox update, though I can confirm the issue existed on 61.something and 62.0 -- users began to report that they had difficulty scrolling down on the popup.

The issue is readily apparent by installing v1.6.12 of the extension (link above) and accepting the terms. (Once you see the header tabs saying "Ads I'm Seeing" and "Ads Others are Seeing", you're in the right place.) Click the "Ads Others are Seeing" tab and wait for some ads to show up.

Then, scroll down and observe that the content has disappeared. Observe  that the scrollbar also has disappeared. Notice that, after a few seconds, it reappear. 

Scrolling should be smooth, rather than waiting a few seconds to paint.

As an alternative to replicate the issue, after accepting the terms, scroll down. Note that the scrollbar disappears and then takes a few seconds to reappear.

[1] https://addons.mozilla.org/en-US/firefox/addon/facebook-ad-collector/


Actual results:

I noticed that if I changed the header's CSS position attribute to "fixed" from "sticky" the problem went away. It's a fairly easy workaround to do position: fixed and put a margin on the other content, but "sticky" should work properly.


Expected results:

position: sticky should work properly.
Hello Jeremy,

  I can reproduce the issue on MacOS on the latest Nightly 64, Beta 63 and Release 62 builds, using the v1.6.12 of your extension.
It's not reproducible on Windows and Linux.

Thanks for reporting!
Status: UNCONFIRMED → NEW
Component: Untriaged → Frontend
Ever confirmed: true
OS: Unspecified → Mac OS X
Product: Firefox → WebExtensions
Hardware: Unspecified → Desktop
Good point. I've only seen the issue on Mac too. (And the two people who reported the bug to me use Macs too.) Thanks Gyula!
Component: Frontend → Graphics: Layers
Product: WebExtensions → Core
I can reproduce this issue, just had to download the correct version.

This looks like some form of heavy checkerboarding. Interestingly, taking a profile shows no painting actually happening. Setting apz.popups.enabled = true, resolves this issue for me, making me think this is an APZ bug.
Component: Graphics: Layers → Panning and Zooming
Priority: -- → P3
Whiteboard: [gfx-noted]

In the latest Firefox Nightly we have enabled asynchronous scrolling (APZ) in extension popups, which based on the discussion in this bug should resolve this. Jeremy, would you be able to check if the problem is resolved in the latest Nightly?

Flags: needinfo?(jeremybmerrill)

I'm going to assume this has been resolved. Please feel free to reopen if not.

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