Automatically generated path that adds flag `REQUIRES_UNIFIED_BUILD = True` to `moz.build`
when the module governed by the build config file is not buildable outside on the unified environment.
This needs to be done in order to have a hybrid build system that adds the possibility of combing
unified build components with ones that are built outside of the unified eco system.
Differential Revision: https://phabricator.services.mozilla.com/D122345
Reorder includes to match Google C++ style. The follow decisions were made to
resolve ambiguities.
- The pssh parser and clearkey are considered part of mozilla-central/Gecko and
so have their includes grouped into the 'your project' includes at the end of
includes. I.e. they're grouped with other mozilla-central headers.
- NSS and the CDM headers are considered as coming from other libs, so are
placed in a block preceding the mozilla-central's.
I think everything else is decided by using the style guide and by Mozilla using
case sensitive sorting.
This also changes a few instances of using "systemheader.h" to <systemheader.h>,
which is more in line with the style guide.
Differential Revision: https://phabricator.services.mozilla.com/D123230
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
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
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
Instead of snprintf.
Because some standalone code uses those functions directly or indirectly,
and PrintfTarget lives in mozglue, they now need to depend on mozglue
instead of mfbt. Except logalloc/replay, which cherry-picks what it
uses, and the updater, for which we keep using vsnprintf.
Differential Revision: https://phabricator.services.mozilla.com/D103730
Instead of snprintf.
Because some standalone code uses those functions directly or indirectly,
and PrintfTarget lives in mozglue, they now need to depend on mozglue
instead of mfbt. Except logalloc/replay, which cherry-picks what it
uses.
Differential Revision: https://phabricator.services.mozilla.com/D103730
Instead of snprintf.
Because some standalone code uses those functions directly or indirectly,
and PrintfTarget lives in mozglue, they now need to depend on mozglue
instead of mfbt. Except logalloc/replay, which cherry-picks what it
uses.
Differential Revision: https://phabricator.services.mozilla.com/D103730
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
The warning is broken in older versions of clang. It also turns out we
were disabling it locally for some directories because of this very
problem.
A few local disable rules stay under accessible/ because they do hide
actual warnings from code generated by MIDL.
Differential Revision: https://phabricator.services.mozilla.com/D94262
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
We have a clang-plugin check that discourages raw `vsnprintf`, but for some reason it doesn't catch this before clang 11. I _think_ it's related to earlier versions not being able to see that `len` is a constant, but I'm not really sure.
Differential Revision: https://phabricator.services.mozilla.com/D79918
The CDM header bump has moved some enums, as well as using enum classes instead
of old style enums. This patch updates consumers of these enums to be compatible
with the new headers.
Drive by remove `using namespace cdm` from a couple of files as
- In some places I'd already been using fully qualified names.
- I prefer the fully qualified names as they make it clear when enums are coming
from the cdm namespace and `cdm::` is not a particularly more verbose thing to
have on identifiers.
Differential Revision: https://phabricator.services.mozilla.com/D78343
Emptiness of values should be checked using the `empty` method, and not
by comparing the size to 0. Fix such case in the code of
ClearKeyDecryptionManager.cpp module.
Differential Revision: https://phabricator.services.mozilla.com/D70206
--HG--
extra : moz-landing-system : lando
With NSS now being used to do the decryption in the Clearkey CDM, remove the
source and licensing information related to OpenAES.
Differential Revision: https://phabricator.services.mozilla.com/D45205
--HG--
extra : moz-landing-system : lando
Clearkey previously relied on OpenAES to do its encryption. In order to
facilitate future changes and the need for CBC support, switch to NSS, which
should be more flexible and actively maintained.
Differential Revision: https://phabricator.services.mozilla.com/D41993
--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 : source : 4c22ddbf15b579a57d1790c1b4f6290e661da346
extra : histedit_source : 8f1f76f36c3a18681e8aa373e7cd117c41c11815
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
worked in non-ASCII cases.
This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.
Depends on D19614
Differential Revision: https://phabricator.services.mozilla.com/D19615
--HG--
extra : moz-landing-system : lando
We weren't checking this value and it was causing compiler warnings. Instead
this change means we check the value and log an error if init has failed.
Differential Revision: https://phabricator.services.mozilla.com/D15519
--HG--
extra : moz-landing-system : lando
Not much changed in the interface:
- CDM initialization takes a use hardware codecs arg, we pipe this through, but
don't do anything more with it in the clearkey CDM.
- The CDM should call the hosts OnInitialized() when it's initialized. This is
done is now done in the clearkey CDM once the session management is ready, as
that is the last thing done during init.
Aside from the above, it's just updating interface usage. While the new CDM
interface adds support for different encryption schemes, this is not handled
here and will be done in follow up bug 1516673.
Differential Revision: https://phabricator.services.mozilla.com/D15518
--HG--
extra : moz-landing-system : lando