Closed Bug 880031 Opened 11 years ago Closed 11 years ago

Z-ordering is incorrect when animating CSS2D transforms

Categories

(Core :: Layout, defect)

18 Branch
x86_64
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla28
Tracking Status
firefox21 --- affected
firefox22 - ---
firefox23 - ---
firefox24 - ---
firefox-esr17 --- unaffected

People

(Reporter: elchao, Assigned: mattwoodrow)

References

Details

(Keywords: regression, testcase, Whiteboard: [good first verify])

Attachments

(3 files)

Reproducible on Mac 10.8 Retina and Windows 7 on Firefox 21.0 release and Aurora 2013-06-05. Does not reproduce when using -webkit-transform on Chrome or basic transform using IE10. Method: 1. Open attached file (transform.html). This file create two divs, applies -webkit-transforms to one of them, and animates the transformation using a step function. Result: The moving div animates over the static div. Expected: The moving div should animate under the static div, as it is drawn first in the DOM.
Update: > This file create two divs, applies -moz-transforms to one of them, and > animates the transformation using a step function. Mistyped -webkit-transforms in the file description. Should be -moz-transform.
Attachment #758850 - Attachment mime type: text/plain → text/html
Regression window(m-c) Good: http://hg.mozilla.org/mozilla-central/rev/4cb8f88213f5 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/18.0 Firefox/18.0 ID:20121003235718 Bad: http://hg.mozilla.org/mozilla-central/rev/0d90d5f3da5a Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/18.0 Firefox/18.0 ID:20121004082018 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=4cb8f88213f5&tochange=0d90d5f3da5a Regression window(m-i) Good: http://hg.mozilla.org/integration/mozilla-inbound/rev/a2da97e3ebc6 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/18.0 Firefox/18.0 ID:20121003210717 Bad: http://hg.mozilla.org/integration/mozilla-inbound/rev/1cceedd227a7 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/18.0 Firefox/18.0 ID:20121003211916 Pushlog: http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=a2da97e3ebc6&tochange=1cceedd227a7 Regressed by: Bug 790505
Blocks: 790505
Status: UNCONFIRMED → NEW
Component: Untriaged → Layout
Ever confirmed: true
Keywords: regression
Product: Firefox → Core
Version: Trunk → 18 Branch
OS: Windows 7 → All
Tracking is only used for recent critical release-specific issues.
Attached file alternative testcase (deleted) —
Assignee: nobody → matt.woodrow
Fixes the test case, I think this is probably what we want to do.
Attachment #823696 - Flags: review?(roc)
Comment on attachment 823696 [details] [diff] [review] Make animated transforms force all above content to be in a separate ThebesLayer Review of attachment 823696 [details] [diff] [review]: ----------------------------------------------------------------- ::: layout/base/FrameLayerBuilder.cpp @@ +506,5 @@ > + */ > + nsIntRegion mDrawAboveRegion; > + /** > + * True if mDrawAboveRegion should be treated as infinite, > + * and all display items should be considerd 'above' this layer. mVisibleAboveRegion is treated as infinite too, right? Fix comment. @@ +2218,5 @@ > + // Prerendered transform items can be updated without layer building > + // (async animations or an empty transaction), so we treat all other > + // content as being above this so that the transformed layer can correctly > + // move behind other content. > + if (item->GetType() == nsDisplayItem::TYPE_TRANSFORM && Use itemType
Attachment #823696 - Flags: review?(roc) → review+
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
Depends on: 940455
Whiteboard: [good first verify]
Depends on: 1026450
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: