{"action":"created","issue":{"url":"https://api.github.com/repos/servo/webrender/issues/3131","repository_url":"https://api.github.com/repos/servo/webrender","labels_url":"https://api.github.com/repos/servo/webrender/issues/3131/labels{/name}","comments_url":"https://api.github.com/repos/servo/webrender/issues/3131/comments","events_url":"https://api.github.com/repos/servo/webrender/issues/3131/events","html_url":"https://github.com/servo/webrender/pull/3131","id":364185160,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE4NDM1ODE1","number":3131,"title":"[WIP] New backface visibility mechanics","user":{"login":"kvark","id":107301,"node_id":"MDQ6VXNlcjEwNzMwMQ==","avatar_url":"https://avatars1.githubusercontent.com/u/107301?v=4","gravatar_id":"","url":"https://api.github.com/users/kvark","html_url":"https://github.com/kvark","followers_url":"https://api.github.com/users/kvark/followers","following_url":"https://api.github.com/users/kvark/following{/other_user}","gists_url":"https://api.github.com/users/kvark/gists{/gist_id}","starred_url":"https://api.github.com/users/kvark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kvark/subscriptions","organizations_url":"https://api.github.com/users/kvark/orgs","repos_url":"https://api.github.com/users/kvark/repos","events_url":"https://api.github.com/users/kvark/events{/privacy}","received_events_url":"https://api.github.com/users/kvark/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-09-26T19:56:15Z","updated_at":"2018-10-02T17:07:39Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/servo/webrender/pulls/3131","html_url":"https://github.com/servo/webrender/pull/3131","diff_url":"https://github.com/servo/webrender/pull/3131.diff","patch_url":"https://github.com/servo/webrender/pull/3131.patch"},"body":"Fixes #3114\r\n\r\nHere are the main differences:\r\n  - the property is not propagated hierarchically\r\n  - the property is inherited only by the pictures directly spawned from a primitive\r\n  - visibility is determined in the picture coordinate space\r\n\r\nThis isn't obvious, and neither it is guaranteed to be correct. It's just a rather simple scheme that makes us behave properly on the issues listed in #3114. Feedback is welcome!\r\n\r\nTry: https://treeherder.mozilla.org/#/jobs?repo=try&revision=f25ab9510acbc46b3a3c4a8a03eb23c7b75fc4ae\r\n\r\ncc @Gankro @mstange (and thanks for fruitful discussion!)\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/servo/webrender/3131)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/servo/webrender/issues/comments/426353771","html_url":"https://github.com/servo/webrender/pull/3131#issuecomment-426353771","issue_url":"https://api.github.com/repos/servo/webrender/issues/3131","id":426353771,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNjM1Mzc3MQ==","user":{"login":"kvark","id":107301,"node_id":"MDQ6VXNlcjEwNzMwMQ==","avatar_url":"https://avatars1.githubusercontent.com/u/107301?v=4","gravatar_id":"","url":"https://api.github.com/users/kvark","html_url":"https://github.com/kvark","followers_url":"https://api.github.com/users/kvark/followers","following_url":"https://api.github.com/users/kvark/following{/other_user}","gists_url":"https://api.github.com/users/kvark/gists{/gist_id}","starred_url":"https://api.github.com/users/kvark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kvark/subscriptions","organizations_url":"https://api.github.com/users/kvark/orgs","repos_url":"https://api.github.com/users/kvark/repos","events_url":"https://api.github.com/users/kvark/events{/privacy}","received_events_url":"https://api.github.com/users/kvark/received_events","type":"User","site_admin":false},"created_at":"2018-10-02T17:07:39Z","updated_at":"2018-10-02T17:07:39Z","author_association":"MEMBER","body":"I've been looking at [backface-visibility-2](https://searchfox.org/mozilla-central/source/layout/reftests/transform-3d/backface-visibility-2.html) myself and with @mstange , and it looks like the failure is caused by Gecko not properly propagating the backface visibility property.\r\n\r\nSupposedly, error happens here:\r\nhttps://searchfox.org/mozilla-central/rev/6ddb5fb144993fb5de044e2e8d900d7643b98a4d/layout/painting/nsDisplayList.cpp#8767\r\n\r\nThe front face element is red color and has the backface visibility disabled. It's parented to the \"card\" div that establishes a preserve-3d context, and that is rotated backwards.\r\n\r\nObserved behavior: Gecko spawns a (flat) stacking context (SC) around it, which gets backface visibility enabled. Since this SC serves as a preserve-3d hierarchy boundary, and the element still has backface visibility disabled, it turns out to be invisible (regardless of the transforms).\r\n\r\nExpected behavior: either Gecko specifies the element as is (without wrapping into SC), or the backface-visibility property gets moved up to the SC wrap.\r\n\r\n@staktrace would you happen to know how (or if?) this should be fixed on Gecko side? Attaching the display lists dump generated by Gecko and passed to WR. Alternatively, I'll keep poking at it.\r\n\r\n[dl-dump.txt](https://github.com/servo/webrender/files/2438885/dl-dump.txt)\r\n"}}
{"actor":{"display_login":"kvark"}}