Closed
Bug 1416448
Opened 7 years ago
Closed 7 years ago
MergeDisplayLists container asr tracking doesn't handle empty lists
Categories
(Core :: Web Painting, defect)
Core
Web Painting
Tracking
()
RESOLVED
FIXED
mozilla59
People
(Reporter: mattwoodrow, Assigned: mattwoodrow)
References
Details
Attachments
(1 file)
9.80 KB,
patch
|
mikokm
:
review+
gchang
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
We compute the outer ASR for all the items in the list, but we don't differentiate between the initial nullptr value and the actual root asr (represented as nullptr). This is causing a reftest failure since we compute the wrong ASR for an empty list, and propagate it up the tree. Switching to use a Maybe<> value lets us distinguish between the two cases, and not modify the ASR when the list is empty. I also tried just getting rid of empty items, but it's possible for an empty nsDisplaySVGEffects to still draw something.
Attachment #8927550 -
Flags: review?(mikokm)
Assignee | ||
Updated•7 years ago
|
Attachment #8927550 -
Flags: review?(mstange)
Comment 1•7 years ago
|
||
Comment on attachment 8927550 [details] [diff] [review] skip-update-asr-empty-list Review of attachment 8927550 [details] [diff] [review]: ----------------------------------------------------------------- ::: layout/painting/RetainedDisplayListBuilder.cpp @@ +414,3 @@ > MergeDisplayLists(newItem->GetChildren(), oldItem->GetChildren(), > + oldItem->GetChildren(), containerASRForChildren); > + if (containerASRForChildren) { nit: UpdateASR could take Maybe<> as a parameter and have this check to avoid repeating this code.
Attachment #8927550 -
Flags: review?(mikokm) → review+
Assignee | ||
Comment 2•7 years ago
|
||
(In reply to Miko Mynttinen [:miko] from comment #1) > Comment on attachment 8927550 [details] [diff] [review] > skip-update-asr-empty-list > > Review of attachment 8927550 [details] [diff] [review]: > ----------------------------------------------------------------- > > ::: layout/painting/RetainedDisplayListBuilder.cpp > @@ +414,3 @@ > > MergeDisplayLists(newItem->GetChildren(), oldItem->GetChildren(), > > + oldItem->GetChildren(), containerASRForChildren); > > + if (containerASRForChildren) { > > nit: UpdateASR could take Maybe<> as a parameter and have this check to > avoid repeating this code. We don't actually allow Maybe<> as a parameter, but I'll make it a reference and it should work.
Assignee | ||
Updated•7 years ago
|
Attachment #8927550 -
Flags: review?(mstange)
Pushed by mwoodrow@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/2ec68ec7ff01 Don't update the ASR during merging for an empty container item, since we can't compute the ASR of the contents. r=miko
Comment 4•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/2ec68ec7ff01
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox59:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
Assignee | ||
Comment 5•7 years ago
|
||
Comment on attachment 8927550 [details] [diff] [review] skip-update-asr-empty-list Approval Request Comment [Feature/Bug causing the regression]: bug 1352499. This is code that is preffed off, but we want to run a shield study enabling the pref. [User impact if declined]: None, preffed off code. [Is this code covered by automated tests?]: Yes, when the pref is enabled. [Has the fix been verified in Nightly?]: Yes [Needs manual test from QE? If yes, steps to reproduce]: No [List of other uplifts needed for the feature/fix]: None [Is the change risky?]: No [Why is the change risky/not risky?]: Code is preffed off. [String changes made/needed]: None
Attachment #8927550 -
Flags: approval-mozilla-beta?
Comment 6•7 years ago
|
||
Comment on attachment 8927550 [details] [diff] [review] skip-update-asr-empty-list Take this to support the shield study in 58. Beta58+.
Attachment #8927550 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 7•7 years ago
|
||
bugherder uplift |
https://hg.mozilla.org/releases/mozilla-beta/rev/001b6191ff91
Comment 8•7 years ago
|
||
Backed this out for conflicts when it got applied to beta. Please provide a patch which applies cleanly. https://hg.mozilla.org/releases/mozilla-beta/rev/bab083518607c3e22a09a8befc6a1199748e31a4
Updated•7 years ago
|
Flags: needinfo?(matt.woodrow)
Updated•7 years ago
|
Flags: needinfo?(matt.woodrow)
Comment 9•7 years ago
|
||
bugherder uplift |
https://hg.mozilla.org/releases/mozilla-beta/rev/a41f982ed3a7
You need to log in
before you can comment on or make changes to this bug.
Description
•