gecko-dev/image
Timothy Nikkel 748db52939 Bug 1325297. Create a variant of imgIContainer::StartDecoding that returns if the current image frame is complete. r=aosmond
During painting we do some image decoding, but we want to send the image progress notifications from that decoding async. The CSS image renderer checks if the image is complete before painting it. So if the decoding we did during painting resulted in the images becoming complete there is no way to tell that during the same paint. Thus making that decoding a waste of time.

So we add a limited way of telling if the result of a StartDecoding call has resulting in an image that is ready to paint so we can get that result during the same paint.

I would have prefered to change StartDecoding to just return a bool but that would have made the bool an outparam, which would make every StartDecoding call uglier with extra code. Changing it to a notxpcom function would have fixed that, but I'm not sure if that is safe.
2016-12-23 01:07:45 -06:00
..
build Bug 1160200 - APNG can't be used with type switching. r=mcaceres, r=jrmuizel, r=johns 2016-08-09 22:15:00 +02:00
decoders Bug 1322112. Use memcpy() instead of dereferencing a casted pointer where the cast would increase alignement requirements on some architectures in nsIconDecoder. r=tnikkel 2016-12-08 14:10:58 -06:00
encoders Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00
test Bug 1323892 - Disable currently crashing stylo crashtests. r=xidorn 2016-12-16 18:54:41 +08:00
AnimationSurfaceProvider.cpp Bug 1296828 (Part 3) - Update SurfaceCache API to rely on ImageKeys and SurfaceKeys stored on ISurfaceProviders. r=dholbert 2016-08-26 17:03:19 -07:00
AnimationSurfaceProvider.h Bug 1296828 (Part 2) - Store ImageKeys and SurfaceKeys directly on ISurfaceProviders. r=dholbert,edwin 2016-08-26 17:03:17 -07:00
BMPHeaders.h
ClippedImage.cpp Bug 1284837 - Disallow implicit conversions from float to integer when creating IntPoint and IntSize objects. r=botond 2016-07-26 16:48:30 +02:00
ClippedImage.h
CopyOnWrite.h
DecodedSurfaceProvider.cpp Bug 1296828 (Part 3) - Update SurfaceCache API to rely on ImageKeys and SurfaceKeys stored on ISurfaceProviders. r=dholbert 2016-08-26 17:03:19 -07:00
DecodedSurfaceProvider.h Bug 1296828 (Part 2) - Store ImageKeys and SurfaceKeys directly on ISurfaceProviders. r=dholbert,edwin 2016-08-26 17:03:17 -07:00
DecodePool.cpp Bug 1325296. RasterImage::LookupFrame does not return a surface if it was created as a result of a sync decode from with the FLAG_SYNC_DECODE_IF_FAST flag. r=aosmond 2016-12-22 13:15:41 -06:00
DecodePool.h Bug 1325296. RasterImage::LookupFrame does not return a surface if it was created as a result of a sync decode from with the FLAG_SYNC_DECODE_IF_FAST flag. r=aosmond 2016-12-22 13:15:41 -06:00
Decoder.cpp Bug 1258741 - Part 2. Ensure we consistently render partially decoded images. r=tnikkel 2016-09-26 14:18:37 -04:00
Decoder.h Bug 1311246 - Remove support for the -moz-samplesize media fragment; r=jrmuizel 2016-11-16 08:18:56 -05:00
DecoderFactory.cpp Bug 1311246 - Remove support for the -moz-samplesize media fragment; r=jrmuizel 2016-11-16 08:18:56 -05:00
DecoderFactory.h Bug 1311246 - Remove support for the -moz-samplesize media fragment; r=jrmuizel 2016-11-16 08:18:56 -05:00
DecoderFlags.h
Downscaler.cpp
Downscaler.h Bug 1321877. Fix compiler warnings in Downscaler.h when skia is not enabled. r=tnikkel 2016-12-08 18:20:12 -06:00
DownscalingFilter.h
DrawResult.h
DynamicImage.cpp Bug 1325297. Create a variant of imgIContainer::StartDecoding that returns if the current image frame is complete. r=aosmond 2016-12-23 01:07:45 -06:00
DynamicImage.h
FrameAnimator.cpp Bug 1319025 - Fix how animated images disposal method should use frame rect size instead of the image size as its bounds. r=tnikkel 2016-11-25 10:38:37 -05:00
FrameAnimator.h Bug 1317907. Refactor FrameAnimator::GetCompositedFrame to be a bit simpler. r=aosmond 2016-11-29 01:01:43 -06:00
FrozenImage.cpp
FrozenImage.h
ICOFileHeaders.h
IDecodingTask.cpp Bug 1293472 (Part 3) - Store animated images in the surface cache as a sequence of frames, rather than each frame getting its own cache entry. r=dholbert,edwin,njn 2016-08-18 15:42:48 -07:00
IDecodingTask.h Bug 1293472 (Part 3) - Store animated images in the surface cache as a sequence of frames, rather than each frame getting its own cache entry. r=dholbert,edwin,njn 2016-08-18 15:42:48 -07:00
Image.cpp Bug 1317552. Send unlocked draw notifications for images async when asked to. r=aosmond 2016-11-17 00:25:53 -06:00
Image.h Bug 1317552. Send unlocked draw notifications for images async when asked to. r=aosmond 2016-11-17 00:25:53 -06:00
ImageCacheKey.cpp Bug 1321261 - create dom/file for File APIs, r=qdot 2016-12-01 15:12:42 +01:00
ImageCacheKey.h Bug 1297300 - Add missing checks to GetSpec() calls in image/. r=tnikkel. 2016-08-29 15:34:32 +10:00
ImageFactory.cpp Bug 1311246 - Remove support for the -moz-samplesize media fragment; r=jrmuizel 2016-11-16 08:18:56 -05:00
ImageFactory.h
ImageLogging.h
ImageMetadata.h (No bug) - Fix a trivial formatting issue in ImageMetadata.h. r=me 2016-07-21 16:42:29 -07:00
ImageOps.cpp Bug 1296147 (Part 2) - Rename imgFrame::GetSurface() to imgFrame::GetSourceSurface() for clarity. r=edwin 2016-08-18 13:03:49 -07:00
ImageOps.h
ImageRegion.h
ImageURL.h Bug 1299498 - Keep a main thread only pointer to the underlying nsIURI for ImageURL. r=tnikkel 2016-11-28 08:40:42 -05:00
ImageWrapper.cpp Bug 1325297. Create a variant of imgIContainer::StartDecoding that returns if the current image frame is complete. r=aosmond 2016-12-23 01:07:45 -06:00
ImageWrapper.h
imgFrame.cpp Bug 1311779 - Part 2. Add telemetry to track optimizable opaque images decoded into B8G8R8A8 surfaces. r=tnikkel 2016-10-19 12:34:30 -04:00
imgFrame.h Bug 1296657: Attempt to create an mOptSurface of the correct type for the DT we're drawing to. r=tnikkel 2016-09-15 13:53:12 +02:00
imgICache.idl Bug 1297300 - Add missing checks to GetSpec() calls in image/. r=tnikkel. 2016-08-29 15:34:32 +10:00
imgIContainer.idl Bug 1325297. Create a variant of imgIContainer::StartDecoding that returns if the current image frame is complete. r=aosmond 2016-12-23 01:07:45 -06:00
imgIContainerDebug.idl
imgIEncoder.idl
imgILoader.idl
imgINotificationObserver.idl
imgIOnloadBlocker.idl
imgIRequest.idl Bug 1325297. Create a variant of imgIContainer::StartDecoding that returns if the current image frame is complete. r=aosmond 2016-12-23 01:07:45 -06:00
imgIScriptedNotificationObserver.idl
imgITools.idl
imgLoader.cpp Bug 1324115 - Part 2: replace the callers to use C++ helper. r=smaug 2016-12-21 14:59:21 +08:00
imgLoader.h Bug 1275464 - Part 1. Unregister from handling image memory reports when shutting down. r=njn 2016-09-19 13:29:59 -04:00
imgRequest.cpp Bug 1321946. Adjust asserts about the progress of an image to deal with how multipart images are handled. r=aosmond 2016-12-03 16:07:10 -06:00
imgRequest.h Bug 1297300 - Add missing checks to GetSpec() calls in image/. r=tnikkel. 2016-08-29 15:34:32 +10:00
imgRequestProxy.cpp Bug 1325297. Create a variant of imgIContainer::StartDecoding that returns if the current image frame is complete. r=aosmond 2016-12-23 01:07:45 -06:00
imgRequestProxy.h
imgTools.cpp
imgTools.h
IProgressObserver.h
ISurfaceProvider.h Bug 1296828 (Part 3) - Update SurfaceCache API to rely on ImageKeys and SurfaceKeys stored on ISurfaceProviders. r=dholbert 2016-08-26 17:03:19 -07:00
LookupResult.h Bug 1296147 (Part 1) - Add a DrawableSurface smart pointer type to allow lazy surface generation. r=dholbert,edwin 2016-08-18 13:03:44 -07:00
moz.build Bug 1293472 (Part 2) - Add AnimationSurfaceProvider. r=dholbert,edwin 2016-08-18 15:39:43 -07:00
MultipartImage.cpp Bug 1321946. Adjust asserts about the progress of an image to deal with how multipart images are handled. r=aosmond 2016-12-03 16:07:10 -06:00
MultipartImage.h
nsIIconURI.idl
Orientation.h
OrientedImage.cpp Bug 1284837 - Disallow implicit conversions from float to integer when creating. r=botond 2016-09-16 17:49:39 +02:00
OrientedImage.h
PlaybackType.h Bug 1293472 (Part 3) - Store animated images in the surface cache as a sequence of frames, rather than each frame getting its own cache entry. r=dholbert,edwin,njn 2016-08-18 15:42:48 -07:00
ProgressTracker.cpp Bug 1321946. Adjust asserts about the progress of an image to deal with how multipart images are handled. r=aosmond 2016-12-03 16:07:10 -06:00
ProgressTracker.h Bug 1321946. Adjust asserts about the progress of an image to deal with how multipart images are handled. r=aosmond 2016-12-03 16:07:10 -06:00
RasterImage.cpp Bug 1325297. Create a variant of imgIContainer::StartDecoding that returns if the current image frame is complete. r=aosmond 2016-12-23 01:07:45 -06:00
RasterImage.h Bug 1325297. Create a variant of imgIContainer::StartDecoding that returns if the current image frame is complete. r=aosmond 2016-12-23 01:07:45 -06:00
ScriptedNotificationObserver.cpp Bug 1324642. Move assert from bug 1323207 from nsImageLoadingContent::Notify to ScriptedNotificationObserver. r=continuation 2016-12-20 13:49:31 -06:00
ScriptedNotificationObserver.h
ShutdownTracker.cpp
ShutdownTracker.h
SourceBuffer.cpp Bug 1284117 - Make RasterImage and SourceBuffer handle input stream read errors. r=edwin 2016-10-13 10:09:35 -04:00
SourceBuffer.h Bug 1292632 part 3: Include <algorithm> in image/SourceBuffer.h, to provide std::min. r=seth 2016-08-05 17:09:48 -07:00
StreamingLexer.h Bug 1287367 - Allow users of StreamingLexer to detect and handle truncation. r=njn 2016-07-18 23:41:20 -07:00
SurfaceCache.cpp Bug 1298551 - Respect CachedSurface::SetLocked() even if the underlying ISurfaceProvider is always locked. r=dholbert 2016-08-26 17:03:25 -07:00
SurfaceCache.h Bug 1296828 (Part 3) - Update SurfaceCache API to rely on ImageKeys and SurfaceKeys stored on ISurfaceProviders. r=dholbert 2016-08-26 17:03:19 -07:00
SurfaceCacheUtils.cpp Bug 1293449 - Stop exposing SurfaceCache implementation code outside of ImageLib. r=dholbert 2016-08-15 18:19:39 -07:00
SurfaceCacheUtils.h Bug 1293449 - Stop exposing SurfaceCache implementation code outside of ImageLib. r=dholbert 2016-08-15 18:19:39 -07:00
SurfaceFilters.h
SurfaceFlags.h
SurfacePipe.cpp
SurfacePipe.h Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj 2016-08-24 14:47:04 +08:00
SurfacePipeFactory.h
SVGDocumentWrapper.cpp Bug 1307242 - Add a non-blank paint telemetry probe for foreground root content documents. r=bkelly, f=bsmedberg 2016-11-10 14:26:54 -05:00
SVGDocumentWrapper.h
VectorImage.cpp Bug 1325297. Create a variant of imgIContainer::StartDecoding that returns if the current image frame is complete. r=aosmond 2016-12-23 01:07:45 -06:00
VectorImage.h Bug 1296657: Attempt to create an mOptSurface of the correct type for the DT we're drawing to. r=tnikkel 2016-09-15 13:53:12 +02:00