We restrict the argument (i.e. `nsCSSPropertyIDSet`) of some functions is
the subset of other property set (e.g. transform-like properties), so
add this function for better readability.
Depends on D19629
Differential Revision: https://phabricator.services.mozilla.com/D21598
--HG--
extra : moz-landing-system : lando
Transform display item may have multiple properties, so it's better to
use display item type as the input.
Also, factor some code out of AddAnimationsForProperty, so we can easier
to extend this for multiple properties.
We will pass a list of layers::Animation to the compositor thread. In
this list, the animations belonging to the same property are grouped together,
so we can easily separate the animations by property and sample the animations
for each property on the compositor thread. (Will do this in Bug 1425837.)
Depends on D19628
Differential Revision: https://phabricator.services.mozilla.com/D19629
--HG--
extra : moz-landing-system : lando
We use DisplayItemType as the input of HasAnimationsForCompositor, and
nsCSSPropertyIDSet as the input of GetAnimationsForCompositor.
The caller of HasAnimationsForCompositor just wants to check if there is
any compositor animation for a display item, so we can replace it by the
display item, and get the properties from this display item.
However, the caller of GetAnimationsForCompositor may use a subset of
transform-like properties for getting scale factors, or use all the
transform-like properties for sending all transform animations to the
compositor thread.
Depends on D19630
Differential Revision: https://phabricator.services.mozilla.com/D19628
--HG--
extra : moz-landing-system : lando
FrameLayerBuilder needs to clear this flag by DisplayItemType, so we add
a new function for it.
Differential Revision: https://phabricator.services.mozilla.com/D19630
--HG--
extra : moz-landing-system : lando
WebM specify that timestamp must be monotonically increasing. Unfortunately, this is not always the case.
WebM doesn't have a concept of frame duration, the duration is calculated as being the delta between the next frame's time and the current one. So non-monotonically increasing timestamps would have caused negative duration.
Differential Revision: https://phabricator.services.mozilla.com/D21687
--HG--
extra : moz-landing-system : lando
We're able to hit this assertion in the wild due to bad muxers. As such, replace
the assert with a log. If a sample has a time stamp > the segment duration, use
that instead of the duration for calculating our next time stamp. Use an
explicit int64_t type in the signature for our next time stamp calculation
as the logging explicitly expects an int64_t (makes it harder to change the
types involved and footgunning by having a wrong formatter in the logs).
Differential Revision: https://phabricator.services.mozilla.com/D21717
--HG--
extra : moz-landing-system : lando
On Windows on ARM64 we will run the x86 Widevine DLL in an x86
plugin-container.exe with an x86 xul.dll. We therefore should also pass the
paths to these binaries to the CDM in the host files instead of the aarch64
plugin-container.exe. We should still pass the aarch64 xul.dll to the CDM,
as that's in use by the aarch64 firefox.exe.
Differential Revision: https://phabricator.services.mozilla.com/D21507
--HG--
extra : moz-landing-system : lando
The rate changes after decoding the first sample to what was indicated in the container. The code to handle that case was incorrectly removed in bug 1530234
Differential Revision: https://phabricator.services.mozilla.com/D21618
--HG--
extra : moz-landing-system : lando
Append a video element to document with loading the test video triggered 'mozentervideosuspend' event. It caused the test failure.
Differential Revision: https://phabricator.services.mozilla.com/D21499
--HG--
extra : moz-landing-system : lando
This is needed to maintain full feature parity with the existing
nsIPrincipal serializer while switching to using the PrincipalInfo-based
one.
Depends on D14434
Differential Revision: https://phabricator.services.mozilla.com/D20854
--HG--
extra : moz-landing-system : lando
This is needed to use the IPDLParamTraits implementation for nsIURI which is
used in part 2 of this patch series.
Differential Revision: https://phabricator.services.mozilla.com/D14434
--HG--
extra : moz-landing-system : lando
We now allow frames to have a negative time (so that they can be decoded and trimmed).
Differential Revision: https://phabricator.services.mozilla.com/D21474
--HG--
extra : moz-landing-system : lando
Per spec these should just go directly to the expando object; we were ignoring them instead.
Differential Revision: https://phabricator.services.mozilla.com/D16930
--HG--
extra : moz-landing-system : lando
|new| is infallible, so these checks are not needed.
I also modernized the ref pointers in these macros a bit.
Differential Revision: https://phabricator.services.mozilla.com/D21432
--HG--
extra : moz-landing-system : lando