Open Bug 1551697 Opened 5 years ago Updated 2 years ago

Layer invalidation issue with will-change: transform when used with menupopup

Categories

(Core :: Graphics, defect, P2)

defect

Tracking

()

Tracking Status
firefox68 --- disabled
firefox69 --- disabled

People

(Reporter: rowbot, Unassigned)

References

Details

(Keywords: regression)

Attachments

(3 files)

Attached image bookmarks.png

Using Windows 10 with the latest Nightly.

STR:

  1. Add the Bookmarks Menu icon to the url bar.
  2. Have enough bookmarks in the Bookmark Menu so that it is scrollable.
  3. Scroll up and down.

AR:
The Bookmarks Menu sometimes overflows its box, by ~20px, while scrolling. Moving the mouse will fix it as it presumably causes the browser to redraw the menu.

ER:
The Bookmarks Menu should not overflow.

I think this is a gfx issue since moving the mouse fixes it, but I suppose it could be a widget or css issue as well. I have tried turning off OMTP, HW acceleration, Webrender, Advanced Layers, and the GPU process. Kind of out of ideas now. Ran mozregression real quick and I can reproduce this issue all the way back to January 2018, so it doesn't seem new, though I don't really recall noticing it before. I'll see about going back further in mozregression.

Unfortunately, mozregression couldn't narrow it down any further.

Last good: 2018-01-17
First bad: 2018-01-18
Push Log: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b7a651281314d6369658eeb58e3bb181cf95016f&tochange=d4d53f4069f43eab1aae8bcf4def08bdb5a84d8d

After poking at this a little bit, I've found that removing the will-change: transform, opacity; property from the #BMB_bookmarksPopup element fixes this glitch. Narrowing it down more, only having will-change: transform; present causes the glitch to reappear.

Bug 1425213 was in the regression range and appears to be the only change related to transforms. :hiro, are you able to tell if this is caused by Bug 1425213?

Flags: needinfo?(hikezoe)

I am not sure. The fact that removing will-change: transform fixes the issue sounds to me that bug 1425213 is unrelated. The will-change style there refers to bug 1414033 it's fixed very recently so mattwoodrow knows something?

Flags: needinfo?(hikezoe)
Flags: needinfo?(matt.woodrow)
Priority: -- → P3
Attached video demo.mp4

In the video, if you watch the right side of the bookmarks menu, you can see it keeps overflowing when scrolling.

I'm not entirely sure, it appears we have a bug somewhere with will-change:transform.

Bug 1543508 is probably going to remove this usage of it, so that might be a good fix in the short term.

Flags: needinfo?(matt.woodrow)
Depends on: 1543508
Priority: P3 → P2

Hi Gijs,

Wondering when you think you'll be able to fix Bug 1543508? (seems this one depends on it).
[regression triage for 68]

Thanks,
-Patricia

Flags: needinfo?(gijskruitbosch+bugs)

I've added a patch on the other bug. Is there any reason not to just mark this as a dupe of 1543508? It looks like exactly the same issue to me.

Flags: needinfo?(gijskruitbosch+bugs) → needinfo?(smokey101stair)

I will turn this bug into a bug for investigating the underlying issue with will-change: transform since Matt pointed out that Bug 1543508 is only papering over the issue.

Flags: needinfo?(smokey101stair)
Summary: Bookmarks menu sometimes draws outside its bounding box when scrolling → Layer invalidation issue with will-change: transform when used with menupopup
Attached image menupopup.png

In this image, I have removed the -moz-appearance: none css attribute from #BMB_bookmarksPopup, which causes the popup to have the -moz-appearance: menupopup css attribute. We can see that the "overflow" is filling up the space between the edge of the bookmarks menu to the edge of the menupopup element. Not really sure if I should poke someone from gfx, css, or dom about this.

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: