Marking the frame's overflow area for rebuild doesn't include out-of-flow descendants

RESOLVED FIXED in Firefox 60

Status

()

enhancement
RESOLVED FIXED
a year ago
a year ago

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

Tracking

Trunk
mozilla60
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox60 fixed)

Details

Attachments

(2 attachments)

(Assignee)

Description

a year ago
If we mark a frame modified for display list building, and that frame has placeholder descendants, then the overflow area we contribute to building won't include the area for the out of flow frames.

If the modified frame has an empty area, then we can end up doing no building, and then discard display items belonging to the out of flow frames.
(Assignee)

Comment 1

a year ago
This triggers a display item rebuild for the frame with opacity, it has empty overflow, and we don't build any display items.

During the merging phase we discard the nsDisplayOpacity, since it belongs to a modified frame, and the final list no longer has an content.
Attachment #8948826 - Flags: review?(mikokm)
(Assignee)

Comment 2

a year ago
This makes sure we at least descend past the containing block for these frame (if it's visible!), which will be true if the OOF frames are visible.

At that point we have existing machinery in MarkOutOfFlowFrame for display that will detect that the OOF frames are a content-descendant of the modified frame, and ensure that building reaches them.
Attachment #8948827 - Flags: review?(mikokm)
Attachment #8948826 - Flags: review?(mikokm) → review+
Attachment #8948827 - Flags: review?(mikokm) → review+

Comment 3

a year ago
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ee3062043923
Part 1: Add testcase. r=miko
https://hg.mozilla.org/integration/mozilla-inbound/rev/3403b5f669d1
Part 2: Make sure we descend to the modified frame so that we descend through the containing block and mark out of flow frames for display. r=miko

Comment 4

a year ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/ee3062043923
https://hg.mozilla.org/mozilla-central/rev/3403b5f669d1
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60

Updated

a year ago
Depends on: 1437374

Updated

a year ago
Depends on: 1437392
(Assignee)

Updated

a year ago
No longer depends on: 1437374

Comment 5

a year ago
Backout by aiakab@mozilla.com:
https://hg.mozilla.org/mozilla-central/rev/dad27b0cda4e
Backed out 2 changesets for frequently failing on layout/reftests/table-background/backgr_layers-opacity.html a=backout
Backed out 2 changesets (bug 1436189) for frequently failing on layout/reftests/table-background/backgr_layers-opacity.html a=backout

Link to the failing logs: https://treeherder.mozilla.org/logviewer.html#?job_id=161620792&repo=mozilla-inbound&lineNumber=2385
Backout revision: dad27b0cda4e
Failing push: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=3403b5f669d1395097f26c69c514e52d302a3ec0&filter-searchStr=linux64+opt+Rs8
Status: RESOLVED → REOPENED
Flags: needinfo?(matt.woodrow)
Resolution: FIXED → ---
Target Milestone: mozilla60 → ---
Backed out 2 changesets (bug 1436189) for frequently failing on layout/reftests/table-background/backgr_layers-opacity.html a=backout

Link to the failing logs: https://treeherder.mozilla.org/logviewer.html#?job_id=161620792&repo=mozilla-inbound&lineNumber=2385
Backout revision: dad27b0cda4e
Failing push: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=3403b5f669d1395097f26c69c514e52d302a3ec0&filter-searchStr=linux64+opt+Rs8

Comment 8

a year ago
Pushed by archaeopteryx@coole-files.de:
https://hg.mozilla.org/mozilla-central/rev/2222c721dfe5
Part 1: Add testcase. r=miko
https://hg.mozilla.org/mozilla-central/rev/3ee38289dac8
Part 2: Make sure we descend to the modified frame so that we descend through the containing block and mark out of flow frames for display. r=miko a=mass-reftest-fix CLOSED TREE
https://hg.mozilla.org/mozilla-central/rev/2222c721dfe5
https://hg.mozilla.org/mozilla-central/rev/3ee38289dac8
Status: REOPENED → RESOLVED
Last Resolved: a year agoa year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
Relanded because of mass reftest failures after the latest merge from inbound to central and back to integration trees.
Flags: needinfo?(matt.woodrow)

Updated

a year ago
Blocks: 1435592

Updated

a year ago
Depends on: 1438621

Updated

a year ago
No longer depends on: 1437392
You need to log in before you can comment on or make changes to this bug.