Граф коммитов

4235 Коммитов

Автор SHA1 Сообщение Дата
Julien Wajsberg 830ac30ee4 Bug 1752861 - [profiler] Rename and expose to JS some existing frame labels as well as adding a few r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D140389
2022-03-11 09:18:30 +00:00
Lee Salzman 6f0be8c19f Bug 1757067 - Explicitly specify chroma subsampling scheme for YCbCr data. r=jgilbert,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D139656
2022-03-10 09:24:15 +00:00
smolnar 97f77f8381 Backed out changeset 36c6350bc7d1 (bug 1757067) for causing build bustages in gfx/gl/GLBlitHelperD3D.cpp CLOSED TREE 2022-03-10 10:10:10 +02:00
Lee Salzman a664a6d305 Bug 1757067 - Explicitly specify chroma subsampling scheme for YCbCr data. r=jgilbert,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D139656
2022-03-10 07:48:53 +00:00
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
Timothy Nikkel 45f27f573e Bug 1756587. Fix a couple of aInnerWindowId parameters to be uint64_t in ImageFactory.cpp. r=aosmond
Depends on D139370

Differential Revision: https://phabricator.services.mozilla.com/D139371
2022-02-26 07:22:44 +00:00
Jeff Muizelaar ee8edce30e Bug 1755975 - Pass rect or path directly to Clip() instead of manually creating a path. r=gfx-reviewers,mstange
Differential Revision: https://phabricator.services.mozilla.com/D139038
2022-02-24 14:42:35 +00:00
Timothy Nikkel 5efd301cea Bug 1756551. Parameter aInnerWindowId on PrepareForNewPart in imgRequest.cpp is uint64_t not uint32_t. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D139370
2022-02-24 09:40:34 +00:00
Timothy Nikkel d98b94ac1c Bug 1756696. Make sure image decoding has finished in netwerk/test/browser/browser_opaque_response_blocking_telemetry.js. r=aosmond
Because these images are loaded as embeds/objects we can't get a hold of them to apply most usual methods of waiting for decode (img.decode, using a special powers image notifications observer). This should hopefully be enough to avoid hitting this in automation.

Backout the patch for bug 1722422 (the one that changed it from an assert to a leak) because I think it's easier to classify/recognize the assert than the leak in the logs.

Differential Revision: https://phabricator.services.mozilla.com/D139464
2022-02-23 13:23:41 +00:00
Timothy Nikkel b4151114e8 Bug 1722422. Change code in SurfaceCache::ReleaseImageOnMainThread so that it doesn't assert. r=aosmond
Destroying an already_AddRefed if it holds a non-null pointers asserts because it leaks. But we want the leak here, so leak in a way that doesn't assert.

Differential Revision: https://phabricator.services.mozilla.com/D139266
2022-02-22 14:48:26 +00:00
criss 01ec638560 Backed out changeset 9dfa7711709f (bug 1722422) for causing build bustages on SurfaceCache.cpp. CLOSED TREE 2022-02-22 16:23:55 +02:00
Timothy Nikkel 905ed53042 Bug 1722422. Change code in SurfaceCache::ReleaseImageOnMainThread so that it doesn't assert. r=aosmond
Destroying an already_AddRefed if it holds a non-null pointers asserts because it leaks. But we want the leak here, so leak in a way that doesn't assert.

Differential Revision: https://phabricator.services.mozilla.com/D139266
2022-02-22 14:09:26 +00:00
Norisz Fay f0dc70995f Backed out changeset f06972b41abe (bug 1755975) for causing multiple reftest failures CLOSED TREE 2022-02-18 04:04:47 +02:00
Jeff Muizelaar 0cfa7fdb40 Bug 1755975 - Pass rect or path directly to Clip() instead of manually creating a path. r=gfx-reviewers,mstange
Differential Revision: https://phabricator.services.mozilla.com/D139038
2022-02-17 20:24:38 +00:00
Sean Feng 475ea61051 Bug 1755226 - Only notify 'http-on-image-cache-response' when there are registered observers r=tnikkel,emilio
This is an optimization to avoid doing redundant things when there are no
registered observers.

Differential Revision: https://phabricator.services.mozilla.com/D138853
2022-02-17 14:53:10 +00:00
Butkovits Atila 45b52988f2 Backed out changeset 480ba71887c8 (bug 1755226) for causing build bustages. CLOSED TREE 2022-02-16 21:09:15 +02:00
Sean Feng c87da83fd7 Bug 1755226 - Only notify 'http-on-image-cache-response' when there are registered observers r=tnikkel
This is an optimization to avoid doing redundant things when there are no
registered observers.

Differential Revision: https://phabricator.services.mozilla.com/D138853
2022-02-16 17:57:39 +00:00
Timothy Nikkel 6846d0c094 Bug 1755032. Fix data race on imgRequest::mInnerWindowId. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D138623
2022-02-14 10:00:40 +00:00
Sean Feng 8e783e6bee Bug 1753471 - Only notify http-on-image-cache-response once per cache entry r=tnikkel
I've also tested the behavior in Chrome and I think this is
the correct way of doing it. Chrome also only notifies the
cached entry once, it won't notify it even if I manually
trigger it after pageload.

Differential Revision: https://phabricator.services.mozilla.com/D138346
2022-02-10 18:18:28 +00:00
Emilio Cobos Álvarez 3e6347714a Bug 1753453 - Don't send OnUnlockedDraw for non-animated images. r=aosmond
We're checking animation consumers, not locked status. We don't care
about animation consumer count of non-animated images.

Depends on D137765

Differential Revision: https://phabricator.services.mozilla.com/D137766
2022-02-03 17:31:42 +00:00
Nicklas Boman 368311a741 Bug 1725363 - Replace PL_strcasecmp with nsCRT::strcasecmp image/ r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D129074
2022-01-26 09:07:33 +00:00
Randell Jesup a0d48b8198 Bug 1749062: imgFrame cleanup r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D135418
2022-01-25 18:33:35 +00:00
Timothy Nikkel 8dd4b286bd Bug 1712836. Decrease number of iframes containing animated gifs so slower platforms have a chance to end test with no paints pending. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D136310
2022-01-19 21:11:12 +00:00
Luca Greco 24af3febf1 Bug 1746841 - Revert Bug 1747091 temporary workaround to prevent moz-extension css from being cached. r=emilio
Depends on D134508

Differential Revision: https://phabricator.services.mozilla.com/D135739
2022-01-19 19:58:13 +00:00
Timothy Nikkel 32bad1b68a Bug 1750475. Allow quality parameter to be passed through the webp encoder from canvas data url encoding functions. r=lsalzman
The necessary code was already there, just needed to allow it through.

Differential Revision: https://phabricator.services.mozilla.com/D136092
2022-01-19 09:50:33 +00:00
Mike Hommey fce6eb7d83 Bug 1747165 - Replace TK_FLAGS/TK_LIBS with MOZ_GTK3_FLAGS/MOZ_GTK3_LIBS. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D134464
2021-12-23 20:29:07 +00:00
Cristian Tuns e1e31e01f2 Backed out 2 changesets (bug 1747165) for causing nightly blockers(bustages) a=backout
Backed out changeset 4b1ab0915c94 (bug 1747165)
Backed out changeset 96043d814772 (bug 1747165)
2021-12-23 08:00:54 -05:00
Mike Hommey b55194a16f Bug 1747165 - Replace TK_FLAGS/TK_LIBS with MOZ_GTK3_FLAGS/MOZ_GTK3_LIBS. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D134464
2021-12-22 23:56:24 +00:00
Emilio Cobos Álvarez ec7f948696 Bug 1747091 - Force CSS with moz-extension schemes to get revalidated temporarily. r=rpl
See bug 1746841 comment 11 for the right fix instead.

Differential Revision: https://phabricator.services.mozilla.com/D134424
2021-12-22 11:46:59 +00:00
Jon Bauman ffc22b2f8a Bug 1745608 - Add additional AVIF telemetry for unimplemented features. r=aosmond CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D133580
2021-12-18 20:05:19 +00:00
Randell Jesup 7840dcdbd7 Bug 1746313: Image cleanup r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D133982
2021-12-16 14:15:32 +00:00
Andrew Osmond 928d48a2ae Bug 1742051 - Allow factor-of-2 scaling for vector images without intrinsic size. r=tnikkel
If a vector image does not have an intrinsic size as returned by
VectorImage::GetWidth and VectorImage::GetHeight, currently factor-of-2
scaling is disabled. With this patch, we just assume a default size of
100x100, adjusted by the intrinsic ratio if available, to get the
baseline size for determing appropriate factor-of-2 sizes.

Differential Revision: https://phabricator.services.mozilla.com/D133395
2021-12-10 14:54:02 +00:00
Christoph Kerschbaumer 42a0c93ddc Bug 1720280: Avoid NullPtr deref in ImageBlocker::ShouldLoad. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D132923
2021-12-09 12:09:40 +00:00
Andrew Osmond 90fb928d6b Bug 1704876 - Fix a shutdown crash when we race to update an animated vector image. r=tnikkel
If we are shutting down, the document for a VectorImage may be cleared.
If a refresh tick raced with the shutdown, we might try to deref the
null document.

Differential Revision: https://phabricator.services.mozilla.com/D132953
2021-12-07 03:10:10 +00:00
Joel Maher 63bf096aef Bug 1743907 - Remove webrender annotation from manifestparser manifests. r=ahal,webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D132682
2021-12-03 16:04:29 +00:00
Andrew Osmond 33641307ec Bug 1743761 - Ensure we invalidate substituted images when the preferred size is ready. r=tnikkel
Previously with ImageContainers, we would put the new preferred surface
into the ImageContainer. When we check if we should invalidate, it would
have a different image key, and hence invalidate the image frame and
schedule a paint.

With ImageProviders, it returns the same key in this case, because the
ImageProvider represents a particular surface. As such, we need to
actually track when we get a substituted ImageProvider, and invalidate
the image frame more aggressively to ensure we get the preferred size.

Differential Revision: https://phabricator.services.mozilla.com/D132583
2021-12-03 03:14:01 +00:00
Chris Peterson f6fdbf028a Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium
-Wshadow warnings are not enabled globally, so these -Wno-shadow suppressions have no effect. I had intended to enable -Wshadow globally along with these suppressions in some directories (in bug 1272513), but that was blocked by other issues.

There are too many -Wshadow warnings (now over 2000) to realistically fix them all. We should remove all these unnecessary -Wno-shadow flags cluttering many moz.build files.

Differential Revision: https://phabricator.services.mozilla.com/D132289
2021-12-01 06:40:04 +00:00
Emilio Cobos Álvarez 323ecd6f31 Bug 1743377 - Remove imgLoader::PreferLoadFromCache. r=aosmond
Instead treat these protocols as "never-expiring" protocols, and clean
up revalidation code while at it.

Depends on D132347

Differential Revision: https://phabricator.services.mozilla.com/D132348
2021-11-29 15:18:14 +00:00
Emilio Cobos Álvarez c5f2196f46 Bug 1743377 - Prefer using to typedef in imgLoader. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D132347
2021-11-29 15:18:13 +00:00
Andrew Osmond 72d1c14b24 Bug 1711061 - Part 13. Remove the now unused ImageContainer and related code for images. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D126606
2021-11-27 11:47:40 +00:00
Andrew Osmond e2f023d269 Bug 1711061 - Part 11. Implement VectorImage::GetImageProvider. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D126604
2021-11-27 11:47:40 +00:00
Andrew Osmond 6c26762435 Bug 1711061 - Part 10. Implement BlobSurfaceProvider for non-rasterized blob recordings. r=tnikkel
This WebRenderImageProvider/ISurfaceProvider subclass provides the
implementation for blob recordings. This is mostly just taking the
functionality that was previously in SourceSurfaceBlobImage.

Differential Revision: https://phabricator.services.mozilla.com/D126602
2021-11-27 11:47:39 +00:00
Andrew Osmond ba2c6dea3f Bug 1711061 - Part 9. Add blob recording support to SurfaceCache. r=tnikkel
Now that we no longer have the extra layer of ImageContainers providing
a superficial level of caching/reuse of existing blob recordings, we
need some way to share recordings. This part adds support to
SurfaceCache to store BlobSurfaceProvider objects.

This includes the specialized code for invalidating SVG images. In
particular this is useful for animated SVG images. In general we want to
avoid changing the image key whenever possible so that we avoid
reallocating the underlying buffers in the compositor process for the
rasterized blob images.

We also need to track the ImageIntRegion used by the recording. If a
caller only wants a slice of the SVG image, then we need to track this
differentiation in our cache entries. At this time, we don't allow
substitutes for entries with a region exclusion.

Differential Revision: https://phabricator.services.mozilla.com/D126603
2021-11-27 11:47:39 +00:00
Andrew Osmond 3a3c39b1b5 Bug 1711061 - Part 8. Rename SourceSurfaceBlobImage.h/cpp to BlobSurfaceProvider.h/cpp. r=tnikkel
Rename the file in preparation for the switch over to
WebRenderImageProvider.

Differential Revision: https://phabricator.services.mozilla.com/D126601
2021-11-27 11:47:38 +00:00
Andrew Osmond f0d93233dc Bug 1711061 - Part 7. Remove support for ImageContainer-based SVG image blob recordings. r=tnikkel
This will be replaced by a WebRenderImageProvider-based implementation
in a later part in this series.

Differential Revision: https://phabricator.services.mozilla.com/D126600
2021-11-27 11:47:38 +00:00
Andrew Osmond f34091ea25 Bug 1711061 - Part 6. Implement RasterImage::GetImageProvider. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D126599
2021-11-27 11:47:38 +00:00
Andrew Osmond 1b58f91a50 Bug 1711061 - Part 5. Expose an ImageProviderId for tracking surface ownership. r=tnikkel
This will be used by layers as a replacement for ImageContainer's
ContainerProducerID for tracking if the same imgIRequest/imgIContainer
own the cached WebRenderImageProvider.

Differential Revision: https://phabricator.services.mozilla.com/D126598
2021-11-27 11:47:37 +00:00
Andrew Osmond 68f4024956 Bug 1711061 - Part 4. Implement AnimationSurfaceProvider for animated rasterized images. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D126790
2021-11-27 11:47:37 +00:00
Andrew Osmond 564271844a Bug 1711061 - Part 3. Add WebRenderImageProvider and implement for rasterized providers. r=tnikkel
This provides the framework to allow ISurfaceProvider objects to
implement WebRenderImageProvider. It is straightforward for rasterized
providers (DecodedSurfaceProvider, and SimpleSurfaceProvider). Later
parts in this series will provide the necessary changes for blob
recordings and for animatedi images.

Differential Revision: https://phabricator.services.mozilla.com/D126597
2021-11-27 11:47:36 +00:00
Andrew Osmond 6a2ad86d3d Bug 1711061 - Part 2. Add imgIContainer::GetImageProvider skeleton. r=tnikkel
In later parts in this series, GetImageProvider will replace
GetImageContainerAtSize. This will be a more specialized and lower
overhead means to get a wr::ImageKey for a particular surface.

Differential Revision: https://phabricator.services.mozilla.com/D126596
2021-11-27 11:47:36 +00:00