Bug 229141 - CSS transform interoperability of parent versus containing block for 3D Rendering Contexts and perspective
Summary: CSS transform interoperability of parent versus containing block for 3D Rende...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: Safari 14
Hardware: All All
: P2 Normal
Assignee: Matt Woodrow
URL: https://docs.google.com/document/d/1h...
Keywords: 3DTransformInterop, InRadar
Depends on: 73268 232618 248279 248281 248282 248283 248284 248292
Blocks:
  Show dependency treegraph
 
Reported: 2021-08-16 08:26 PDT by L. David Baron
Modified: 2023-06-28 09:16 PDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description L. David Baron 2021-08-16 08:26:23 PDT
I'm in the process of shipping some changes in Chromium that will mostly align with Gecko's behavior in a few ways:

 1. for handling of transform-style, make decisions about when to extend 3D Rendering Contexts based only on the DOM parent/child relationships, rather than considering containing block relationships (e.g., for absolute or fixed position, or for block-within-inline) or considering which nodes have transforms or not.

 2. for handling of the perspective property, apply the perspective only to DOM children, rather than considering the containing block hierarchy or applying to deeper descendants if the intermediate ones don't have certain transform properties set.

There's also a somewhat unrelated and pretty small change:

 3. Makes transform-style: preserve-3d cause an element to be a containing block for position: absolute and position: fixed elements even if a grouping property causes flattening of the 3D scene.

These changes are described in substantially more detail in https://docs.google.com/document/d/1hPOMT0Uza9fxnSwAOWx2W175VTdXBzRg1-706VBe4ik/edit , which also links to relevant tests in web-platform-tests.


I wanted to get a WebKit bug on file about these differences since we're now in a situation where Gecko and Chromium are becoming more compatible, but WebKit is different from them.  (That said, I'm aware there are a bunch of *other* differences in preserve-3d in WebKit that make this pretty confusing to test/understand, although I think the underlying behavior differences still apply here.)
Comment 1 Radar WebKit Bug Importer 2021-08-23 08:27:19 PDT
<rdar://problem/82245314>
Comment 2 Matt Woodrow 2022-12-06 17:51:28 PST
Pull request: https://github.com/WebKit/WebKit/pull/7238
Comment 3 EWS 2022-12-07 14:22:57 PST
Committed 257509@main (fdef5e839f15): <https://commits.webkit.org/257509@main>

Reviewed commits have been landed. Closing PR #7238 and removing active labels.