This is necessary now because raw pointers cannot be passed through naked
InvokeAsync.
MozReview-Commit-ID: 5TvR9yrbn0E
--HG--
extra : rebase_source : 042d8e84aebba3f6427d404ce7be0210a2db3dc7
A small optimization found while working on the previous patch.
MozReview-Commit-ID: 4w2LI5mqUvS
--HG--
extra : rebase_source : 70b9ad73c57da5079df607b5176fcfa45ed42e81
Thanks to this, MediaDecoderStateMachine::Seek can take SeekTarget by const&.
MozReview-Commit-ID: 97mLndCosQc
--HG--
extra : rebase_source : f940ea4cd1a9470d756f0d43bd680d75f16ce4fa
Thanks to this, MediaDecoderReader::Seek and overrides can take SeekTarget by
const&.
MozReview-Commit-ID: C5D26jKrW3p
--HG--
extra : rebase_source : 6f6278654ff3c51f6331cbf683c22622223a8cd2
Thanks to the previous patch, MediaDataDemuxer::Seek and
SkipToNextRandomAccessPoint (and all overrides in derived demuxers) can now
take their TimeUnit parameter by const&.
MozReview-Commit-ID: 6CqfjAXZ7Yk
--HG--
extra : rebase_source : c3453e4432d9e0281cf5eba55217b0c1d6312f5b
We now take a copy of the TimeUnit object, and can then pass it by rref to
internal methods.
MozReview-Commit-ID: J0Idw85NMcu
--HG--
extra : rebase_source : 9cb8dd45ff7b449074121df8618ee7295398138b
This new InvokeAsync overload takes a single lambda (or any function object).
This is most useful when a method call is not strictly necessary.
Avoid obvious copies by refusing lvalue-references.
(If one day this is really needed, the implementation is already there, hidden
inside `namespace detail`).
MozReview-Commit-ID: 57gPBz9kO1q
--HG--
extra : rebase_source : c9330ca2b6d06dac0318f38a68dadbbccc112325
Moved IsRefcountedSmartPointer and StripSmartPointer from ::detail to
::mozilla, to permit their use from other files.
Renamed StripSmartPointer to RemoveSmartPointer, for consistency with the
usual 'Remove...' type traits.
MozReview-Commit-ID: GMEbWCGfdpc
--HG--
extra : rebase_source : 3139cef1e18625b751e7d90ebfc0db5ef5bfec6b
InvokeAsync' Storages work like NewRunnableMethod, where template
parameters must be given, to specify the storage of arguments that are passed
to the target method.
This is especially useful when target methods take references (or pointers),
and there is a choice between passing the reference as-is because the object is
long-lived, or by taking a copy otherwise.
If no Storages are provided, InvokeAsync will store (non-reference/pointer)
objects and move them into the target method parameters.
MozReview-Commit-ID: 9qTQf84bOMv
--HG--
extra : rebase_source : c73e803f9024fbaf0ff8b2e615013a42f4f3c914
Check that the `preview` property is not null before using it.
The bug was harmless because we catch it and return an
empty array as the properties of the grip, which is the same
when we don't have anything in the preview prop.
MozReview-Commit-ID: COU8XLATw7x
--HG--
extra : rebase_source : e3b4efbc4957efdeda760917b6b7d22ad02f64ce
We need to avoid passing the timeout ID returned from `setTimeout` in the
content frame script that we use to register the script timeout handler
to the sandbox's `clearTimeout` function as this might interfere with any
`window.setTimeout` calls being made in the injected script.
MozReview-Commit-ID: 26PY8JDkf9A
--HG--
extra : rebase_source : 414581472dfa99379aecdfea5c5a29c2ce808890