gecko-dev/image
Andrew Osmond 95d4e6266a Bug 1465619 - Part 1. Use imgFrame directly instead of RawAccessFrameRef in FrameAnimator. r=tnikkel
When blending full frames off the main thread, FrameAnimator no longer
requires access to the raw data of the frame to advance the animation.
Now we only request a RawAccessFrameRef for the current/next frames when
we have discovered that we need to do blending on the main thread.

In addition to avoiding the mutex overhead of RawAccessFrameRef, this
will also facilitate potentially optimizing the surfaces for the
DrawTarget for individual animated image frames.

Differential Revision: https://phabricator.services.mozilla.com/D7506
2018-10-22 13:40:35 -04:00
..
build Bug 1388332 - Fix a shutdown crash when destroying image decoders before initializing its SurfacePipe. r=tnikkel 2017-08-09 06:54:55 -04:00
decoders Bug 1494127 - Fix trivial calls to do_QueryInterface that return an nsresult r=smaug 2018-10-01 21:38:43 +00:00
encoders Bug 1434490. Avoid overflow in nsPNGEncoder::WriteCallback. r=aosmond 2018-09-28 23:23:01 -05:00
test Bug 1465619 - Part 1. Use imgFrame directly instead of RawAccessFrameRef in FrameAnimator. r=tnikkel 2018-10-22 13:40:35 -04:00
AnimationFrameBuffer.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
AnimationFrameBuffer.h Bug 1462355 - Part 5. Avoid converting from DrawableFrameRef to RawAccessFrameRef. r=tnikkel 2018-05-29 08:36:12 -04:00
AnimationParams.h Bug 1462355 - Part 1a. Make imgFrame animation parameters threadsafe. r=tnikkel 2018-05-29 08:36:11 -04:00
AnimationSurfaceProvider.cpp Bug 1465619 - Part 1. Use imgFrame directly instead of RawAccessFrameRef in FrameAnimator. r=tnikkel 2018-10-22 13:40:35 -04:00
AnimationSurfaceProvider.h Bug 1465619 - Part 1. Use imgFrame directly instead of RawAccessFrameRef in FrameAnimator. r=tnikkel 2018-10-22 13:40:35 -04:00
BMPHeaders.h
ClippedImage.cpp Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel 2018-09-13 19:48:21 -04:00
ClippedImage.h Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel 2018-09-13 19:48:21 -04:00
CopyOnWrite.h Bug 1453795 - Image - Initialize member fields in classes/ structures. r=tnikkel 2018-06-14 08:21:37 +03:00
DecodePool.cpp Bug 1493737 - Fix many trivial calls to do_QueryInterface r=smaug 2018-10-01 21:38:01 +00:00
DecodePool.h Bug 1444537 - Part 2. Shutting down the decode pool should make animated decoders bail early. r=tnikkel 2018-03-27 10:57:01 -04:00
DecodedSurfaceProvider.cpp Bug 1432678. Convert to size_t in DecodedSurfaceProvider::LogicalSizeInBytes so multiplication doesn't overflow. r=aosmond 2018-02-07 17:00:04 -06:00
DecodedSurfaceProvider.h
Decoder.cpp Bug 1337111 - Part 5. Add pref to force decoding of full frames, disabled by default. r=tnikkel 2018-09-17 15:06:29 -04:00
Decoder.h Bug 1337111 - Part 3. Land groundwork for new blended animation gtests. r=tnikkel 2018-09-17 15:06:29 -04:00
DecoderFactory.cpp Bug 1337111 - Part 3. Land groundwork for new blended animation gtests. r=tnikkel 2018-09-17 15:06:29 -04:00
DecoderFactory.h Bug 1337111 - Part 3. Land groundwork for new blended animation gtests. r=tnikkel 2018-09-17 15:06:29 -04:00
DecoderFlags.h Bug 1337111 - Part 2. Add an image decoder flag to request complete frames. r=tnikkel 2018-09-17 15:06:28 -04:00
Downscaler.cpp Bug 1453795 - Image - Initialize member fields in classes/ structures. r=tnikkel 2018-06-14 08:21:37 +03:00
Downscaler.h Bug 1423567: Use BaseRect access methods instead of member variables in image/ r=aosmond 2017-12-20 16:46:28 -05:00
DownscalingFilter.h Bug 1462355 - Part 1b. Update Decoder and SurfacePipe plumbing to use updated imgFrame methods. r=tnikkel 2018-05-29 08:36:12 -04:00
DynamicImage.cpp Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel 2018-09-13 19:48:21 -04:00
DynamicImage.h Bug 920630 - Part 3. Change Image/ImageResource and derived classes to use nsIURI directly instead of ImageURL. r=tnikkel 2018-06-05 20:42:56 -04:00
FrameAnimator.cpp Bug 1465619 - Part 1. Use imgFrame directly instead of RawAccessFrameRef in FrameAnimator. r=tnikkel 2018-10-22 13:40:35 -04:00
FrameAnimator.h Bug 1465619 - Part 1. Use imgFrame directly instead of RawAccessFrameRef in FrameAnimator. r=tnikkel 2018-10-22 13:40:35 -04:00
FrameTimeout.h
FrozenImage.cpp Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel 2018-09-13 19:48:21 -04:00
FrozenImage.h Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel 2018-09-13 19:48:21 -04:00
ICOFileHeaders.h
IDecodingTask.cpp Bug 1359833 - Part 2. IDecodingTask should use the event target from ProgressTracker for main thread runnables. r=tnikkel 2017-07-19 14:15:11 -04:00
IDecodingTask.h Bug 1417021 - Fix various non-unified build errors in imagelib. r=aosmond 2017-10-24 23:22:55 +01:00
IProgressObserver.h Bug 1383682 - Part 2. Rename IProgressObserver::SetNotificationsDeferred to make purpose clear. r=tnikkel 2018-02-07 07:27:27 -05:00
ISurfaceProvider.h Bug 1465619 - Part 1. Use imgFrame directly instead of RawAccessFrameRef in FrameAnimator. r=tnikkel 2018-10-22 13:40:35 -04:00
Image.cpp Bug 1456558 - Part 3. Implement factor of 2 scaling support for SVGs in VectorImage. r=tnikkel 2018-09-20 20:22:06 -04:00
Image.h Bug 1492930 - Part 3. Expose all frames to image memory reporting. r=tnikkel 2018-09-25 09:13:51 -04:00
ImageCacheKey.cpp Bug 1483765 - Fix the image cache key computation logic to only consider first-party storage access for third-party windows; r=smaug 2018-08-17 15:26:43 -04:00
ImageCacheKey.h Bug 1461921 - Block storage access for third-parties on the tracking protection list - part 6 - Image cache, r=aosmond 2018-06-20 13:38:22 -04:00
ImageFactory.cpp Bug 920630 - Part 3. Change Image/ImageResource and derived classes to use nsIURI directly instead of ImageURL. r=tnikkel 2018-06-05 20:42:56 -04:00
ImageFactory.h Bug 920630 - Part 3. Change Image/ImageResource and derived classes to use nsIURI directly instead of ImageURL. r=tnikkel 2018-06-05 20:42:56 -04:00
ImageLogging.h Bug 920630 - Part 1. Improve image logging to support direct logging of URIs and images objects. r=tnikkel 2018-06-05 20:42:56 -04:00
ImageMemoryReporter.cpp Bug 1492930 - Part 4. Add ImageMemoryReporter to support extra shared surfaces reporting. r=tnikkel 2018-09-25 09:13:51 -04:00
ImageMemoryReporter.h Bug 1492930 - Part 4. Add ImageMemoryReporter to support extra shared surfaces reporting. r=tnikkel 2018-09-25 09:13:51 -04:00
ImageMetadata.h Bug 1417021 - Fix various non-unified build errors in imagelib. r=aosmond 2017-10-24 23:22:55 +01:00
ImageOps.cpp Bug 1337111 - Part 3. Land groundwork for new blended animation gtests. r=tnikkel 2018-09-17 15:06:29 -04:00
ImageOps.h Bug 1409327 - NS_NewBufferedInputStream should take the ownership of the inputStream, r=smaug 2017-10-19 11:39:30 +02:00
ImageRegion.h Bug 1377169 - Turn gfxRect into a typedef. r=jrmuizel 2017-07-05 11:22:00 -04:00
ImageWrapper.cpp Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel 2018-09-13 19:48:21 -04:00
ImageWrapper.h Bug 920630 - Part 3. Change Image/ImageResource and derived classes to use nsIURI directly instead of ImageURL. r=tnikkel 2018-06-05 20:42:56 -04:00
ImgDrawResult.h Bug 1446309 - Part 3. Properly handle ImgDrawResult for WebRender display list generation. r=tnikkel 2018-09-13 19:48:27 -04:00
LookupResult.h Bug 1456558 - Part 3. Implement factor of 2 scaling support for SVGs in VectorImage. r=tnikkel 2018-09-20 20:22:06 -04:00
MultipartImage.cpp Bug 1256603. Change MultipartImage to use RequestDecode instead of GetFrame to avoid marking the frame as used. r=aosmond 2018-10-14 00:38:42 -05:00
MultipartImage.h Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8 2018-02-12 15:44:40 -05:00
Orientation.h
OrientedImage.cpp Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel 2018-09-13 19:48:21 -04:00
OrientedImage.h Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel 2018-09-13 19:48:21 -04:00
PlaybackType.h
ProgressTracker.cpp Bug 920630 - Part 4. Change rest of imagelib to use nsIURI directly instead of ImageURL. r=tnikkel 2018-06-05 20:42:57 -04:00
ProgressTracker.h Bug 1404422 - Part 4. Remove imgIOnloadBlocker and related from tree as redundant. r=tnikkel 2017-11-01 06:59:10 -04:00
RasterImage.cpp Bug 1256603. Make aMarkUsed parameters required everywhere. r=aosmond 2018-10-13 00:31:03 -05:00
RasterImage.h Bug 1256603. Make aMarkUsed parameters required everywhere. r=aosmond 2018-10-13 00:31:03 -05:00
SVGDocumentWrapper.cpp Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj 2018-07-23 17:41:06 -07:00
SVGDocumentWrapper.h Bug 1455885: Make the SVG context paint not use a node property, but a member in SVGDocument. r=jwatt 2018-04-26 17:07:39 +02:00
SVGDrawingParameters.h Bug 1456558 - Part 3. Implement factor of 2 scaling support for SVGs in VectorImage. r=tnikkel 2018-09-20 20:22:06 -04:00
ScriptedNotificationObserver.cpp Bug 1359833 - Part 8. ScriptedNotificationObserver should use nsAutoScriptBlocker when issuing notifications. r=tnikkel 2017-07-19 14:15:12 -04:00
ScriptedNotificationObserver.h
ShutdownTracker.cpp
ShutdownTracker.h
SourceBuffer.cpp Bug 1465775 - Fix crash in SourceBuffer::AppendFromInputStream due to incomplete read. r=tnikkel 2018-06-05 06:49:24 -04:00
SourceBuffer.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
StreamingLexer.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
SurfaceCache.cpp Bug 1256603. Make aMarkUsed parameters required everywhere. r=aosmond 2018-10-13 00:31:03 -05:00
SurfaceCache.h Bug 1256603. Make aMarkUsed parameters required everywhere. r=aosmond 2018-10-13 00:31:03 -05:00
SurfaceCacheUtils.cpp
SurfaceCacheUtils.h
SurfaceFilters.h Bug 1337111 - Part 1. Add BlendAnimationFilter to allow decoders to generate complete frames. r=tnikkel 2018-09-17 15:06:28 -04:00
SurfaceFlags.h
SurfacePipe.cpp Bug 1462355 - Part 1b. Update Decoder and SurfacePipe plumbing to use updated imgFrame methods. r=tnikkel 2018-05-29 08:36:12 -04:00
SurfacePipe.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
SurfacePipeFactory.h Bug 1337111 - Part 2. Add an image decoder flag to request complete frames. r=tnikkel 2018-09-17 15:06:28 -04:00
VectorImage.cpp Bug 1256603. Make aMarkUsed parameters required everywhere. r=aosmond 2018-10-13 00:31:03 -05:00
VectorImage.h Bug 1456558 - Part 3. Implement factor of 2 scaling support for SVGs in VectorImage. r=tnikkel 2018-09-20 20:22:06 -04:00
imgFrame.cpp Bug 1492930 - Part 3. Expose all frames to image memory reporting. r=tnikkel 2018-09-25 09:13:51 -04:00
imgFrame.h Bug 1492930 - Part 3. Expose all frames to image memory reporting. r=tnikkel 2018-09-25 09:13:51 -04:00
imgICache.idl Bug 1268889 - Implement Clear-Site-Data header - part 4 - cleanup image cache, r=aosmond 2018-06-20 11:57:50 -04:00
imgIContainer.idl Bug 1256603. Fix comment for imgIContainer::RequestDecodeForSize to match reality. r=aosmond 2018-10-13 00:31:03 -05:00
imgIContainerDebug.idl
imgIEncoder.idl
imgILoader.idl
imgINotificationObserver.idl
imgIRequest.idl Bug 1406253 - Part 1: Rename imgIRequest.currentURI to finalURI to prevent confusion. r=bz 2017-11-13 16:31:24 +08:00
imgIScriptedNotificationObserver.idl
imgITools.idl Bug 1460940 - Remove nsIDOMDocument uses in image/. r=bz 2018-05-11 19:46:15 +02:00
imgLoader.cpp Bug 1495738 - Image cache entry should compare the window ID together with the loadID because the loadID can be a reused pointer, r=aosmond 2018-10-02 17:05:21 +02:00
imgLoader.h Bug 1476592 - Remove the cache from nsCSPContext - part 2 - sendViolationReports parameter, r=ckerschb, r=aosmond 2018-08-01 06:35:24 +02:00
imgRequest.cpp Bug 1492930 - Part 6. Integrate extra shared surface memory reporting with imagelib. r=tnikkel 2018-09-25 09:13:52 -04:00
imgRequest.h bug 748809 - remove nsIAssociatedContentSecurity and nsISecurityInfoProvider r=mayhemer,jrmuizel 2018-09-13 17:13:43 +00:00
imgRequestProxy.cpp Bug 1493737 - Fix many trivial calls to do_QueryInterface r=smaug 2018-10-01 21:38:01 +00:00
imgRequestProxy.h bug 748809 - remove nsIAssociatedContentSecurity and nsISecurityInfoProvider r=mayhemer,jrmuizel 2018-09-13 17:13:43 +00:00
imgTools.cpp Bug 1493737 - Fix many trivial calls to do_QueryInterface r=smaug 2018-10-01 21:38:01 +00:00
imgTools.h
moz.build Bug 1492930 - Part 4. Add ImageMemoryReporter to support extra shared surfaces reporting. r=tnikkel 2018-09-25 09:13:51 -04:00
nsIIconURI.idl Bug 1432620 - Make nsIMozIconURI attributes readonly r=mayhemer 2018-01-23 22:25:18 +01:00