bugzilla.mozilla.org will be intermittently unavailable on Saturday, March 24th, from 16:00 until 20:00 UTC.

Displayport expiry can result in perma-checkerboarding




Firefox for Android
2 years ago
a year ago


(Reporter: kats, Unassigned)


48 Branch

Firefox Tracking Flags

(firefox47 unaffected, firefox48 wontfix, firefox49 wontfix, firefox50 wontfix, firefox51 wontfix, firefox52 wontfix, firefox53 affected)


+++ This bug was initially created as a clone of Bug #1280013 +++

Load something like https://treeherder.mozilla.org/#/jobs?repo=try&revision=f615a14b2c7b&group_state=expanded&selectedJob=22404671 in desktop mode in Fennec. Make sure the error pane down below is scrollable. Zoom in so that the error pane occupies most of the visible space, and scroll it. Then wait 15s for the displayport on the subframe to expire. When this happens, the displayport on the root content document is also removed and re-added, but it gets reset back to 0,0. This results in visible perma-checkerboarding.

The displayport getting removed and re-added is intentional, from the code at [1]. However it doesn't account for the fact that in some cases (e.g. overflow:hidden but zoomable documents) there is a persistent callback transform that shifts the displayport from the composition bounds. When the displayport is removed and re-added the new version doesn't have the callback transform, and so it gets reset back to 0,0.

It's kind of an edge case but shouldn't be too hard to fix.

[1] http://searchfox.org/mozilla-central/rev/970569ad57ac4436ff31aa2ac63f38ed3ee2932d/layout/generic/nsGfxScrollFrame.cpp#2434
Blocks: 776030
status-firefox50: affected → fix-optional
status-firefox51: --- → affected
status-firefox52: --- → affected
status-firefox50: fix-optional → wontfix
status-firefox51: affected → wontfix
status-firefox52: affected → wontfix
status-firefox53: --- → affected
You need to log in before you can comment on or make changes to this bug.