The chromium compositor sorts all descendants of a layer that sets the preserves-3d property based on the layer center's z coordinate. The algorithm relies on the properties of stable sort to keep layers with the same z coordinate render with their correct DOM order. The z coordinate of layers whose parent doesn't preserve 3d are set to the z coordinate of their parent. Due to a bug in the code, we grab the z coordinate of the parent layer before it's actually set so as things animate, child layers use the z coordinate of their parent from the previous frame, messing up the sorting order.
Created attachment 89319 [details] Patch
I should probably mention that I put the layout test under platform/chromium as it's really a regression test for a bug found in chrome. Not worth adding to the common test pool...
Comment on attachment 89319 [details] Patch Good catch!
Comment on attachment 89319 [details] Patch Clearing flags on attachment: 89319 Committed r83694: <http://trac.webkit.org/changeset/83694>
All reviewed patches have been landed. Closing bug.