Bug 66341 - Accelerated animations fail to respond to changes in stacking context between keyframes
Summary: Accelerated animations fail to respond to changes in stacking context between...
Status: RESOLVED DUPLICATE of bug 164094
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-16 15:30 PDT by Dean Jackson
Modified: 2016-10-27 16:40 PDT (History)
2 users (show)

See Also:


Attachments
Animation Without Empty Keyframes (1.87 KB, text/html)
2011-08-16 15:30 PDT, Dean Jackson
no flags Details
Animation With Empty Keyframes (1.91 KB, text/html)
2011-08-16 15:31 PDT, Dean Jackson
no flags Details
Animation With Empty Keyframes (1.75 KB, text/html)
2011-08-16 15:45 PDT, Dean Jackson
no flags Details
Animation Without Empty Keyframes (1.72 KB, text/html)
2011-08-16 15:45 PDT, Dean Jackson
no flags Details
Clearer testcase (1.42 KB, text/html)
2011-09-01 17:53 PDT, Simon Fraser (smfr)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dean Jackson 2011-08-16 15:30:34 PDT
Created attachment 104099 [details]
Animation Without Empty Keyframes

See the attached test cases. The only difference is that one of them has a duplicated "empty" keyframe rule up to the 50% mark. Notice that the innermost div gets positioned relative to its grandparent when the padding keyframes are present.

Since all elements are absolutely positioned, I think the transform: none shouldn't be causing this.
Comment 1 Dean Jackson 2011-08-16 15:31:01 PDT
Created attachment 104100 [details]
Animation With Empty Keyframes
Comment 2 Dean Jackson 2011-08-16 15:36:21 PDT
It's the 50.00% { -webkit-transform: none; } in BannerAppear-2 that causes it.

Unfortunately the test case has animation 1 on element 2 and visa-versa :(
Comment 3 Dean Jackson 2011-08-16 15:45:32 PDT
Created attachment 104106 [details]
Animation With Empty Keyframes

Better test. Shows what to change to fix the bug.
Comment 4 Dean Jackson 2011-08-16 15:45:57 PDT
Created attachment 104107 [details]
Animation Without Empty Keyframes

Better test.
Comment 5 Dean Jackson 2011-08-16 15:50:02 PDT
The inner animation is not necessary to show the bug
Comment 6 Simon Fraser (smfr) 2011-09-01 17:52:05 PDT
Issue only happens with accelerated compositing enabled.

The problem is that "middle-animation" causes #middle to change its stacking context status between keyframes. For some reason, we don't update the layers with the new stacking order until the animation is complete, if only the end keyframe has a transform.
Comment 7 Simon Fraser (smfr) 2011-09-01 17:53:20 PDT
Created attachment 106071 [details]
Clearer testcase
Comment 8 Simon Fraser (smfr) 2011-09-01 18:03:12 PDT
We're sending off the keyframes to CA and not doing any work to update style when we hit them. This breaks if the keyframe properties affect z-index.
Comment 9 Simon Fraser (smfr) 2011-10-28 16:42:18 PDT
We don't yet have a code path that runs hardware animations for each keyframe, but resolves style between keyframes, so this is hard to fix at the moment.
Comment 10 Simon Fraser (smfr) 2016-05-04 13:05:26 PDT
Spec will be updated to make this easier:
https://lists.w3.org/Archives/Public/www-style/2016Apr/0445.html
Comment 11 Simon Fraser (smfr) 2016-10-27 16:40:30 PDT
I think bug 164094 obsoletes this one.

*** This bug has been marked as a duplicate of bug 164094 ***