gecko/layout
L. David Baron c9ae86a635 Bug 828173 patch 6: Remove calls to ForceLayerRerendering from the miniflush code (UpdateThrottledStyles, which flushes animations whose main thread updates are throttled without updating any other styles). r=mattwoodrow
I've been wanting to remove this code for a while.  I think this code is
problematic for three reasons:

 (1) It's in the middle of code where it doesn't belong, and which ought
     to be handling purely-style-system things.  (This is blocking me
     from reusing that code elsewhere, e.g., in bug 977991 and
     bug 960465, both of which could use it in some form.)

 (2) It defeats the optimization from bug 790505 whenever we do a
     miniflush (in other words, whenever we have any style change,
     whether or not it's related)

 (3) It means the conditions for when we decide to ship a new set of
     animation data to a layer doesn't cover all the cases the layer
     needs it.  In particular, we only run this miniflush code when we
     have a currently running animation or transition that's running on
     the compositor thread.  On the other hand, the UpdateTransformLayer
     style change handling in DoApplyRenderingChangeToTree depends on
     whether the frame currently has a transform layer, which can
     continue to be true for a bit after the animation stops.  So if we
     need to send animations to the layer because of a transform style
     change that happens soon after an animation completes, our style
     change handling will find the existing layer and call its
     SetBaseTransformForNextTransaction method but never do anything
     that triggers layer construction.  The style throttling code, in
     turn, will never stop doing main thread updates because the
     animation generation on the layer is out-of-date, and these main
     thread updates will keep the layer active, but they'll never show
     up because the stale animation data overrides the new transform
     that we've been setting.  (At least, I think that's what was
     happening; it makes sense to me and matches the behavior I was
     observing.  I didn't verify which main thread updates and which
     layer updates were actually happening, though.)

     This shows up, for example, in the animation in attachment 8384813
     just halting at a corner if I'm careful not to disturb it.  (I'm
     testing on Linux, with both accelerated layers and OMT animations
     explicitly enabled.)

I think there are probably some other things that can be removed as
followups to removing this code, because I think we made some boundary
conditions intentionally incorrect so that problem (3) above wouldn't be
as bad as it otherwise would have been.
2014-03-04 20:13:22 -08:00
..
analysis
base Bug 828173 patch 5: Call AddAnimationsAndTransitionsToLayer when we choose not to repaint when handling an UpdateTransformLayer hint, so that any new animations resulting from the style change get sent to the layer. r=mattwoodrow 2014-03-04 20:13:22 -08:00
build Bug 458300 - Rename nsINameSpaceManager.h to nsNameSpaceManager.h. r=jst r=hsivonen 2014-02-27 20:04:46 -03:00
doc Bug 968029 - Use unprefixed box-sizing in content/, dom/, layout/, and widget/. r=dbaron 2014-02-06 12:32:05 -07:00
forms Bug 458300 - Rename nsINameSpaceManager.h to nsNameSpaceManager.h. r=jst r=hsivonen 2014-02-27 20:04:46 -03:00
generic Bug 828173 patch 5: Call AddAnimationsAndTransitionsToLayer when we choose not to repaint when handling an UpdateTransformLayer hint, so that any new animations resulting from the style change get sent to the layer. r=mattwoodrow 2014-03-04 20:13:22 -08:00
inspector Bug 458300 - Rename nsINameSpaceManager.h to nsNameSpaceManager.h. r=jst r=hsivonen 2014-02-27 20:04:46 -03:00
ipc Bug 898563. r=botond 2014-02-21 17:58:30 -05:00
mathml Bug 975935 - nsDisplaymtdBorder needs to override GetBounds. r=bz 2014-03-03 10:37:08 -05:00
media Backed out changeset fa5e92d8eb82 (bug 946618) for frequent test failures 2014-03-04 16:36:47 +00:00
printing Bug 975688 part.28 Rename nsDOMEvent to mozilla::dom::Event r=smaug 2014-03-05 09:37:43 +09:00
reftests Bug 959973 - Add tests for using variables in external style sheets. r=heycam,ted 2014-03-05 12:29:44 +11:00
style Bug 828173 patch 6: Remove calls to ForceLayerRerendering from the miniflush code (UpdateThrottledStyles, which flushes animations whose main thread updates are throttled without updating any other styles). r=mattwoodrow 2014-03-04 20:13:22 -08:00
svg Bug 975773 - Filter primitives in error states can have inputs. r=roc 2014-03-03 14:31:27 +01:00
tables Bug 63895 (Part 2) - Support table parts as absolute containing blocks. r=dbaron 2014-03-03 19:40:29 -08:00
tools Bug 977832: Make layout debugger's List() invocation use default "aPrefix" arg, instead of passing "0" (which now gets interpreted as null). r=tn 2014-02-27 15:03:29 -08:00
xul Bug 975688 part.28 Rename nsDOMEvent to mozilla::dom::Event r=smaug 2014-03-05 09:37:43 +09:00
moz.build Bug 975455 - Move more Mochitests to manifests. r=jmaher 2014-02-20 10:14:52 -05:00