Closed Bug 1578777 Opened 5 years ago Closed 5 years ago

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

Categories

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

defect

Tracking

()

VERIFIED FIXED
mozilla71
Tracking Status
firefox71 --- verified

People

(Reporter: canova, Assigned: botond)

References

(Regression)

Details

(Keywords: regression)

Attachments

(7 files)

I encountered this while I was looking on a profile in profiler.firefox.com.
STR:

  1. Open https://perfht.ml/34mruX1 .
  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 https://hg.mozilla.org/integration/autoland/rev/c0a07a2c5d0263b35ceb271c668a41256b959630 (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 bballo@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ff6a071cf39e Remove non-ASCII character from comment in WebRenderCommandBuilder.cpp. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/773809005683 Remove the builder parameter from nsDisplayFilters::CreateWebRenderCommands(). r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/29130e26511b Move CreateWebRenderCSSFilters() to nsSVGIntegrationUtils. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/430834640980 Introduce a helper nsSVGIntegrationUtils::CanCreateWebRenderFiltersForFrame(). r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/c278c4ce9447 Use CanCreateWebRenderFiltersForFrame() in ScrollFrameWillBuildScrollInfoLayer(). r=tnikkel https://hg.mozilla.org/integration/autoland/rev/b3d7b5f40cf7 Move UsesSVGEffectsNotSupportedInCompositor() to nsSVGIntegrationUtils. r=tnikkel https://hg.mozilla.org/integration/autoland/rev/504f24d73316 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.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
Has Regression Range: --- → yes
Regressions: 1787623
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: