gecko-dev/gfx
Brian Birtles 90986d4597 Bug 1113425 part 2 - Apply async properties when querying the animated transform; r=mattwoodrow
In order to test off-main thread animations, we have a method that will return
the animated transform value set on a shadow layer. This method will return null
if the transform was not set by animation.

However, in some situations we temporarily clear the animation transform. For
example, when we synchronize a composite layer with its content layer, we reset
the animation transform. Then, on the next composite, we will recalculate the
animated value.

If we try to query the animated transform value in between resetting it and the
next composite we will get back null. To avoid a race condition, in
ShadowLayersUpdated after potentially clearing the animated transform, we
synchronously update the async properties on the layer transform in order
to reinstate the animated transform (so it is there when we go to query it).
However we *only* do this when the mIsTesting flag is set which is true
whenever we have the refresh driver under test control.  Furthermore, we only
do it when we already have a pending composite task to better match conditions
under regular operation.

In test_deferred_start.html, however, we specifically need to test without
putting the refresh driver under test control. As a result mIsTesting will be
false and we can encounter a race condition when querying the animated
transform.

To work around this, this patch makes us *also* update async properties
when fetching the animated transform value. The method for getting the
animated transform value is only used for testing so it should have no effect
on the regular compositing behavior.

It would seem that we could then remove the call from ShadowLayersUpdated but
doing this caused a small number of test cases to fail. In particular one test
for *opacity* in test_animations_omta.html was failing at the end of the
animation because we ended up with a stale opacity animation value on the
compositor which the synchronous update was previously removing. The test,
in this case, should be ignoring the value on the compositor but, unlike
transform, there is no flag for indicating whether or not the opacity on shadow
layers has been set by animations. As a result, this patch leaves the call that
triggers a synchronous update in test mode when updating shadow layers.
2015-03-17 18:38:12 +09:00
..
2d Bug 1144147 - Warning fix in DrawTargetCairo.cpp. r=jrmuizel 2015-03-17 16:53:46 +01:00
angle Bug 1131965. Cherry pick ANGLE fix for conformance crash 2015-03-10 10:59:17 -04:00
cairo Bug 1125509 - [backout 70aa258394bf] 10% tsvgx linux* regression on inbound (Jan 22) from push c6ece3462afd. r=froydnj 2015-02-10 11:13:34 -05:00
doc Rename ContentReceivedTouch to ContentReceivedInputBlock. (bug 1013432 part 3, r=kats) 2014-12-09 02:35:12 -08:00
gl Bug 1142841: Convert all nsRefPtr<nsIRunnable> to nsCOMPtr<nsIRunnable>. r=ehsan 2015-03-17 09:29:17 -07:00
graphite2 Bug 1084024. Remove graphite Makefile.in. r=jfkthame 2014-10-17 11:07:28 -04:00
harfbuzz Bug 1113070 - Update harfbuzz to 0.9.37+ (upstream 7d5e7613ced3dd39d05df83ca7e8952cbecd68f6). r=jdaggett 2014-12-20 19:37:24 +00:00
ipc Bug 1036967 - Introduce ScaleFactors2D. r=kats,Bas 2015-03-06 13:53:47 -05:00
layers Bug 1113425 part 2 - Apply async properties when querying the animated transform; r=mattwoodrow 2015-03-17 18:38:12 +09:00
ots Bug 1098497 - Update OTS to latest upstream (at commit 7091a232a10a741591ff25158c98ca3f0c319cf9) to pick up recent fixes. r=jdaggett 2014-11-17 15:24:05 +00:00
qcms Bug 1132468 - Reject invalid sizes. r=jrmuizel 2015-02-24 17:02:10 -05:00
skia Bug 1136958 - Remove duplicate SkDiscardableMemory_none.cpp from gfx/skia/moz.build. r=gps 2015-03-04 14:39:28 +09:00
src Bug 1136557 - pt 2 - Round maxDescent similarly to maxAscent in nsFontMetrics. r=smontagu 2015-03-12 10:47:50 +00:00
tests Bug 1142659 - Fix coverity warning in Layers::UserData test. r=jrmuizel 2015-03-17 15:50:06 +01:00
thebes Bug 1124084 - Flip on downscale-during-decode everywhere. r=tn 2015-03-17 13:56:50 -07:00
ycbcr Bug 1119068 - Clean up some code used for older unsupported MSVC versions; r=bsmedberg 2015-01-12 23:26:31 -05:00
moz.build Bug 1139397 - Add bug component info for APZ code. r=botond 2015-03-05 06:04:03 -05:00