Closed Bug 1578777 Opened 2 years ago Closed 2 years ago

Div is not scrollable with mouse(but possible with dragging the scrollbar) when WebRender is enabled


(Core :: Graphics: WebRender, defect, P3)




Tracking Status
firefox71 --- verified


(Reporter: canova, Assigned: botond)




(Keywords: regression)


(7 files)

I encountered this while I was looking on a profile in

  1. Open .
  2. Make the window height narrower so we can see the scrollbar.
  3. Click to the "Firefox (65.0) Intel Mac OS X 10.14" text on top right corner to open the metadata popup panel.
  4. Try to scroll with your mouse without dragging the scrollbar

It works without webrender enabled and realized that it works with previous versions of webrender. Did a mozregression run and found out that this is regressed by (Bug 1550510).

I could reproduce this on my mac. Jeff, any suggestions?

Blocks: wr-70
Flags: needinfo?(jmuizelaar)
Priority: -- → P3

Let's ask Botond

Flags: needinfo?(jmuizelaar) → needinfo?(botond)

The scrollable element in question is not being layerized for some reason, even after user interaction.

It's not being layerized because it's inside a filter that WebRender doesn't support.

Bug 1550510 assumed that with WR we can handle all filters in the compositor and therefore we can layerize all scrollable elements inside filters. That's not the case.

Flags: needinfo?(botond)
Assignee: nobody → botond

This required replacing nsDisplayListBuilder::mSVGEffectsBuildingDepth with
a stack of the SVG effects frames that we're currently building inside.

Depends on D46063

Pushed by
Remove non-ASCII character from comment in WebRenderCommandBuilder.cpp. r=jrmuizel
Remove the builder parameter from nsDisplayFilters::CreateWebRenderCommands(). r=jrmuizel
Move CreateWebRenderCSSFilters() to nsSVGIntegrationUtils. r=jrmuizel
Introduce a helper nsSVGIntegrationUtils::CanCreateWebRenderFiltersForFrame(). r=jrmuizel
Use CanCreateWebRenderFiltersForFrame() in ScrollFrameWillBuildScrollInfoLayer(). r=tnikkel
Move UsesSVGEffectsNotSupportedInCompositor() to nsSVGIntegrationUtils. r=tnikkel
Use UsesSVGEffectsNotSupportedInCompositor() in ShouldBuildScrollInfoItemsForHoisting(). r=tnikkel

Tentative addition of QE+, will be removed if our hardware configuration(s) does allow us to reproduce the issue.

Has STR: --- → yes
Flags: qe-verify+

Hello! Reproduced the issue with Firefox 71.0a1 (20190904163258) on Windows 10x64.
The issue is verified fixed with Firefox 71.0b9 (20191111170815) on Windows 10x64, Ubuntu 18.04 and macOS 10.14. After following the STR from comment 0 the dropdown menu is scrollable while using Webrender.

Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.