Closed Bug 1401898 Opened 7 years ago Closed 7 years ago

background-blend-mode chooses wrong backdrop color to blend in WR Layer-free mode

Categories

(Core :: Graphics: WebRender, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox57 --- unaffected
firefox58 --- fixed

People

(Reporter: kechen, Assigned: kechen)

References

Details

(Whiteboard: [wr-mvp])

Attachments

(1 file)

There is a try failure[1] when we enable nsDisplayBackgroundImage image in Bug 1359242. The reason is that, when WR layer-free is enabled, we blend the background image with the color of elements behind it which, according to spec[2], we shouldn't. [1] https://treeherder.mozilla.org/#/jobs?repo=try&revision=1ddb2fd73588d1c76b1b3dadb8f5964dd0b3dfed&selectedJob=131243114 [2] https://drafts.fxtf.org/compositing-1/#background-blend-mode
Priority: -- → P1
Whiteboard: [wr-mvp][triage] → [wr-mvp]
The problem is that the first StackingContext pushed to Webrender will be treated as the page group[2]; however, this kind of StackingContext is not pushed by gecko so I added one here. [1] https://github.com/servo/webrender/blob/29d325f54bbead84e97dcf7dc536463c45f8eece/webrender/src/frame_builder.rs#L388 [2] https://www.w3.org/TR/compositing-1/#pagebackdrop
Hm, this used to happen as part of wr_dp_begin but I guess at some point along the way we disconnected that piece of code...
Comment on attachment 8915503 [details] Bug 1401898 - Add root StackingContext for WebRenderCommandBuilder which prevents Webrender from treating the first StackingContext as page root and setting the wrong isolation mode; I'm not familiar enough with this. I'll let kats try.
Attachment #8915503 - Flags: review?(jmuizelaar) → review?(bugmail)
Comment on attachment 8915503 [details] Bug 1401898 - Add root StackingContext for WebRenderCommandBuilder which prevents Webrender from treating the first StackingContext as page root and setting the wrong isolation mode; https://reviewboard.mozilla.org/r/186714/#review191968 This seems fine to me. In a separate bug or patch we should get rid of the three unused arguments to StackingContextHelper's constructor.
Attachment #8915503 - Flags: review?(bugmail) → review+
Keywords: checkin-needed
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again. hg error in cmd: hg rebase -s 6953c82f7d0c -d 5b41d7a0fe73: rebasing 424501:6953c82f7d0c "Bug 1401898 - Add root StackingContext for WebRenderCommandBuilder which prevents Webrender from treating the first StackingContext as page root and setting the wrong isolation mode; r=kats" (tip) merging gfx/layers/wr/WebRenderCommandBuilder.cpp warning: conflicts while merging gfx/layers/wr/WebRenderCommandBuilder.cpp! (edit, then use 'hg resolve --mark') unresolved conflicts (see hg resolve, then hg rebase --continue)
Keywords: checkin-needed
Blocks: 1406305
Comment on attachment 8915503 [details] Bug 1401898 - Add root StackingContext for WebRenderCommandBuilder which prevents Webrender from treating the first StackingContext as page root and setting the wrong isolation mode; https://reviewboard.mozilla.org/r/186714/#review192696
Attachment #8915503 - Flags: review+
We're sorry - something has gone wrong while rewriting or rebasing your commits. The commits being pushed no longer match what was requested. Please file a bug.
I'll just land this by hand along with the other patch.
Keywords: checkin-needed
Pushed by kgupta@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/6b7fbf00410e Add root StackingContext for WebRenderCommandBuilder which prevents Webrender from treating the first StackingContext as page root and setting the wrong isolation mode; r=kats
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Attachment #8915503 - Flags: review?(jmuizelaar)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: