gecko-dev/image
Lee Salzman d22d724cc2 Bug 1511493 - Ensure PushGlyphs uses the current transaction's IpcResourceUpdateQueue. r=emilio
WebRenderBridgeChild::GetFontKeyForScaledFont can currently cause a IpcResourceUpdateQueue race.
If we're in the middle of a transaction building a blob image, GetFontKeyForScaledFont is called
in the blob image building code using the transaction's IpcResourceUpdateQueue as expected, such
that resource updates are sent out when the transaction is finalized.

However, TextDrawTarget calls into PushGlyphs without passing along its IpcResourceUpdateQueue,
calling GetFontKeyForScaledFont without it, and causing it to immediately send out the resource
update.

So if a blob image uses a font key and submits a resource update, but a display list is built
after that also using the font key within the transaction, the display list will fail to send
the resource update because it thinks the blob image already did, even though the blob image
transaction has not yet been finalized.

The simple fix is to just pass IpcResourceUpdateQueue from TextDrawTarget into PushGlyphs, thus
ensuring the resource updates are properly ordered.

Differential Revision: https://phabricator.services.mozilla.com/D140438
2022-03-05 23:35:16 +00:00
..
build Bug 1511670 - Add WebP image encoding support. r=aosmond 2021-11-06 13:09:07 +00:00
decoders Bug 1725363 - Replace PL_strcasecmp with nsCRT::strcasecmp image/ r=aosmond 2022-01-26 09:07:33 +00:00
encoders Bug 1511670 - Add WebP image encoding support. r=aosmond 2021-11-06 13:09:07 +00:00
test Bug 1753471 - Only notify http-on-image-cache-response once per cache entry r=tnikkel 2022-02-10 18:18:28 +00:00
AnimationFrameBuffer.cpp Bug 1711061 - Part 4. Implement AnimationSurfaceProvider for animated rasterized images. r=tnikkel 2021-11-27 11:47:37 +00:00
AnimationFrameBuffer.h Bug 1711061 - Part 4. Implement AnimationSurfaceProvider for animated rasterized images. r=tnikkel 2021-11-27 11:47:37 +00:00
AnimationParams.h
AnimationSurfaceProvider.cpp Bug 1711061 - Part 4. Implement AnimationSurfaceProvider for animated rasterized images. r=tnikkel 2021-11-27 11:47:37 +00:00
AnimationSurfaceProvider.h Bug 1711061 - Part 4. Implement AnimationSurfaceProvider for animated rasterized images. r=tnikkel 2021-11-27 11:47:37 +00:00
AutoRestoreSVGState.h
BMPHeaders.h
BlobSurfaceProvider.cpp Bug 1511493 - Ensure PushGlyphs uses the current transaction's IpcResourceUpdateQueue. r=emilio 2022-03-05 23:35:16 +00:00
BlobSurfaceProvider.h Bug 1711061 - Part 10. Implement BlobSurfaceProvider for non-rasterized blob recordings. r=tnikkel 2021-11-27 11:47:39 +00:00
ClippedImage.cpp Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
ClippedImage.h Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
CopyOnWrite.h
DecodePool.cpp
DecodePool.h
DecodedSurfaceProvider.cpp Bug 1711061 - Part 3. Add WebRenderImageProvider and implement for rasterized providers. r=tnikkel 2021-11-27 11:47:36 +00:00
DecodedSurfaceProvider.h Bug 1711061 - Part 3. Add WebRenderImageProvider and implement for rasterized providers. r=tnikkel 2021-11-27 11:47:36 +00:00
Decoder.cpp
Decoder.h
DecoderFactory.cpp
DecoderFactory.h
DecoderFlags.h
Downscaler.cpp
Downscaler.h
DownscalingFilter.h
DynamicImage.cpp Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
DynamicImage.h Bug 1530209 - Removed context argument from various methods. r=necko-reviewers,valentin 2021-11-24 11:25:41 +00:00
FrameAnimator.cpp Bug 1711061 - Part 4. Implement AnimationSurfaceProvider for animated rasterized images. r=tnikkel 2021-11-27 11:47:37 +00:00
FrameAnimator.h Bug 1711061 - Part 4. Implement AnimationSurfaceProvider for animated rasterized images. r=tnikkel 2021-11-27 11:47:37 +00:00
FrameTimeout.h
FrozenImage.cpp Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
FrozenImage.h Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
ICOFileHeaders.h
IDecodingTask.cpp
IDecodingTask.h
IProgressObserver.h
ISurfaceProvider.h Bug 1711061 - Part 4. Implement AnimationSurfaceProvider for animated rasterized images. r=tnikkel 2021-11-27 11:47:37 +00:00
Image.cpp Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
Image.h Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
ImageBlocker.cpp Bug 1720280: Avoid NullPtr deref in ImageBlocker::ShouldLoad. r=smaug 2021-12-09 12:09:40 +00:00
ImageBlocker.h
ImageCacheKey.cpp
ImageCacheKey.h
ImageFactory.cpp Bug 1756587. Fix a couple of aInnerWindowId parameters to be uint64_t in ImageFactory.cpp. r=aosmond 2022-02-26 07:22:44 +00:00
ImageFactory.h Bug 1756587. Fix a couple of aInnerWindowId parameters to be uint64_t in ImageFactory.cpp. r=aosmond 2022-02-26 07:22:44 +00:00
ImageLogging.h
ImageMemoryReporter.cpp
ImageMemoryReporter.h
ImageMetadata.h
ImageOps.cpp
ImageOps.h
ImageRegion.h Bug 1711061 - Part 9. Add blob recording support to SurfaceCache. r=tnikkel 2021-11-27 11:47:39 +00:00
ImageWrapper.cpp Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
ImageWrapper.h Bug 1530209 - Removed context argument from various methods. r=necko-reviewers,valentin 2021-11-24 11:25:41 +00:00
ImgDrawResult.h
LookupResult.h
MultipartImage.cpp Bug 1530209 - Removed context argument from various methods. r=necko-reviewers,valentin 2021-11-24 11:25:41 +00:00
MultipartImage.h Bug 1530209 - Removed context argument from various methods. r=necko-reviewers,valentin 2021-11-24 11:25:41 +00:00
Orientation.h
OrientedImage.cpp Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
OrientedImage.h Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
PlaybackType.h
ProgressTracker.cpp
ProgressTracker.h
RasterImage.cpp Bug 1753453 - Don't send OnUnlockedDraw for non-animated images. r=aosmond 2022-02-03 17:31:42 +00:00
RasterImage.h Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
Resolution.h
SVGDocumentWrapper.cpp
SVGDocumentWrapper.h
SVGDrawingCallback.h
SVGDrawingParameters.h
ScriptedNotificationObserver.cpp
ScriptedNotificationObserver.h
ShutdownTracker.cpp
ShutdownTracker.h
SourceBuffer.cpp
SourceBuffer.h
StreamingLexer.h
SurfaceCache.cpp Bug 1756696. Make sure image decoding has finished in netwerk/test/browser/browser_opaque_response_blocking_telemetry.js. r=aosmond 2022-02-23 13:23:41 +00:00
SurfaceCache.h Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
SurfaceCacheUtils.cpp
SurfaceCacheUtils.h
SurfaceFilters.h
SurfaceFlags.h Bug 1711061 - Part 9. Add blob recording support to SurfaceCache. r=tnikkel 2021-11-27 11:47:39 +00:00
SurfacePipe.cpp
SurfacePipe.h
SurfacePipeFactory.h
VectorImage.cpp Bug 1755975 - Pass rect or path directly to Clip() instead of manually creating a path. r=gfx-reviewers,mstange 2022-02-24 14:42:35 +00:00
VectorImage.h Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
WebRenderImageProvider.h Bug 1711061 - Part 3. Add WebRenderImageProvider and implement for rasterized providers. r=tnikkel 2021-11-27 11:47:36 +00:00
imgFrame.cpp Bug 1749062: imgFrame cleanup r=gfx-reviewers,aosmond 2022-01-25 18:33:35 +00:00
imgFrame.h Bug 1711061 - Part 1. Remove SourceSurfaceMappedData surface deduplication from memory reports. r=tnikkel 2021-11-27 11:47:36 +00:00
imgICache.idl
imgIContainer.idl Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
imgIContainerDebug.idl
imgIEncoder.idl Bug 1750475. Allow quality parameter to be passed through the webp encoder from canvas data url encoding functions. r=lsalzman 2022-01-19 09:50:33 +00:00
imgILoader.idl
imgINotificationObserver.idl
imgIRequest.idl Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
imgIScriptedNotificationObserver.idl
imgITools.idl
imgLoader.cpp Bug 1755226 - Only notify 'http-on-image-cache-response' when there are registered observers r=tnikkel,emilio 2022-02-17 14:53:10 +00:00
imgLoader.h Bug 1753471 - Only notify http-on-image-cache-response once per cache entry r=tnikkel 2022-02-10 18:18:28 +00:00
imgRequest.cpp Bug 1756551. Parameter aInnerWindowId on PrepareForNewPart in imgRequest.cpp is uint64_t not uint32_t. r=aosmond 2022-02-24 09:40:34 +00:00
imgRequest.h Bug 1755032. Fix data race on imgRequest::mInnerWindowId. r=aosmond 2022-02-14 10:00:40 +00:00
imgRequestProxy.cpp Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel 2021-11-27 11:47:40 +00:00
imgRequestProxy.h
imgTools.cpp Bug 1530209 - Removed context argument from various methods. r=necko-reviewers,valentin 2021-11-24 11:25:41 +00:00
imgTools.h
moz.build Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium 2021-12-01 06:40:04 +00:00
nsIIconURI.idl