gecko-dev/image
Andrew Osmond b15e213fc9 Bug 1388733 - Ensure animations resume when the image surfaces are discarded while still decoding. r=tnikkel
When an animated image has been discarded, we avoided marking the
composited frame invalid unless it had been previously decoded. Most of
the time this was fine, but if the animated image was still decoding for
the first time, then we still had a composited frame lingering that we
did not mark as invalid. As a result, when we called
RasterImage::LookupFrame (and indirectly
FrameAnimator::GetCompositedFrame), it would always return the
composited frame. This meant that RasterImage::Decode would never be
called to trigger a redecode. At the same time,
FrameAnimator::RequestRefresh would not cause us to advance the frame
because the state was still discarded.

With this patch we separate out the concepts of "has ever requested to
be decoded" and "has ever completed decoding." The former is now used to
control whether or not a composited frame is marked as invalid after we
discover we currently have no surface for the animation -- this solves
the animation remaining frozen as we now request the redecode as
expected. The latter remains used to determine if we actually know the
total number of frames.
2017-08-09 22:26:55 -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 1380617 - Add nsIURI.displayPrePath r=mcmanus,Gijs 2017-08-09 17:43:58 +02:00
encoders Bug 1372426 - More detailed names for nsInputStreamReadyEvent (r=erahm) 2017-06-14 14:44:04 -07:00
test Bug 1388332 - Fix a shutdown crash when destroying image decoders before initializing its SurfacePipe. r=tnikkel 2017-08-09 06:54:55 -04:00
AnimationSurfaceProvider.cpp Bug 1341624 - Include shared handle totals in memory reports for images. r=tnikkel 2017-02-22 09:30:22 -05:00
AnimationSurfaceProvider.h Bug 1341624 - Include shared handle totals in memory reports for images. r=tnikkel 2017-02-22 09:30:22 -05:00
BMPHeaders.h
ClippedImage.cpp Bug 1376782 - Replace gfxSize with a typedef to SizeDouble. r=jrmuizel 2017-06-28 11:41:21 -04:00
ClippedImage.h Bug 1323912 - Part 2. Pass opacity down to imgIContainer::Draw. r=mstange 2017-01-03 13:53:22 +08:00
CopyOnWrite.h
DecodePool.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
DecodePool.h Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange. 2017-06-22 17:08:53 +10:00
DecodedSurfaceProvider.cpp Bug 1333974, part 2 - Use new API for images. r=tnikkel 2017-01-31 11:34:01 -08: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
Decoder.cpp Bug 1315554 - Part 1. Enforce the parent decoder size (ICO) for child decoders (BMP, PNG). r=tnikkel 2017-07-22 07:50:31 -04:00
Decoder.h Bug 1315554 - Part 3. Expose Decoder::IsValidICOResource for all decoders. r=tnikkel 2017-07-22 07:50:31 -04:00
DecoderFactory.cpp Bug 1315554 - Part 8. Allow DecoderFactory::CreateDecoderForICOResource to create metadata decoders. r=tnikkel 2017-07-22 07:50:32 -04:00
DecoderFactory.h Bug 1315554 - Part 8. Allow DecoderFactory::CreateDecoderForICOResource to create metadata decoders. r=tnikkel 2017-07-22 07:50:32 -04:00
DecoderFlags.h
Downscaler.cpp Bug 1375842 - increase SIMD padding for convolution filter to 31 bytes. r=jrmuizel 2017-07-07 13:32:05 -04:00
Downscaler.h Bug 1371689 - reuse Skia's SkConvolutionFilter1D instead of forked code from Chromium. r=jrmuizel 2017-06-22 13:57:17 -04:00
DownscalingFilter.h Bug 1375842 - increase SIMD padding for convolution filter to 31 bytes. r=jrmuizel 2017-07-07 13:32:05 -04:00
DrawResult.h Bug 1351440 - Part 1. Implement imgDrawingParams. r=jwatt 2017-05-18 22:03:36 +02:00
DynamicImage.cpp Bug 1383982 (attempt 2) - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm. 2017-07-28 20:10:04 +10:00
DynamicImage.h Bug 1383982 (attempt 2) - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm. 2017-07-28 20:10:04 +10:00
FrameAnimator.cpp Bug 1388733 - Ensure animations resume when the image surfaces are discarded while still decoding. r=tnikkel 2017-08-09 22:26:55 -04:00
FrameAnimator.h Bug 1388733 - Ensure animations resume when the image surfaces are discarded while still decoding. r=tnikkel 2017-08-09 22:26:55 -04:00
FrameTimeout.h Backed out changeset 619b5b27ce87 (bug 1343499) for CLOSED TREE build bustage r=backout 2017-03-22 11:04:30 -04:00
FrozenImage.cpp Bug 1323912 - Part 2. Pass opacity down to imgIContainer::Draw. r=mstange 2017-01-03 13:53:22 +08:00
FrozenImage.h Bug 1323912 - Part 2. Pass opacity down to imgIContainer::Draw. r=mstange 2017-01-03 13:53:22 +08: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 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
IProgressObserver.h Bug 1359833 - Part 1. ProgressTracker should select an event target from observers and expose to callers. r=tnikkel 2017-07-19 14:15:11 -04:00
ISurfaceProvider.h Bug 1341624 - Include shared handle totals in memory reports for images. r=tnikkel 2017-02-22 09:30:22 -05:00
Image.cpp Bug 1383982 (attempt 2) - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm. 2017-07-28 20:10:04 +10:00
Image.h Bug 1383982 (attempt 2) - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm. 2017-07-28 20:10:04 +10:00
ImageCacheKey.cpp Bug 1378046 - Make ImageCacheKey::Hash() return PLDHashNumber; r=aosmond 2017-07-04 11:09:03 -04:00
ImageCacheKey.h Bug 1378046 - Make ImageCacheKey::Hash() return PLDHashNumber; r=aosmond 2017-07-04 11:09:03 -04:00
ImageFactory.cpp Bug 1383404 - Part 4. imgTools::DecodeImage should set the source size hint to optimize the allocation. r=tnikkel 2017-08-01 06:59:12 -04:00
ImageFactory.h Bug 1383404 - Part 4. imgTools::DecodeImage should set the source size hint to optimize the allocation. r=tnikkel 2017-08-01 06:59:12 -04:00
ImageLogging.h
ImageMetadata.h Backed out changeset 619b5b27ce87 (bug 1343499) for CLOSED TREE build bustage r=backout 2017-03-22 11:04:30 -04:00
ImageOps.cpp Backed out changeset 619b5b27ce87 (bug 1343499) for CLOSED TREE build bustage r=backout 2017-03-22 11:04:30 -04:00
ImageOps.h Backed out changeset 619b5b27ce87 (bug 1343499) for CLOSED TREE build bustage r=backout 2017-03-22 11:04:30 -04:00
ImageRegion.h Bug 1377169 - Turn gfxRect into a typedef. r=jrmuizel 2017-07-05 11:22:00 -04:00
ImageURL.h Bug 1378046 - Make ImageCacheKey::Hash() return PLDHashNumber; r=aosmond 2017-07-04 11:09:03 -04:00
ImageWrapper.cpp Bug 1383982 (attempt 2) - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm. 2017-07-28 20:10:04 +10:00
ImageWrapper.h Bug 1383982 (attempt 2) - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm. 2017-07-28 20:10:04 +10: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
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
Orientation.h
OrientedImage.cpp Bug 1377169 - Turn gfxRect into a typedef. r=jrmuizel 2017-07-05 11:22:00 -04:00
OrientedImage.h Backed out changeset 619b5b27ce87 (bug 1343499) for CLOSED TREE build bustage r=backout 2017-03-22 11:04:30 -04:00
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 1359833 - Part 1. ProgressTracker should select an event target from observers and expose to callers. r=tnikkel 2017-07-19 14:15:11 -04:00
ProgressTracker.h Bug 1359833 - Part 1. ProgressTracker should select an event target from observers and expose to callers. r=tnikkel 2017-07-19 14:15:11 -04:00
RasterImage.cpp Bug 1386439 - Record image-drawing in RasterImage::GetImageContainer and RasterImage::GetFrameAtSize for browser_image_startup.js. r=tnikkel 2017-08-02 00:08:02 +02:00
RasterImage.h Bug 1386439 - Record image-drawing in RasterImage::GetImageContainer and RasterImage::GetFrameAtSize for browser_image_startup.js. r=tnikkel 2017-08-02 00:08:02 +02:00
SVGDocumentWrapper.cpp Bug 1344893 - Part 1: Report Navigation Timing into Telemetry. r=smaug, data-review=bsmedberg 2017-04-19 02:00:00 -04:00
SVGDocumentWrapper.h Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky 2017-01-05 15:31:56 +08:00
SVGDrawingParameters.h Bug 1360511 - Move SVGDrawingParameters to a header file to allow it to be shared. r=longsonr 2017-04-18 12:46:19 +01: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 1383404 - Part 2. When SourceBuffer::ExpectLength creates the initial buffer, it should not round up. r=tnikkel 2017-08-01 06:59:11 -04:00
SourceBuffer.h Bug 1383404 - Part 3. SourceBuffer::mChunks should be an AutoTArray instead of FallibleTArray. r=tnikkel 2017-08-01 06:59:11 -04:00
StreamingLexer.h Bug 1315554 - Part 5. Add method to clone a SourceBufferIterator when decoding. r=tnikkel 2017-07-22 07:50:31 -04:00
SurfaceCache.cpp Bug 1350177 - Part 3: Refactor SurfaceCache with ExpirationTrackerImpl. r=froydnj,aosmond 2017-03-27 21:47:23 -04:00
SurfaceCache.h Bug 1378044 - Switch the SVGImageContext::Hash() hashing code to use PLDHashNumber; r=dholbert 2017-07-04 11:08:28 -04: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 Backed out 5 changesets (bug 1290292, bug 1290293) for gfx assertions 2017-02-13 19:28:45 -08:00
SurfaceFlags.h
SurfacePipe.cpp Bug 1388332 - Fix a shutdown crash when destroying image decoders before initializing its SurfacePipe. r=tnikkel 2017-08-09 06:54:55 -04:00
SurfacePipe.h Bug 1388332 - Fix a shutdown crash when destroying image decoders before initializing its SurfacePipe. r=tnikkel 2017-08-09 06:54:55 -04:00
SurfacePipeFactory.h
VectorImage.cpp Bug 1383982 (attempt 2) - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm. 2017-07-28 20:10:04 +10:00
VectorImage.h Bug 1383982 (attempt 2) - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm. 2017-07-28 20:10:04 +10:00
imgFrame.cpp Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
imgFrame.h Backed out changeset 619b5b27ce87 (bug 1343499) for CLOSED TREE build bustage r=backout 2017-03-22 11:04:30 -04:00
imgICache.idl Bug 1352408. Restore imgICache::RemoveEntry. r=ehsan 2017-04-11 03:14:09 -05:00
imgIContainer.idl Backed out changeset 619b5b27ce87 (bug 1343499) for CLOSED TREE build bustage r=backout 2017-03-22 11:04:30 -04:00
imgIContainerDebug.idl
imgIEncoder.idl
imgILoader.idl
imgINotificationObserver.idl
imgIOnloadBlocker.idl
imgIRequest.idl Bug 1357318 - remember previous priority boost request in imgRequest. r=tnikkel 2017-03-22 19:52:15 +08:00
imgIScriptedNotificationObserver.idl
imgITools.idl
imgLoader.cpp Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj. 2017-07-31 14:28:48 +10:00
imgLoader.h Bug 1359833 - Part 4. imgLoader should pass down the loading document to the imgRequest. r=tnikkel 2017-07-19 14:15:11 -04:00
imgRequest.cpp Bug 1383982 (attempt 2) - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm. 2017-07-28 20:10:04 +10:00
imgRequest.h Bug 1357318 - remember previous priority boost request in imgRequest. r=tnikkel 2017-03-22 19:52:15 +08:00
imgRequestProxy.cpp Bug 1381048 - Add few object tracking logs to imagelib. r=tnikkel 2017-07-25 11:14:00 -04:00
imgRequestProxy.h Bug 1359833 - Part 10. Add telemetry to track how often imgRequestProxy needs to dispatch. r=tnikkel data-r=bsmedberg 2017-07-19 14:15:12 -04:00
imgTools.cpp Bug 1383404 - Part 4. imgTools::DecodeImage should set the source size hint to optimize the allocation. r=tnikkel 2017-08-01 06:59:12 -04:00
imgTools.h
moz.build Bug 1371689 - reuse Skia's SkConvolutionFilter1D instead of forked code from Chromium. r=jrmuizel 2017-06-22 13:57:17 -04:00
nsIIconURI.idl