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

Issue 686074 link

Starred by 12 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature



Sign in to add a comment

Perform particular clip-path animations on the compositor thread

Project Member Reported by jakearchibald@chromium.org, Jan 27 2017

Issue description

It's common, and difficult, to "reveal" an element during animations. This could be part of an accordion, or a hero transitions where something zooms in & expands.

We can currently do this on the compositor using an outer element with overflow:hidden, where an inner element transforms and the outer element counter-transforms.

This is really hacky and involves more DOM elements than needed.

To make it simpler, could particular clip-path animations be done in the compositor, such as http://output.jsbin.com/ticeve/quiet?

It might be enough to limit it to "inset" values, rather than complex shapes.
 

Comment 1 by enne@chromium.org, Jan 31 2017

Components: Blink>Paint
Labels: -Type-Bug Type-Feature
Status: Available (was: Untriaged)
Cc: alancutter@chromium.org
I had a chat with some cc folks at BlinkOn about this. The ClipTree doesn't correspond to the clip-path property as I had assumed. Instead clip-paths are implemented as masks in the EffectTree.

Animating the mask on the compositor thread would require the mask be rerastered which is currently not a capability of the compositor. Achieving this would require custom display lists to be able to modify the clip-path mask draw commands and to be able to block compositor animation frames on rasterisation. These two features are needed in general for running paint only animation effects like colours and background-position on the compositor.
Safari now performs clip-path on the compositor if the element is already composited (eg transform: translateZ(0)).

It still has a main-thread dependency on style recalculation, but it's a huge step forward.
Owner: xidac...@chromium.org
Assigned to xida to triage, given he was looking at clip-path animations recently.
Components: -Blink>Paint
Status: Assigned (was: Available)
Update the status to be "Assigned".
Cc: xidac...@chromium.org
Owner: ----
Status: Available (was: Assigned)

Comment 11 by chrishtr@chromium.org, Yesterday (27 hours ago)

 Issue 607388  has been merged into this issue.

Sign in to add a comment