Bug 20047 - Incorrect rendering during opacity transition on element with positioned children
Summary: Incorrect rendering during opacity transition on element with positioned chil...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-15 16:30 PDT by Simon Fraser (smfr)
Modified: 2008-07-18 12:17 PDT (History)
2 users (show)

See Also:


Attachments
Testcase (954 bytes, text/html)
2008-07-15 16:30 PDT, Simon Fraser (smfr)
no flags Details
Better testcase; reveals stacking context (1.61 KB, text/html)
2008-07-15 16:58 PDT, Simon Fraser (smfr)
no flags Details
Patch (with some FIXMES) (1.54 KB, patch)
2008-07-15 17:04 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch, testcase, changelogs (5.02 KB, patch)
2008-07-16 15:48 PDT, Simon Fraser (smfr)
hyatt: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2008-07-15 16:30:02 PDT
In the attached testcase, a positioned element runs a transition when its opacity changes on :hover. However, a child element which is positioned snaps to the final opacity, without showing the transition, which is wrong.

This only happens if:
* the child is positioned
* the target opacity is 1

I think it's related to stacking context changes when opacity hits 1.
Comment 1 Simon Fraser (smfr) 2008-07-15 16:30:25 PDT
Created attachment 22293 [details]
Testcase
Comment 2 Simon Fraser (smfr) 2008-07-15 16:58:30 PDT
Created attachment 22295 [details]
Better testcase; reveals stacking context
Comment 3 Simon Fraser (smfr) 2008-07-15 17:04:19 PDT
Created attachment 22296 [details]
Patch (with some FIXMES)
Comment 4 Dave Hyatt 2008-07-15 19:35:17 PDT
Comment on attachment 22296 [details]
Patch (with some FIXMES)

The property has to blend in order for this problem to be exposed.  I think you only need the opacity and transform checks.
Comment 5 Simon Fraser (smfr) 2008-07-16 15:48:02 PDT
Created attachment 22321 [details]
Patch, testcase, changelogs
Comment 6 Dave Hyatt 2008-07-16 15:55:46 PDT
Comment on attachment 22321 [details]
Patch, testcase, changelogs

r=me
Comment 7 Dean Jackson 2008-07-16 18:16:51 PDT
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/transitions/opacity-transition-zindex-expected.txt
	A	LayoutTests/transitions/opacity-transition-zindex.html
	M	WebCore/ChangeLog
	M	WebCore/page/AnimationController.cpp
Committed r35207