New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 612956 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocked on:
issue 612913
issue 617798



Sign in to add a comment

Force composited opacity to imply flattening

Project Member Reported by chrishtr@chromium.org, May 18 2016

Issue description

Right now, browsers implement a quirk in which composited opacity of
preserves-3d descendants applies before flattening into the ancestor. This
causes unfortunate complexity in effect property trees. We should force
flattening before applying composited opacity, if it is web compatible.

Related design doc:

https://docs.google.com/document/d/1ImVe52dXZnaTWnmBThSgOvYsWqrTqDr6XlXbbnqypMg/edit?pli=1

Assigning to myself for the next step of reaching out to representatives of other
browsers to see if they would be ok with making this change along with us.
 
Cc: petermayo@chromium.org
Use counter implemented in:


https://codereview.chromium.org/1987283003
Data from beta channel, 7-day aggregation: OpacityWithPreserve3DQuirk hits 0.006% of the time.

Stable channel, 7-day aggregation: 0.0006%

Blockedon: 617798
Owner: trchen@chromium.org
trchen: we have 3 LGTMs to ship this. Could you do the honors?

Comment 6 by trchen@chromium.org, Jun 13 2016

Yes sure! I will put up a CL today. Thanks for pushing this through!

Comment 7 by trusktr@gmail.com, Sep 27 2016

Why do you guys think this change is fine from a 3D-developer perspective? Applying opacity and having a 3D object's vertices flattened doesn't seem intuitive from a 3D-developer perspective. It seems to me this only makes it easy to implement, not that it is actually correct behavior.

I proposed a `blend-3d` idea at https://lists.w3.org/Archives/Public/public-fx/2016JulSep/0077.html

Another possibility could be to have an `alpha` property that is for use with 3D content, whereas `opacity` would be unchanged from what it is in Chrome 53, being mostly useful for 2D content.
Status: Fixed (was: Assigned)
Now opacity other than 1.0 will force transform-style:flat.

Sign in to add a comment