Created attachment 38643 [details] Testcase The attached testcase shows a bug where the inner child renders in the wrong place while the opacity transition is running, when accelerated compositing is enabled.
<rdar://problem/7173461>
Created attachment 38765 [details] Simpler testcase
Created attachment 38767 [details] Patch, testcases, changelogs
Comment on attachment 38767 [details] Patch, testcases, changelogs > + for ( ; curr && !isPositionedContainer(curr); curr = curr->parent()) > + { } Is this the WebKit style convention for empty loop bodies? It seems strange. > for ( ; curr && !curr->renderer()->isRenderView() && !curr->transform(); curr = curr->parent()) > - { } > + { } Ditto. > + RenderLayer* positionedAncestor = enclosingPositionedAncestor(); I think you can call parentLayer->enclosingPositionedAncestor() instead. > + int thisX = 0, thisY = 0; Please define each variable on a separate line. > + convertToLayerCoords(positionedAncestor, thisX, thisY); > + > + int ancestorX = 0, ancestorY = 0; Separate lines, please.
http://trac.webkit.org/changeset/47900