Bug 975261 part 2 - Trigger animations with a delay; r=dzbarsky

Animations with a delay are not put on the compositor thread until the end of
the delay phase. However, there is currently nothing that explicitly triggers
this transaction. It may occur due to flushes that arise from UI events but it
is not guaranteed.

This patch detects the end of a delay phase and turns off throttling for that
sample. It re-uses the mLastNotification member which is not ideal but
a subsequent patch in this queue removes this and replaces it with the approach
used for transitions.
Bug 975261 part 3 - Add test for transforms; r=dzbarsky

Adds a test for transform animations with a delay where there is already
a transform specified on the element.

This test used to fail but bug 828173 fixed it. It is included here as
a regression test.

(Prior to bug 828173 we were able to fix this by triggering
ForceLayerRerendering inside nsAnimationManager::nsFlushAnimations whenever we
detected *different* style rules but canThrottleTick=true)

The issue stemmed from the fact that when an element has a transform property,
LayerIsPrerenderedDataKey would get set on the layer because in
nsDisplayTransform::ShouldPrerenderTransformedContent we would only check for
the *presence* of an animation, not whether it is running. Then in
RestyleManager::DoApplyRenderingChangeToTree we wouldn't do an invalidating
paint because TryUpdateTransformOnly() returns true since it looks at
LayerIsPrerenderedDataKey.

Bug 828173 fixes this, at least in part, by checking if an animation is running.
This bug may resurface if we put animations with a delay on the compositor
thread hence it is worth including here.
Bug 975261 part 4 - Add test for starting OMTA animations with backwards fill; r=dzbarsky

This test reproduces a bug where we don't send an animation to the compositor
thread. The important step is the sample precisely at the start of the animation
interval.
Bug 975261 part 5 - Fix OMTA animations with backwards fill; r=dzbarsky

When we have a backwards fill and we sample at *exactly* the start of the
animation on the next refresh driver tick, when we get to
RestyleManager::ComputeStyleChangeFor (or more specifically
ElementRestyler::CaptureChange) we notice that the style hasn't changed (since
the first frame of the animation produces the same value as the backwards fill)
and end up with an empty change list. As a result we never schedule a view
manager flush and rebuild the layer. Hence, the animation never gets sent to the
compositor thread. On the next tick we're already throttling the main thread.

This patch fixes this by applying the same approach as is used for transitions,
that is, explicitly marking which animations are running on the compositor
thread so we know if we need to trigger a layer transaction or not. This should
not only be more robust than the previous code but also facilitate aligning
animations and transitions code (bug 880596).
Bug 981508 - Fix comment in nsDisplayTransform::ShouldPrerenderTransformedContent; r=roc
Bug 976479 - Don't race to destroy top level protocols off the main thread. r=nical
Bug 980962 - Fix the AsmJSArrayBuffer function when called using |new|.  r=terrence over IRC

--HG--
extra : rebase_source : 6050d0283041fb5fbb549780abece586d1e9f918
Bug 983845 follow-up: Don't try to build BrowserFeedWriter.webidl for xulrunner builds
Bug 962154 - Use MallocSizeOf to report decoded-video memory. r=cpearce,njn
Bug 355430 - Add the column to the error event. r=bz
Bug 355430 - Test. r=bz
Bug 977904 - [e10s] Get native key bindings working. r=masayuki
Bug 957723 - Followup fix for decommitted nursery reporting; r=njn
Bumping gaia.json for 1 gaia revision(s) a=gaia-bump

========

https://hg.mozilla.org/integration/gaia-central/rev/50872ab77f6b
Author: Fabrice Desré <fabrice@mozilla.com>
Desc: Bug 983760 - Dont show crash screen if tab is not currently active. r=daleharvey
Bumping manifests a=b2g-bump
Backed out 3 changesets (bug 980027) for causing a serious race in hal with the pref service

Backed out changeset 5cd05df56f67 (bug 980027)
Backed out changeset 6344d6606517 (bug 980027)
Backed out changeset 098a43b537e9 (bug 980027)
Bug 985610 - Remove duplicate menu_item_textsize definition. r=wesj
Backed out changeset 8764e9f061d0 (bug 980679) for a smoketest regression
Bug 975823, part 1 - Remove some trailing whitespace from nsStreamConverterService. r=mcmanus
Bug 975823, part 2 - Take advantage of infallible new in nsStreamConverterService. r=mcmanus