gecko-dev/image
Emilio Cobos Álvarez ec7a1d06ff Bug 1864425 - Remove PendingAnimationTracker. r=birtles
Instead of starting transitions and animations as a result of a paint,
use the refresh driver tick to do this.

This sets the transition-ready time to the current time during the next
refresh driver tick that it was started on (see mSawTickWhilePending).

This is similar to what's described in the bugs comments, and seems to
work nicely in practice.

We could easily change that (current time) by a paint-based time if
needed (when available), which would be more similar to what we were
doing. But I'd rather do the simple thing for now, and land this shortly
after the soft freeze is over so that we have time to watch out for
regressions.

There's one regression on a test that birtles wrote (using an XHR doc
and switching the timeline to a rendered doc's timeline).

We use the timeline's document rather than the target document to
determine whether to trigger animations now. That's one of the cases
where we'd keep vsync perma-running without this patch, and Chrome also
fails that test. Maybe the test should be removed / the spec should be
tweaked to allow this behavior?

This causes some progression in some CSS transitions tests too, and I
added an extra test for the vsync behavior.

Over-all this is much simpler to reason about and I think we should try
to do this.

Differential Revision: https://phabricator.services.mozilla.com/D193583
2023-11-20 09:31:41 +00:00
..
build Bug 1641389 - Remove image.webp.enabled pref, always on by default. r=necko-reviewers,tnikkel,valentin 2023-09-15 19:36:34 +00:00
decoders Bug 1864985: Add hasUserPass attribute to nsIURI r=necko-reviewers,valentin 2023-11-17 20:12:10 +00:00
encoders Bug 1818305 - Part 2: Add a streamStatus method to nsIInputStream, r=xpcom-reviewers,necko-reviewers,geckoview-reviewers,valentin,jesup,m_kato,mccr8 2023-03-15 19:52:34 +00:00
test Bug 1859905 - convert .ini manifests to .toml: batch 19 browser_*.ini r=jmaher,webdriver-reviewers,necko-reviewers,extension-reviewers,devtools-reviewers,anti-tracking-reviewers,valentin,robwu,pbz 2023-10-25 21:47:25 +00:00
AnimationFrameBuffer.cpp
AnimationFrameBuffer.h
AnimationParams.h
AnimationSurfaceProvider.cpp
AnimationSurfaceProvider.h Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw 2022-03-16 18:47:08 +00:00
AutoRestoreSVGState.h Bug 1808102 - Move contextPaint to Document class r=emilio 2023-01-17 19:13:41 +00:00
BlobSurfaceProvider.cpp Bug 1815404 - Replace most uses of gfxContext::CreateOrNull with stack-allocated contexts. r=gfx-reviewers,lsalzman 2023-02-21 07:28:25 +00:00
BlobSurfaceProvider.h
BMPHeaders.h Bug 1757929 - Avoid some conflicts with WINDOWS define. r=tnikkel 2022-05-05 11:37:51 +00:00
ClippedImage.cpp Bug 1276351: apply code formatting via Lando 2023-03-27 07:23:36 +00:00
ClippedImage.h Bug 1779598 - Stop passing around Maybe<SVGImageContext>. r=aosmond 2022-07-14 16:03:25 +00:00
CopyOnWrite.h
DecodedSurfaceProvider.cpp
DecodedSurfaceProvider.h Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw 2022-03-16 18:47:08 +00:00
DecodePool.cpp Bug 1846407 - Use enum class for Task::Run return value. r=bas,win-reviewers,rkraesig 2023-10-18 15:23:29 +00:00
DecodePool.h Bug 1826206 - Require nsISerialEventTarget for RetargetDeliveryTo, r=necko-reviewers,valentin 2023-06-07 14:48:38 +00:00
Decoder.cpp Bug 1765871. Deal with oriented image frames in imgFrame::Finish. r=aosmond 2022-05-07 06:50:47 +00:00
Decoder.h
DecoderFactory.cpp Bug 1641389 - Remove image.webp.enabled pref, always on by default. r=necko-reviewers,tnikkel,valentin 2023-09-15 19:36:34 +00:00
DecoderFactory.h Bug 1813466 - Store AVIF prefs as default decoder flags in RasterImage. r=tnikkel 2023-03-17 00:50:07 +00:00
DecoderFlags.h Bug 1813466 - Store AVIF prefs as default decoder flags in RasterImage. r=tnikkel 2023-03-17 00:50:07 +00:00
Downscaler.cpp Bug 1857746 - Remove std max in downscaler. r=sylvestre DONTBUILD 2023-10-30 08:12:41 +00:00
Downscaler.h Bug 1773384 - Change the type of Downscaler::mScale to MatrixScalesDouble. r=botond 2022-06-15 22:37:48 +00:00
DownscalingFilter.h Bug 1773385 - Change the type of DownscalingFilter::mScale to MatrixScalesDouble. r=botond 2022-06-17 21:32:10 +00:00
DynamicImage.cpp Bug 1815404 - Replace most uses of gfxContext::CreateOrNull with stack-allocated contexts. r=gfx-reviewers,lsalzman 2023-02-21 07:28:25 +00:00
DynamicImage.h Bug 1778211 - Reject xpidl CDATA containing 'virtual', r=xpcom-reviewers,necko-reviewers,mccr8,dragana 2022-07-06 14:53:06 +00:00
FrameAnimator.cpp Bug 1765116. Don't ignore any potential invalidation rect from calling UpdateState in FrameAnimator::ResetAnimation. r=aosmond 2022-04-22 09:00:42 +00:00
FrameAnimator.h
FrameTimeout.h
FrozenImage.cpp Bug 1779598 - Stop passing around Maybe<SVGImageContext>. r=aosmond 2022-07-14 16:03:25 +00:00
FrozenImage.h Bug 1779598 - Stop passing around Maybe<SVGImageContext>. r=aosmond 2022-07-14 16:03:25 +00:00
ICOFileHeaders.h
IDecodingTask.cpp Bug 1797688 - Part 4: Bail out from IDecodingTask::NotifyProgress and NotifyDecodeComplete InOrBeyond(XPCOMShutdownThreads). r=xpcom-reviewers,mccr8 2022-11-01 14:08:44 +00:00
IDecodingTask.h Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw 2022-03-16 18:47:08 +00:00
Image.cpp Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille 2023-03-27 07:20:25 +00:00
Image.h Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille 2023-03-27 07:20:25 +00:00
ImageBlocker.cpp
ImageBlocker.h
ImageCacheKey.cpp Bug 1832528 - Make cors mode part of the image cache key. r=tnikkel 2023-05-25 22:25:31 +00:00
ImageCacheKey.h Bug 1832528 - Make cors mode part of the image cache key. r=tnikkel 2023-05-25 22:25:31 +00:00
ImageFactory.cpp Bug 1624819 - Remove TaskCategory and other quantum dom remnants. r=smaug,media-playback-reviewers,credential-management-reviewers,cookie-reviewers,places-reviewers,win-reviewers,valentin,mhowell,sgalich,alwu 2023-10-10 08:51:12 +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
ImageWrapper.cpp Bug 1779598 - Stop passing around Maybe<SVGImageContext>. r=aosmond 2022-07-14 16:03:25 +00:00
ImageWrapper.h Bug 1778211 - Reject xpidl CDATA containing 'virtual', r=xpcom-reviewers,necko-reviewers,mccr8,dragana 2022-07-06 14:53:06 +00:00
ImgDrawResult.h Bug 1519636 - Reformat recent changes to the Google coding style. r=glandium 2023-02-13 15:02:07 +00:00
imgFrame.cpp Bug 1815404 - Replace most uses of gfxContext::CreateOrNull with stack-allocated contexts. r=gfx-reviewers,lsalzman 2023-02-21 07:28:25 +00:00
imgFrame.h Bug 1856795 - ride along: use = default; on some recently modified files r=emilio 2023-10-15 15:29:03 +00:00
imgICache.idl
imgIContainer.idl Bug 1779598 - Stop passing around Maybe<SVGImageContext>. r=aosmond 2022-07-14 16:03:25 +00:00
imgIContainerDebug.idl
imgIEncoder.idl Bug 1348272 - Mark nsIInputStream and nsIOutputStream as builtinclass, r=xpcom-reviewers,necko-reviewers,barret,valentin 2022-09-09 18:22:36 +00:00
imgILoader.idl
imgINotificationObserver.idl
imgIRequest.idl Bug 1808146 - When creating a file promise for images, remember the referrer. r=nika 2023-03-22 21:55:08 +00:00
imgIScriptedNotificationObserver.idl
imgITools.idl
imgLoader.cpp Bug 1851992 - implement nsIThreadRetargetableStreamListener::OnDataFinished to multiple listeners. r=necko-reviewers,extension-reviewers,jesup,rpl 2023-10-27 13:30:11 +00:00
imgLoader.h Bug 1851992 - implement nsIThreadRetargetableStreamListener::OnDataFinished to multiple listeners. r=necko-reviewers,extension-reviewers,jesup,rpl 2023-10-27 13:30:11 +00:00
imgRequest.cpp Bug 1722322 - Implement LargestContentfulPaint r=emilio 2023-11-02 20:53:36 +00:00
imgRequest.h Bug 1722322 - Implement LargestContentfulPaint r=emilio 2023-11-02 20:53:36 +00:00
imgRequestProxy.cpp Bug 1624819 - Remove TaskCategory and other quantum dom remnants. r=smaug,media-playback-reviewers,credential-management-reviewers,cookie-reviewers,places-reviewers,win-reviewers,valentin,mhowell,sgalich,alwu 2023-10-10 08:51:12 +00:00
imgRequestProxy.h Bug 1722322 - Implement LargestContentfulPaint r=emilio 2023-11-02 20:53:36 +00:00
imgTools.cpp Bug 1778211 - Reject xpidl CDATA containing 'virtual', r=xpcom-reviewers,necko-reviewers,mccr8,dragana 2022-07-06 14:53:06 +00:00
imgTools.h
IProgressObserver.h Bug 1624819 - Remove TaskCategory and other quantum dom remnants. r=smaug,media-playback-reviewers,credential-management-reviewers,cookie-reviewers,places-reviewers,win-reviewers,valentin,mhowell,sgalich,alwu 2023-10-10 08:51:12 +00:00
ISurfaceProvider.h
LookupResult.h
moz.build Bug 1859905 - convert .ini manifests to .toml: batch 19 browser_*.ini r=jmaher,webdriver-reviewers,necko-reviewers,extension-reviewers,devtools-reviewers,anti-tracking-reviewers,valentin,robwu,pbz 2023-10-25 21:47:25 +00:00
MultipartImage.cpp
MultipartImage.h
nsIIconURI.idl
Orientation.h
OrientedImage.cpp Bug 1815404 - Replace most uses of gfxContext::CreateOrNull with stack-allocated contexts. r=gfx-reviewers,lsalzman 2023-02-21 07:28:25 +00:00
OrientedImage.h Bug 1779598 - Stop passing around Maybe<SVGImageContext>. r=aosmond 2022-07-14 16:03:25 +00:00
PlaybackType.h
ProgressTracker.cpp Bug 1624819 - Remove TaskCategory and other quantum dom remnants. r=smaug,media-playback-reviewers,credential-management-reviewers,cookie-reviewers,places-reviewers,win-reviewers,valentin,mhowell,sgalich,alwu 2023-10-10 08:51:12 +00:00
ProgressTracker.h Bug 1624819 - Remove TaskCategory and other quantum dom remnants. r=smaug,media-playback-reviewers,credential-management-reviewers,cookie-reviewers,places-reviewers,win-reviewers,valentin,mhowell,sgalich,alwu 2023-10-10 08:51:12 +00:00
RasterImage.cpp Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille 2023-03-27 07:20:25 +00:00
RasterImage.h Bug 1813466 - Store AVIF prefs as default decoder flags in RasterImage. r=tnikkel 2023-03-17 00:50:07 +00:00
Resolution.h
ScriptedNotificationObserver.cpp
ScriptedNotificationObserver.h
ShutdownTracker.cpp
ShutdownTracker.h
SourceBuffer.cpp Bug 1273714: Remove an imagelib warning that's more spammy than useful at this point. r=tnikkel DONTBUILD 2023-09-27 23:27:13 +00:00
SourceBuffer.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
StreamingLexer.h
SurfaceCache.cpp Bug 1853026. Add a pref for fuzzers to limit image size so fuzzing can proceed more quickly. r=gfx-reviewers,lsalzman 2023-10-02 21:22:52 +00:00
SurfaceCache.h Bug 1519636 - Reformat recent changes to the Google coding style. r=marco 2022-07-15 08:27:50 +00:00
SurfaceCacheUtils.cpp
SurfaceCacheUtils.h
SurfaceFilters.h
SurfaceFlags.h
SurfacePipe.cpp
SurfacePipe.h Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille 2023-03-27 07:20:25 +00:00
SurfacePipeFactory.h
SVGDocumentWrapper.cpp Bug 1786818. r=mstange 2022-09-08 03:29:36 +00:00
SVGDocumentWrapper.h
SVGDrawingCallback.h
SVGDrawingParameters.h Bug 1519636 - Reformat recent changes to the Google coding style. r=marco 2022-07-15 08:27:50 +00:00
VectorImage.cpp Bug 1864425 - Remove PendingAnimationTracker. r=birtles 2023-11-20 09:31:41 +00:00
VectorImage.h Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille 2023-03-27 07:20:25 +00:00
WebRenderImageProvider.h