Recently DMABuf modifiers are not correctly implemented for YUV surfaces - when a modifier is present we use it
for all planes to create EGLImage.
In this patch we import modifiers for all used YUV planes and use them correctly for particular planes.
Differential Revision: https://phabricator.services.mozilla.com/D136782
Change some less important debugs to verbose so that we can use DEBUG level to focus more important things.
For AudioTrimmer, this will help to reduce huge useless logs if audio doesn't need to be trimmed.
Differential Revision: https://phabricator.services.mozilla.com/D134350
This implements a customized buffer allocator for ffmpeg decoder to allow it to store decoded data on shmem, so decoded data can be shared with the compositor process without doing extra copy.
As ffmpeg decoder needs a special alignment which will be larger than the actual image, we would need to crop the planes by telling plane descriptor correct place size in order to display image correctly.
Otherwise, showing a larger image causes visible incorrect border on the right and bottom of the actual image.
This will help improve the performance of software decoding while using ffmpeg and ffvpx, which is about h264 and vpx on Linux, vpx on Windows and MacOS.
Inaddition, Here is a result [1] showing that how much improvement using shmem can help.
[1] https://bit.ly/3dy4rya
Differential Revision: https://phabricator.services.mozilla.com/D130220
`HTMLEditor` assumes that inline elements cannot have block elements. However,
it's not so if it's created by DOM APIs like `Node.appendChild` or making a
custom element an editing host.
Therefore, it's not unexpected case that only start or end of a range does not
have a block ancestor element. So this patch makes `AutoBlockElementsJoiner`
not stop handling the deletion in the case.
Differential Revision: https://phabricator.services.mozilla.com/D136698
This was added in bug 1201330 but with WR isn't really needed anymore and the code causes the expiration timer to fire until the scroll frame becomes inactive (the most common scroll frames stay active, ie root scroll frames).
Differential Revision: https://phabricator.services.mozilla.com/D136806
Our platform-specific `bootstrap` code transitively depends on
the standard library's `distutils` module, but Debian Linux and derived
distros generally split `distutils` into a separate installable OS
package from `python3` itself.
So, Python 3 being able to run isn't a sufficient guarantee that
`distutils` is available.
To catch this case, add a `distutils` check at the very beginning of
Mach initialization.
-----
Also remove an obsolete comment claiming that `mach bootstrap` doesn't
need `distutils`, which was obsoleted by Bug 1717051.
Differential Revision: https://phabricator.services.mozilla.com/D136639
We had zero coverage for this, apparently. Upon writing tests, the only
test we had for this was `@Ignore`d :(
Write better tests for this. Add tests for <select multiple> which I
broke because the mozshowdropdown events only fire for dropdown selects.
I'm sorry anyways, I should've tested manually, but I was traveling and
found issues when trying to do an artifact build so I relied on try, oh
well.
Differential Revision: https://phabricator.services.mozilla.com/D136772
PathUtils.getTempDir() was failing in xpcshell tests for two reasons:
1. It was requesting NS_APP_CONTENT_PROCESS_TEMP_DIR, which resolves to
`ContentTmpD`, which the directory provider did not have an entry for.
2. By default, XPC shell tests do not have a profile set up, so when we request
the temporary directory and eagerly fetch the profile directory, we would fail.
We now only fetch the entry for the single directory that is requested to work
around these edge cases in tests. xpcshell has been modified so that requests
for the `ContentTmpD` are forwarded to requests for the regular OS temporary
directory.
Differential Revision: https://phabricator.services.mozilla.com/D134877
This was needed before bug 1751432 but isn't anymore, and can cause
issues. If the system GTK theme is dark we should arguably not switch to
light in that case.
Differential Revision: https://phabricator.services.mozilla.com/D136752