Memory for memfd files isn't subject to any file size limit, unlike
named files in /dev/shm, and is documented as being handled similarly
to anonymous mmap for accounting / resource management purposes.
Therefore, there isn't any need to pre-commit the memory with
posix_fallocate in that case.
Differential Revision: https://phabricator.services.mozilla.com/D121818
This merges the cases for posix_fallocate being unavailable at build
time and being rejected dynamically by the OS (some don't support
it with their implementation of POSIX shm), to make it simple to
dynamically opt out in the memfd case.
Differential Revision: https://phabricator.services.mozilla.com/D121817
What currently happens when Cargo.lock doesn't match is that the first
time we run cargo to generate the cbindgen metadata, we don't run it
with --frozen (unlike subsequent calls), and that locally fixes
Cargo.lock. Instead of that, we make the build fail, which will prevent
out-of-sync Cargo.lock from slipping in the tree in the first place.
Differential Revision: https://phabricator.services.mozilla.com/D123010
This implements logic in the clear key CDM to emulate protection queries. The
CDM will only do so if configured using the new test key system added prior to
this patch.
Differential Revision: https://phabricator.services.mozilla.com/D122633
This lets the clear key CDM behave differently if it's created with the
protection query key system. The different behaviour will be implemented in
following patches and gated behind the member set here.
Differential Revision: https://phabricator.services.mozilla.com/D122632
Move constants and fix up includes following doing so.
This is motivated by that future patches will want to use these constants in the
clear key CDM. If we don't move these constants and try to include the existing
VideoUtils in the clear key CDM this will break the build (because the clear key
CDM uses a restricted subset of the stuff we get in Gecko).
Differential Revision: https://phabricator.services.mozilla.com/D122631
This patch updates ssltunnel to have a configuration where it only uses a 3DES
ciphersuite, rather than RC4 ciphersuites. This has to be done in stages
because otherwise android tests will fail, because their hostutils doesn't
actually use what's in-tree, and has to be updated separately.
Differential Revision: https://phabricator.services.mozilla.com/D122393
This implements logic in the clear key CDM to emulate protection queries. The
CDM will only do so if configured using the new test key system added prior to
this patch.
Differential Revision: https://phabricator.services.mozilla.com/D122633
This lets the clear key CDM behave differently if it's created with the
protection query key system. The different behaviour will be implemented in
following patches and gated behind the member set here.
Differential Revision: https://phabricator.services.mozilla.com/D122632
Move constants and fix up includes following doing so.
This is motivated by that future patches will want to use these constants in the
clear key CDM. If we don't move these constants and try to include the existing
VideoUtils in the clear key CDM this will break the build (because the clear key
CDM uses a restricted subset of the stuff we get in Gecko).
Differential Revision: https://phabricator.services.mozilla.com/D122631
Adds a pref `media.eme.max-throughput-ms` to allow users to modify EME's maximum decryption rate. The default value is 200ms which is the same as the old hard-coded value.
Differential Revision: https://phabricator.services.mozilla.com/D122876
This is simpler and more correct, the previous code could get sHCursor and
sCurrentCursor out of sync, which caused this issue.
Differential Revision: https://phabricator.services.mozilla.com/D122966
`mChanged` isn't propagated through IPC, so we end up never update the coalesced
event. There can't be too many of touches, so it shouldn't be a performance
issue if we just update all touches.
Differential Revision: https://phabricator.services.mozilla.com/D122539
Adds a pref `media.eme.max-throughput-ms` to allow users to modify EME's maximum decryption rate. The default value is 200ms which is the same as the old hard-coded value.
Differential Revision: https://phabricator.services.mozilla.com/D122876
The missing closing single quote causes update-verify-config-next to fail as
the value is used in a shell commandline.
Added a quick test to look for this kind of error since apparently it is easy
to miss.
Differential Revision: https://phabricator.services.mozilla.com/D122901
This *mostly* gets us the latest WebIDL API of WebGPU. There is a few limits we are missing, and maybe some things I didn't notice.
But it gets us the new `GPUCanvasContext`, `GPUSupportedLimits`, and `GPUVertexStepMode`.
Differential Revision: https://phabricator.services.mozilla.com/D120764
If array size grows up, the array data may be reallocated. Therefore, after
getting a reference of an array item, we shouldn't modify array.
This makes them use raw pointer if they need to modify the array. Otherwise,
keep using the reference, but adds a stack class to detect the bug only in debug
build.
Differential Revision: https://phabricator.services.mozilla.com/D122920