Bug 979658 part 1 - Add check that caller is chrome to GetOMTAOrComputedStyle; r=dzbarsky

Every other exposed method in nsDOMWindowUtils except getViewPortInfo and
getViewId performs this check. This patch makes getOMTAOrComputedStyle check the
caller is chrome as well.
Bug 979658 part 2 - Add nsDOMWindowUtils.getOMTAStyle; r=dbaron

nsDOMWindowUtils.getOMTAOrComputedStyle falls back to using getComputedStyle
when an OMTA style is not available. However, in order to be sure we are testing
OMTA, this patch adds getOMTAStyle which returns an empty string if no OMTA
style is available.

This patch also includes some minor stylistic tweaks. The method signature for
getOMTAOrComputedStyle now takes an nsIDOMElement parameter rather than
nsIDOMNode in order to simplify error-checking. (When we support OMTA of
pseudo-elements we will have to adjust the method signature but for now we only
support elements.) Also, some lines have been wrapped, ErrorResult is
declared closer to where it is used, and the return value aResult is only
truncated when returning NS_OK.
Bug 979658 part 3 - Make LayerTransactionParent::RecvGetTransform convert to CSS pixels; r=dzbarsky

LayerTransactionParent::RecvGetTransform takes care to reverse all the
transformations applied by AsyncCompositionManager::SampleValue to the CSS
values calculated so that it can return CSS values for testing. However, it
fails to revert the conversion from CSS pixels to device pixels applied to the
translation components of the transform by
nsStyleTransformMatrix::ProcessTranslatePart as called by
nsDisplayTransform::GetResultingTransformMatrix.

This patch converts the resulting transform's translation components from device
pixels back to CSS pixels. It also adds documentation for the other operations
in LayerTransactionParent::RecvGetTransform.
Bug 979658 part 4 - Rename PLayerTransaction.GetTransform to GetAnimationTransform; r=dzbarsky

PLayerTransaction.GetTransform doesn't actually return the same kind of value
when the transform on the layer is not set by animation. This is because it uses
information stored with the animation to undo various transforms. We shouldn't
pretend to return something useful/similar when we don't have that information
available.

This patch renames GetTransform to GetAnimationTransform and makes it return
a union that has type void_t if the layer is not transformed by animation.
Bug 979161 part 1 - Wrap up paint_listener.js so it doesn't leak globals; r=roc
Bug 979161 part 2 - Wrap long lines in paint_listener.js; r=mattwoodrow

And also simplify the code somewhat
Bug 979161 part 3 - Use SpecialPowers.getDOMWindowUtils in paint_listener.js; r=mattwoodrow

We can't just use SpecialPowers.DOMWindowUtils since otherwise we end up with
a DOMWindowUtils object that is bound to the parent object.
Bug 979161 part 4 - Add a non-flushing version of waitForAllPaints to paint_listener.js; r=mattwoodrow

This patch adds waitForAllPaints which does *not* call getBoundingClientRect
since that can cause a flush. Sometimes this flush is undesirable since it can
mask bugs in the code under test which should be performing this flush itself.
Bug 980207 - When the refresh driver is under test control, make compositor thread only update when a composite is scheduled; r=dzbarsky

In order to make test behavior better match real-world sampling behavior, this
patch updates the test code in CompositorParent so that it only updates the
layer when a composite is scheduled. This enables creating mochitests that
reproduce bugs observed in regular usage.