Align the behavior of transform-style: preserve-3d (which allows child elements to participate in the same 3D scene) and the perspective property (which applies a perspective transform to child elements) with the specification by making them apply only to child elements. Before this change, Chromium applies both of these effects based on the containing block hierarchy rather than the DOM tree, and also allows them to extend through elements without transform-related properties on them (where the definition of having transform-related properties exposes Chromium internal concepts and is likely confusing to developers).
Also, align the rules for when transform-style: preserve-3d establishes a containing block for absolute and fixed-position elements with the specification.
For substantially more detail about what's changing, see this description of the TransformInterop feature.
Contact emails
dba...@chromium.orgSpecification
https://drafts.csswg.org/css-transforms-2/Summary
Align the behavior of transform-style: preserve-3d (which allows child elements to participate in the same 3D scene) and the perspective property (which applies a perspective transform to child elements) with the specification by making them apply only to child elements. Before this change, Chromium applies both of these effects based on the containing block hierarchy rather than the DOM tree, and also allows them to extend through elements without transform-related properties on them (where the definition of having transform-related properties exposes Chromium internal concepts and is likely confusing to developers).
Also, align the rules for when transform-style: preserve-3d establishes a containing block for absolute and fixed-position elements with the specification.
For substantially more detail about what's changing, see this description of the TransformInterop feature.
Blink component
Blink>PaintTAG review
NoneTAG review status
Not applicableRisks
Since this is changing existing behavior that's exposed to Web content, there's some risk that sites might break. If I break the feature down into five parts, the riskiest seems likely to be the one of those five parts that's not currently shipping behavior in Firefox. I have added a use counter that aims to detect this case (although it hasn't reached stable yet), and also used cluster telemetry to find top sites that hit the use counter. That did surface two sites that have visual effects that are broken by the change, although those effects are also broken by a change that is shipping in Firefox and thus don't work in Firefox. (This perhaps calls into question the assumption about which is the riskiest change.) The description of the TransformInterop feature goes into considerably more detail.Interoperability and Compatibility
Gecko: In development (https://bugzilla.mozilla.org/show_bug.cgi?id=1716904) Most of these changes are making Chromium compatible with the behavior Firefox has already shipped. For the piece where that's not the case, Mozilla bug 1716904 recently landed, implementing that change.
WebKit: No signal
Web developers: No signalsDebuggability
Currently 3D transforms are only debuggable by inspection of specified and computed values of CSS properties. Given that, this doesn't really influence debuggability other than moving towards a behavior that is hopefully somewhat easier to understand, since dependencies of the Web-exposed behavior on Chromium internals are being removed in favor of a more clearly-defined behavior.Having better ability to debug 3D transforms is certainly something that could be discussed, but I think it's largely separate from this relatively narrowly-scoped change.Is this feature fully tested by web-platform-tests?
YesFlag name
TransformInteropRequires code in //chrome?
FalseTracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1008483Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5640541339385856This intent message was generated by Chrome Platform Status and then edited substantially.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAG0MU3gY8u5jLCees7V_m6QBj_Na%3D-7idCoRgFS_GfO0siS1eA%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
LGTM2
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAG0MU3gY8u5jLCees7V_m6QBj_Na%3D-7idCoRgFS_GfO0siS1eA%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/eac8ef10-e7f1-40bd-bea0-5834292ac9c9n%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY8S2hrMByOZZssS%2BeW78SCThaZbiknkB6PhRknVfWCf4A%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVS3CPQo8_nWxMnWA2askxjdH88MSR8neJip%3Dc7bf8jLQ%40mail.gmail.com.
You received this message because you are subscribed to a topic in the Google Groups "blink-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/a/chromium.org/d/topic/blink-dev/4LWMf_tZwtw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYdR4cw8ZfZRQv5nndiO3%3Dju0j%3DjdSLNu%2BVEzHpfok9A4Q%40mail.gmail.com.
Interoperability and Compatibility
Gecko: In development (https://bugzilla.mozilla.org/show_bug.cgi?id=1716904) Most of these changes are making Chromium compatible with the behavior Firefox has already shipped. For the piece where that's not the case, Mozilla bug 1716904 recently landed, implementing that change.
WebKit: No signalIs there a webkit bug filed? I think this is not necessarily big enough of a change to ask for an explicit signal, but would be good to let them know they need to align their behavior.
David, would you happen to have an estimate of the impact this will have on the targeted tests, if any?
css/css-transforms/3d-rendering-context-and-abspos.html
css/css-transforms/3d-rendering-context-and-fixpos.html
css/css-transforms/3d-rendering-context-and-inline.html
css/css-transforms/perspective-children-only-abspos.html
css/css-transforms/perspective-children-only-fixpos.html
css/css-transforms/perspective-children-only-inline.html
css/css-transforms/3d-rendering-context-behavior.html
css/css-transforms/preserve-3d-flat-grouping-properties-containing-block.html
css/css-transforms/transform-table-006.html
css/css-transforms/transform-table-007.html
css/css-transforms/transform3d-perspective-003.html
css/css-transforms/transform3d-perspective-004.html
css/css-transforms/transform3d-sorting-004.html