Bug 733849 Comment 13 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

After checking the frame tree by using the wpt, [transform-table-009.html](https://searchfox.org/mozilla-central/rev/09f7e00da9eaef55c80620c17e8575ddd4532451/testing/web-platform/tests/css/css-transforms/transform-table-009.html):
```
TableWrapper(table id=t)(1)@107a4ac00 parent=107a4ab38 (x=0, y=0, w=6360, h=6360) ink-overflow=(x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=0, w=0, h=0) transformed combines-3d-transform-with-ancestors [content=10cc18220] [cs=10c3b56c8:-moz-table-wrapper]
    Table(table id=t)(1)@107a4acb0 parent=107a4ac00 (x=0, y=0, w=6360, h=6360) [content=10cc18220] [cs=10c3b5038]
        TableRowGroup(tbody)(1)@107a4ade0 parent=107a4acb0 (x=120, y=120, w=6120, h=6120) pre-transform-ink-overflow=(x=0, y=0, w=6120, h=6120) pre-transform-scr-overflow=(x=0, y=0, w=6120, h=6120) transformed extend-3d [content=10cc0d6f0] [cs=10c3b5128]
            TableRow(tr)(1)@107a4ae90 parent=107a4ade0 (x=0, y=0, w=6120, h=6120) ink-overflow=(x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=0, w=0, h=0) transformed extend-3d combines-3d-transform-with-ancestors [content=10cc0d780] [cs=10c3b5218]
                TableCell(td)(1)@107a4af58 parent=107a4ae90 (x=0, y=0, w=6120, h=6120) ink-overflow=(x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=0, w=0, h=0) transformed extend-3d combines-3d-transform-with-ancestors [content=10cc0d810] [cs=10c3b5308]
                    Block(td)(1)@107a4b020 parent=107a4af58 (x=60, y=60, w=6000, h=6000) [content=10cc0d810] [cs=10c3b5a88:-moz-cell-content] < line@107a4b1b0 count=1 state=block,clean,prevmarginclean,not-impacted,not-wrapped,no-break,clear-before:none,clear-after:none(x=0, y=0, w=6000, h=6000) ink-overflow=(x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=0, w=0, h=0)
                        Block(div)(0)@107a4b0e8 parent=107a4b020 (x=0, y=0, w=6000, h=6000) ink-overflow=(x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=0, w=0, h=0) transformed combines-3d-transform-with-ancestors [content=10cc0d8a0] [cs=10c3b53f8]
```
It seems like we have an extra `Block(td)` frame between `TableCell(td)` and `Block(div)`, but it doesn't have `transformed extend-3d combines-3d-transform-with-ancestors`. This means that its `nsIFrame::Extend3DContext()` is false, and I suspect it may be the root cause which breaks the chain of preserved-3d in this test.
After checking the frame tree by using the wpt, [transform-table-009.html](https://searchfox.org/mozilla-central/rev/09f7e00da9eaef55c80620c17e8575ddd4532451/testing/web-platform/tests/css/css-transforms/transform-table-009.html):
```
TableWrapper(table id=t)(1)@107a4ac00 parent=107a4ab38 (x=0, y=0, w=6360, h=6360) ink-overflow=(x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=0, w=0, h=0) transformed combines-3d-transform-with-ancestors [content=10cc18220] [cs=10c3b56c8:-moz-table-wrapper]
    Table(table id=t)(1)@107a4acb0 parent=107a4ac00 (x=0, y=0, w=6360, h=6360) [content=10cc18220] [cs=10c3b5038]
        TableRowGroup(tbody)(1)@107a4ade0 parent=107a4acb0 (x=120, y=120, w=6120, h=6120) pre-transform-ink-overflow=(x=0, y=0, w=6120, h=6120) pre-transform-scr-overflow=(x=0, y=0, w=6120, h=6120) transformed extend-3d [content=10cc0d6f0] [cs=10c3b5128]
            TableRow(tr)(1)@107a4ae90 parent=107a4ade0 (x=0, y=0, w=6120, h=6120) ink-overflow=(x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=0, w=0, h=0) transformed extend-3d combines-3d-transform-with-ancestors [content=10cc0d780] [cs=10c3b5218]
                TableCell(td)(1)@107a4af58 parent=107a4ae90 (x=0, y=0, w=6120, h=6120) ink-overflow=(x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=0, w=0, h=0) transformed extend-3d combines-3d-transform-with-ancestors [content=10cc0d810] [cs=10c3b5308]
                    Block(td)(1)@107a4b020 parent=107a4af58 (x=60, y=60, w=6000, h=6000) [content=10cc0d810] [cs=10c3b5a88:-moz-cell-content] < line@107a4b1b0 count=1 state=block,clean,prevmarginclean,not-impacted,not-wrapped,no-break,clear-before:none,clear-after:none(x=0, y=0, w=6000, h=6000) ink-overflow=(x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=0, w=0, h=0)
                        Block(div)(0)@107a4b0e8 parent=107a4b020 (x=0, y=0, w=6000, h=6000) ink-overflow=(x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=0, w=0, h=0) transformed combines-3d-transform-with-ancestors [content=10cc0d8a0] [cs=10c3b53f8]
```
It seems like we have an extra `Block(td)` frame between `TableCell(td)` and `Block(div)`, but it doesn't have `transformed extend-3d combines-3d-transform-with-ancestors`. This means that its `nsIFrame::Extend3DContext()` is false, and I suspect it may be the root cause which breaks the chain of preserved-3d in this test.

Note: same for `Table` frame. Need to figure out what happen there for preserve-3d

Back to Bug 733849 Comment 13