gecko-dev/image
Jed Davis 2257145e1c Bug 1635451 - Minimize content processes' connections to the X server. r=jgilbert,stransky,nika
This patch launches content processes with the `MOZ_HEADLESS` env var set
if they're using GTK with an X11 display (and there's no other reason
they'd need GTK).

The goal is to avoid exhausting Xorg's default limit of 256 clients if
there are many content processes due to Fission.  If these conditions
are met, the content process doesn't need to eagerly connect to the X
server.  This does not affect the sandbox policy, and content processes
can still use X if needed for, e.g.,  WebGL.

The boolean pref `dom.ipc.avoid-gtk`, set by default, controls this
feature.  In the future it could also be extended to minimize GTK use
with Wayland displays.

Note that disabling `widget.non-native-theme.enabled`, which is also
enabled by default, will restore the use of X11 in all content processes
even if this pref is set; the alternative is that widgets wouldn't render
in that case.

This change will also save some memory for now-unnecessary instances of
GTK's global state, and improve content process startup time.

Remove also the temp pref dom.ipc.remote-mozIcon because it cannot work
anymore with the content process being headless.

Differential Revision: https://phabricator.services.mozilla.com/D112197
2021-07-06 07:42:42 +00:00
..
build Bug 1712147 - Add more missing MOZ_JXL checks r=tnikkel 2021-05-22 05:33:48 +00:00
decoders Bug 1635451 - Minimize content processes' connections to the X server. r=jgilbert,stransky,nika 2021-07-06 07:42:42 +00:00
encoders Bug 1654103: Standardize on Black for Python code in mozilla-central. 2020-10-26 18:34:53 +00:00
test Bug 1635451 - Minimize content processes' connections to the X server. r=jgilbert,stransky,nika 2021-07-06 07:42:42 +00:00
AnimationFrameBuffer.cpp Bug 1707044 - Remove invalid assert in AnimationFrameRecyclingQueue::RecycleFrame. r=tnikkel 2021-04-23 02:21:00 +00:00
AnimationFrameBuffer.h
AnimationParams.h
AnimationSurfaceProvider.cpp Bug 1651587 - Make image::Image released efficient on main thread r=aosmond 2020-07-10 14:34:01 +00:00
AnimationSurfaceProvider.h
AutoRestoreSVGState.h Bug 1708443 - Part 3. Move VectorImage::mIsDrawing to SVGDocumentWrapper. r=tnikkel 2021-04-29 14:15:01 +00:00
BMPHeaders.h
ClippedImage.cpp Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00
ClippedImage.h Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00
CopyOnWrite.h
DecodedSurfaceProvider.cpp Bug 1651587 - Make image::Image released efficient on main thread r=aosmond 2020-07-10 14:34:01 +00:00
DecodedSurfaceProvider.h
DecodePool.cpp Bug 1701791 p2: Don't initialize COM on the image IO thread when win32k is locked down. r=tnikkel 2021-04-27 07:41:16 +00:00
DecodePool.h Bug 1672597 - Part 2: Use TaskController's thread pool for image decoding. r=aosmond 2020-10-27 15:29:26 +00:00
Decoder.cpp Bug 1680387 - Read and expose EXIF image resolution data. r=tnikkel,aosmond 2021-05-05 09:41:23 +00:00
Decoder.h Bug 1680387 - Read and expose EXIF image resolution data. r=tnikkel,aosmond 2021-05-05 09:41:23 +00:00
DecoderFactory.cpp Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel 2021-05-06 02:00:57 +00:00
DecoderFactory.h Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel 2021-05-06 02:00:57 +00:00
DecoderFlags.h
Downscaler.cpp
Downscaler.h
DownscalingFilter.h
DynamicImage.cpp Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00
DynamicImage.h
FrameAnimator.cpp Bug 1691589 - Reduce reliance on GeckoProfiler.h when only labels (and maybe markers) are needed - r=necko-reviewers,geckoview-reviewers,sg,agi,florian 2021-02-16 04:44:19 +00:00
FrameAnimator.h
FrameTimeout.h
FrozenImage.cpp Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00
FrozenImage.h Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00
ICOFileHeaders.h
IDecodingTask.cpp
IDecodingTask.h
Image.cpp Bug 1711948 - Add surfaces from image containers to the memory report. r=tnikkel 2021-05-20 12:31:27 +00:00
Image.h Bug 1711948 - Add surfaces from image containers to the memory report. r=tnikkel 2021-05-20 12:31:27 +00:00
ImageBlocker.cpp Bug 1685900 - Split internal and external contentPolicyType. r=ckerschb,smaug 2021-01-15 12:07:16 +00:00
ImageBlocker.h
ImageCacheKey.cpp Bug 1654649 - Deny requestStorageAccess for sites with denied cookie permission. r=timhuang 2020-12-16 16:45:18 +00:00
ImageCacheKey.h Bug 1705033 - Added ImageCacheCleaner deleteByBaseDomain. r=tnikkel,timhuang 2021-05-27 12:37:04 +00:00
ImageFactory.cpp Bug 1704103 - add 'Image Paint' and 'Image Load' profiler markers, r=gerald,tnikkel. 2021-04-14 09:00:13 +00:00
ImageFactory.h
ImageLogging.h
ImageMemoryReporter.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
ImageMemoryReporter.h
ImageMetadata.h Bug 1680387 - Read and expose EXIF image resolution data. r=tnikkel,aosmond 2021-05-05 09:41:23 +00:00
ImageOps.cpp Bug 1704332 - Remove various image-orientation related prefs. r=tnikkel 2021-04-11 17:39:12 +00:00
ImageOps.h
ImageRegion.h Bug 1704792 - Part 4. Add ImageIntRegion, an integer variant of ImageRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00
ImageWrapper.cpp Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00
ImageWrapper.h
ImgDrawResult.h Bug 1685796 - Return BAD_IMAGE when sync-decoding an incomplete, errored image. r=tnikkel 2021-01-12 02:28:00 +00:00
imgFrame.cpp Bug 1711948 - Add surfaces from image containers to the memory report. r=tnikkel 2021-05-20 12:31:27 +00:00
imgFrame.h Bug 1711948 - Add surfaces from image containers to the memory report. r=tnikkel 2021-05-20 12:31:27 +00:00
imgICache.idl Bug 1705033 - Added ImageCacheCleaner deleteByBaseDomain. r=tnikkel,timhuang 2021-05-27 12:37:04 +00:00
imgIContainer.idl Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00
imgIContainerDebug.idl
imgIEncoder.idl
imgILoader.idl
imgINotificationObserver.idl
imgIRequest.idl Bug 1709577 - Remove CORS_* constants from imgIRequest, use CORSMode instead. r=tnikkel 2021-05-05 15:23:25 +00:00
imgIScriptedNotificationObserver.idl
imgITools.idl
imgLoader.cpp Bug 1713489 - Record telemetry for how long we spend waiting on the main thread to process image preload network steps. r=bas,dragana,necko-reviewers 2021-05-31 22:44:18 +00:00
imgLoader.h Bug 1705033 - Added ImageCacheCleaner deleteByBaseDomain. r=tnikkel,timhuang 2021-05-27 12:37:04 +00:00
imgRequest.cpp Bug 1709577 - Remove CORS_* constants from imgIRequest, use CORSMode instead. r=tnikkel 2021-05-05 15:23:25 +00:00
imgRequest.h Bug 1709577 - Remove CORS_* constants from imgIRequest, use CORSMode instead. r=tnikkel 2021-05-05 15:23:25 +00:00
imgRequestProxy.cpp Bug 1683557 - Make image buildable outside of unified-build environment. r=aosmond 2021-01-04 14:20:22 +00:00
imgRequestProxy.h Bug 1678560 - Avoid including nsILoadGroup.h in header files. r=tnikkel 2020-11-23 16:12:44 +00:00
imgTools.cpp Bug 1674777 part 3 - Change Get*LengthAndData outparam from uint32_t to size_t. r=sfink,aosmond 2021-01-31 08:35:40 +00:00
imgTools.h
IProgressObserver.h Bug 1653011 - Simplify and make WeakPtr<Derived> usable and compact. r=froydnj,sg,geckoview-reviewers,jgilbert,kvark,snorp 2020-07-23 14:51:46 +00:00
ISurfaceProvider.h Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
LookupResult.h
moz.build Bug 1695381 - Add moz-icon testing for file:// r=tnikkel 2021-06-26 01:15:01 +00:00
MultipartImage.cpp
MultipartImage.h
nsIIconURI.idl
Orientation.h
OrientedImage.cpp Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00
OrientedImage.h Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00
PlaybackType.h
ProgressTracker.cpp Bug 1184468 - Use nsBaseHashtable::Values. r=xpcom-reviewers,nika 2021-03-24 17:56:49 +00:00
ProgressTracker.h Bug 1698098 - Make use of nsBaseHashtable::Clone. r=xpcom-reviewers,mccr8 2021-03-19 09:01:46 +00:00
RasterImage.cpp Bug 1711948 - Add surfaces from image containers to the memory report. r=tnikkel 2021-05-20 12:31:27 +00:00
RasterImage.h Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00
Resolution.h Bug 1680387 - Fix interaction with src-set() / image-set(), and enable the feature by default. r=tnikkel 2021-05-05 09:41:24 +00:00
ScriptedNotificationObserver.cpp
ScriptedNotificationObserver.h
ShutdownTracker.cpp
ShutdownTracker.h
SourceBuffer.cpp
SourceBuffer.h
SourceSurfaceBlobImage.cpp Bug 1712855 - Fix assertion when recording SVG image blobs with non-integer translation transforms. r=jrmuizel 2021-06-22 16:10:42 +00:00
SourceSurfaceBlobImage.h Bug 1713350 - Ensure we reset the dirty flag for SVG blob recordings during moves. r=jrmuizel 2021-05-28 17:07:13 +00:00
StreamingLexer.h
SurfaceCache.cpp Bug 1711948 - Add surfaces from image containers to the memory report. r=tnikkel 2021-05-20 12:31:27 +00:00
SurfaceCache.h Bug 1711948 - Add surfaces from image containers to the memory report. r=tnikkel 2021-05-20 12:31:27 +00:00
SurfaceCacheUtils.cpp
SurfaceCacheUtils.h
SurfaceFilters.h
SurfaceFlags.h
SurfacePipe.cpp
SurfacePipe.h
SurfacePipeFactory.h
SVGDocumentWrapper.cpp Bug 1708443 - Part 3. Move VectorImage::mIsDrawing to SVGDocumentWrapper. r=tnikkel 2021-04-29 14:15:01 +00:00
SVGDocumentWrapper.h Bug 1708443 - Part 3. Move VectorImage::mIsDrawing to SVGDocumentWrapper. r=tnikkel 2021-04-29 14:15:01 +00:00
SVGDrawingCallback.h Bug 1708443 - Part 2. Move SVGDrawingCallback declaration to own header. r=tnikkel 2021-04-29 14:15:01 +00:00
SVGDrawingParameters.h Bug 1652254 - Remove svg from some moz.build local includes r=dholbert 2020-07-12 16:38:26 +00:00
VectorImage.cpp Bug 1711059 - Allow animated SVG images to use blob recordings. r=jrmuizel 2021-05-31 11:32:25 +00:00
VectorImage.h Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel 2021-05-13 16:24:07 +00:00