Bug 66341

Summary: Accelerated animations fail to respond to changes in stacking context between keyframes
Product: WebKit Reporter: Dean Jackson <dino>
Component: CSSAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: cmarrin, simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Animation Without Empty Keyframes
none
Animation With Empty Keyframes
none
Animation With Empty Keyframes
none
Animation Without Empty Keyframes
none
Clearer testcase none

Dean Jackson
Reported 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.
Attachments
Animation Without Empty Keyframes (1.87 KB, text/html)
2011-08-16 15:30 PDT, Dean Jackson
no flags
Animation With Empty Keyframes (1.91 KB, text/html)
2011-08-16 15:31 PDT, Dean Jackson
no flags
Animation With Empty Keyframes (1.75 KB, text/html)
2011-08-16 15:45 PDT, Dean Jackson
no flags
Animation Without Empty Keyframes (1.72 KB, text/html)
2011-08-16 15:45 PDT, Dean Jackson
no flags
Clearer testcase (1.42 KB, text/html)
2011-09-01 17:53 PDT, Simon Fraser (smfr)
no flags
Dean Jackson
Comment 1 2011-08-16 15:31:01 PDT
Created attachment 104100 [details] Animation With Empty Keyframes
Dean Jackson
Comment 2 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 :(
Dean Jackson
Comment 3 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.
Dean Jackson
Comment 4 2011-08-16 15:45:57 PDT
Created attachment 104107 [details] Animation Without Empty Keyframes Better test.
Dean Jackson
Comment 5 2011-08-16 15:50:02 PDT
The inner animation is not necessary to show the bug
Simon Fraser (smfr)
Comment 6 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.
Simon Fraser (smfr)
Comment 7 2011-09-01 17:53:20 PDT
Created attachment 106071 [details] Clearer testcase
Simon Fraser (smfr)
Comment 8 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.
Simon Fraser (smfr)
Comment 9 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.
Simon Fraser (smfr)
Comment 10 2016-05-04 13:05:26 PDT
Simon Fraser (smfr)
Comment 11 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 ***
Note You need to log in before you can comment on or make changes to this bug.