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

4360 Коммитов

Автор SHA1 Сообщение Дата
Andrew Osmond dfee884d74 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-10-27 01:24:33 +00:00
Andrew Osmond 546e3f7640 Bug 1711061 - Part 4. Implement AnimationSurfaceProvider for animated rasterized images. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D126790
2021-10-27 01:24:32 +00:00
Andrew Osmond bd93e83c2a 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-10-27 01:24:32 +00:00
Andrew Osmond d4b2d17796 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-10-27 01:24:31 +00:00
Andrew Osmond 3a20c5a464 Bug 1711061 - Part 1. Remove SourceSurfaceMappedData surface deduplication from memory reports. r=tnikkel
We no longer use SourceSurfaceMappedData because we only support
SourceSurfaceSharedData-backed imgFrame in the SurfaceCache now.

Differential Revision: https://phabricator.services.mozilla.com/D126595
2021-10-27 01:24:31 +00:00
Jon Bauman 874adf9b96 Bug 1734058 - Update dav1d to new version f52aee04fbd711cddab23d0aa9b196e9c963e7b8 from 2021-10-04 21:58:36. r=mjf,haik
This is a fairly significant update, so required a few changes to Gecko code, but I've commented on the interesting details, so they should be easy to find

Differential Revision: https://phabricator.services.mozilla.com/D129465
2021-10-26 17:11:36 +00:00
Sandor Molnar 6632079d8d Backed out 13 changesets (bug 1711061) for causing browser-chrome failures in test/performance/browser_startup_images. CLOSED TREE
Backed out changeset 5988220f56b8 (bug 1711061)
Backed out changeset cb7721d7ce49 (bug 1711061)
Backed out changeset 343746ffae73 (bug 1711061)
Backed out changeset 000940244dcf (bug 1711061)
Backed out changeset 27565d5ae08d (bug 1711061)
Backed out changeset f3b2379d971b (bug 1711061)
Backed out changeset d4b3d0fa1771 (bug 1711061)
Backed out changeset 9af5b3f2225f (bug 1711061)
Backed out changeset da992effeff1 (bug 1711061)
Backed out changeset 6b2bc6c16b9f (bug 1711061)
Backed out changeset ac2792d42be2 (bug 1711061)
Backed out changeset cb00177e655e (bug 1711061)
Backed out changeset 8d5261184226 (bug 1711061)
2021-10-26 18:04:34 +03:00
Andrew Osmond 6ee464104f 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-10-26 13:28:27 +00:00
Andrew Osmond 7d6439b84a Bug 1711061 - Part 11. Implement VectorImage::GetImageProvider. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D126604
2021-10-26 13:28:27 +00:00
Andrew Osmond a99494da7c 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-10-26 13:28:26 +00:00
Andrew Osmond 2b01ed2e18 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-10-26 13:28:26 +00:00
Andrew Osmond 51e934d3bd 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-10-26 13:28:25 +00:00
Andrew Osmond ca9bcdf869 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-10-26 13:28:25 +00:00
Andrew Osmond 836ad9882e Bug 1711061 - Part 6. Implement RasterImage::GetImageProvider. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D126599
2021-10-26 13:28:25 +00:00
Andrew Osmond a2abd63705 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-10-26 13:28:24 +00:00
Andrew Osmond 581136673c Bug 1711061 - Part 4. Implement AnimationSurfaceProvider for animated rasterized images. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D126790
2021-10-26 13:28:24 +00:00
Andrew Osmond e69927de97 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-10-26 13:28:24 +00:00
Andrew Osmond a122ca2764 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-10-26 13:28:23 +00:00
Andrew Osmond 4b70018d19 Bug 1711061 - Part 1. Remove SourceSurfaceMappedData surface deduplication from memory reports. r=tnikkel
We no longer use SourceSurfaceMappedData because we only support
SourceSurfaceSharedData-backed imgFrame in the SurfaceCache now.

Differential Revision: https://phabricator.services.mozilla.com/D126595
2021-10-26 13:28:23 +00:00
Jeff Muizelaar 702a09ee6d Bug 1736705 - Use ScreenReference DrawTarget instead of creating one from scratch. r=aosmond
This reduces the overhead (mostly heap allocations) when there are lots
of individual layers like on the SVG bouncing circles motionmark test.
https://share.firefox.dev/3jihjfc

Differential Revision: https://phabricator.services.mozilla.com/D129047
2021-10-20 16:45:59 +00:00
Joel Maher fed2831742 Bug 1727943 - turn on mochitest* tests that were skipped on win10-ccov and now pass. r=MasterWayZ
Differential Revision: https://phabricator.services.mozilla.com/D128817
2021-10-19 20:01:29 +00:00
Gerald Squelart df50ece611 Bug 1735697 - Remove profiler_can_accept_markers(), use profiler_thread_is_being_profiled() instead - r=florian
Differential Revision: https://phabricator.services.mozilla.com/D128577
2021-10-18 23:11:30 +00:00
Evgenia Kotovich 0d0980ee0d Bug 1576768 - Automatically format .sjs files using prettier. r=Standard8,agi,zombie,extension-reviewers
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D128482
2021-10-18 09:26:33 +00:00
Joel Maher e5d137cfc5 Bug 1727943 - run win10 ccov on -ssd instances. r=MasterWayZ
Differential Revision: https://phabricator.services.mozilla.com/D128694
2021-10-18 00:31:02 +00:00
Jeff Muizelaar f76f41feb4 Bug 1736236 - Remove obsolete LayerManager.h. r=gfx-reviewers,lsalzman
This adds a bunch of #include "WindowRenderer.h" in places
that were getting it implicitly before.

Differential Revision: https://phabricator.services.mozilla.com/D128687
2021-10-17 23:00:47 +00:00
Noemi Erli 2bba3cec69 Backed out changeset 2ab6bb03dcc1 (bug 1576768) for causing failures in test_double_submit.html CLOSED TREE 2021-10-18 02:05:57 +03:00
Evgenia Kotovich 3e3dff109c Bug 1576768 - Automatically format .sjs files using prettier. r=Standard8,agi,zombie,extension-reviewers
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D128482
2021-10-17 14:59:14 +00:00
Emilio Cobos Alvarez 6b14a46381 Bug 1736163 - Use the right pref to enforce prefers-color-scheme values in a mochitest.
Differential Revision: https://phabricator.services.mozilla.com/D128678
2021-10-17 12:31:24 +00:00
Jeff Muizelaar cde3f4b00b Bug 1736077 - Remove unusued LayerManager.cpp. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D128632
2021-10-17 01:28:41 +00:00
Alexandru Michis dac6815201 Backed out changeset 7c08aa027893 (bug 1576768) for causing multiple failures.
CLOSED TREE
2021-10-15 16:52:43 +03:00
Evgenia Kotovich a8b32926fa Bug 1576768 - Automatically format .sjs files using prettier. r=Standard8,agi,zombie,extension-reviewers
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D128482
2021-10-15 12:58:11 +00:00
Mike Hommey 372785e727 Bug 1735295 - Fix unused-but-set-variable warning in TestDecoders.cpp. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D128170
2021-10-13 02:25:11 +00:00
Sean Feng d275bc2c1f Bug 1722759 - Make devtools network panel to display images that are loaded by the image cache r=necko-reviewers,dragana,tnikkel,bomsy
Differential Revision: https://phabricator.services.mozilla.com/D121122
2021-10-12 22:30:46 +00:00
Kershaw Chang 40dab11b6b Bug 1544127 - Always release load info on main thread, r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D127675
2021-10-12 14:20:41 +00:00
Olli Pettay 77bb9e9b0e Bug 1734811 - consider to use higher priority for the imglib tasks r=tnikkel
Depends on D127935

Differential Revision: https://phabricator.services.mozilla.com/D127936
2021-10-08 19:29:37 +00:00
Andrew Osmond 774ef22598 Bug 1732115 - Part 5. Remove reorientation code from RasterImage. r=tnikkel
This is now all handled in the layers below.

Differential Revision: https://phabricator.services.mozilla.com/D126383
2021-10-06 14:41:18 +00:00
Andrew Osmond 211e37f75c Bug 1732115 - Part 4. Add/use reorienting decoding pipeline. r=tnikkel
This part hooks up the swizzling code from earlier to the AVIF and JPEG
decoder pipelines.

Differential Revision: https://phabricator.services.mozilla.com/D126382
2021-10-06 14:41:18 +00:00
Andrew Osmond 09266efcbc Bug 1732115 - Part 3. Refactor decoder pipeline to partially use Unoriented/OrientedPixel. r=tnikkel
Rather than change every use of IntSize/Rect/Point in image/, this patch
attempts to draw the line at the relevant parts of the decoding pipeline
to prevent confusion about which size and orientation we are working
with.

Differential Revision: https://phabricator.services.mozilla.com/D126381
2021-10-06 14:41:17 +00:00
Andrew Osmond e2050d4c94 Bug 1732115 - Part 2. Move OrientedPixel and related to image/Orientation.h. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D126380
2021-10-06 14:41:17 +00:00
Emilio Cobos Álvarez a002eeaccb Bug 1733945 - Simplify reftest annotations to assume skiaContent == true. r=jrmuizel
Generated with:

  2180efaf7c

Differential Revision: https://phabricator.services.mozilla.com/D127428
2021-10-04 15:19:10 +00:00
Emilio Cobos Álvarez 60217a730f Bug 1733921 - Simplify reftest annotations to assume WebRender is on. r=gfx-reviewers,jrmuizel
I wrote a simple manifest parser + simplifier over the weekend to do it,
which is here:

  https://github.com/emilio/reftest-manifest/

This patch is auto-generated with:

  2c1abf3a3a

With the reftest-sanity simplifications reverted (since they
intentionally test always-true/false conditions).

Depends on D127415

Differential Revision: https://phabricator.services.mozilla.com/D127416
2021-10-04 13:14:37 +00:00
Michelle Goossens c159e29e05 Bug 1727943 - Part 2: Migrate mochitest, reftest and crashtest Windows 10 ccov suites from AWS to Azure r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D125350
2021-09-28 15:27:39 +00:00
criss 9d7155125b Backed out 2 changesets (bug 1731792) for causing devtools failures on browser_console_error_source_click.js
Backed out changeset 567d4eb7bc83 (bug 1731792)
Backed out changeset db57b8568ae9 (bug 1731792)
2021-09-28 06:15:28 +03:00
Nika Layzell 09d7ac8538 Bug 1731792 - Part 2: Respect AppType in ImageCacheKey, r=emilio
This attribute is not used in Gecko, but exists for use by other
applications. Specifically, the APP_TYPE_EDITOR type is given permission
to load privileged images as tested by browser_docshell_type_editor.js.
Before these changes, that test passed because the docshell was loaded
in a different process, so the cache was empty when each load occurred,
but after my changes the process ends up being re-used, so the image
cache bypasses this check.

This changes the image cache key to also include the app type
information so that it will be compared before re-using the entry.

Depends on D126405

Differential Revision: https://phabricator.services.mozilla.com/D126557
2021-09-27 22:34:20 +00:00
Butkovits Atila 24d8b4f45f Backed out 2 changesets (bug 1731792) for causing mochitest failures.
Backed out changeset 44c28a29bbd8 (bug 1731792)
Backed out changeset 51bdb1d4baab (bug 1731792)
2021-09-27 18:54:29 +03:00
Nika Layzell fc496ea8dc Bug 1731792 - Part 2: Respect AppType in ImageCacheKey, r=emilio
This attribute is not used in Gecko, but exists for use by other
applications. Specifically, the APP_TYPE_EDITOR type is given permission
to load privileged images as tested by browser_docshell_type_editor.js.
Before these changes, that test passed because the docshell was loaded
in a different process, so the cache was empty when each load occurred,
but after my changes the process ends up being re-used, so the image
cache bypasses this check.

This changes the image cache key to also include the app type
information so that it will be compared before re-using the entry.

Depends on D126405

Differential Revision: https://phabricator.services.mozilla.com/D126557
2021-09-27 13:49:33 +00:00
Chris Peterson 80b5de5b7e Bug 1732194 - Make some nsIconURI.cpp variables const and a function static. r=tnikkel
These are just small clean-ups. They're not non-unified build errors.

The function extractAttributeValue can be made static and doesn't need a forward declaration. All the callers of this function are in this .cpp file, after the function definition.

Depends on D126419

Differential Revision: https://phabricator.services.mozilla.com/D126420
2021-09-23 02:54:14 +00:00
Chris Peterson e24e38e8f5 Bug 1732194 - Fix non-unified build error in image/. r=tnikkel
Building with `ac_add_options --disable-unified-build` on macOS hits the following -Wunused-const-variable warning-as-error:

image/decoders/icon/nsIconURI.cpp:39:22 [-Wunused-const-variable] unused variable 'kIconURICID'.

`kIconURICID` was added in bug 1583044. The only use of `kIconURICID` was later removed in bug 1589337, leaving `kIconURICID` still defined but unused.

Differential Revision: https://phabricator.services.mozilla.com/D126419
2021-09-23 02:54:14 +00:00
Jon Bauman 0376592ff8 Bug 1731404 - Color management of AVIF images is sometimes performed incorrectly. r=jrmuizel
Use the dav1d value for color_range even when color_description_present is false

Differential Revision: https://phabricator.services.mozilla.com/D126160
2021-09-21 20:25:34 +00:00
Emilio Cobos Álvarez 79c6ddf304 Bug 1731138 - Invalidate WebRender mask data from css::ImageLoader. r=tnikkel
Otherwise we don't properly repaint animated images.

Differential Revision: https://phabricator.services.mozilla.com/D126093
2021-09-21 11:18:58 +00:00
Andrew Osmond 66fd73b08c Bug 1729051 - Simplify imgFrame to only use shared surfaces for raster images. r=jrmuizel
In practice we already only use SourceSurfaceSharedData as our
rasterized image backing. This means we no longer need to lock the data
to keep it in memory (when we used volatile memory), nor to try to
optimize the surface for the DrawTarget.

Differential Revision: https://phabricator.services.mozilla.com/D124476
2021-09-17 15:50:04 +00:00
Emilio Cobos Álvarez 2120c052a0 Bug 1730834 - Don't stop animated images from nsDocumentViewer::Stop. r=smaug
We don't stop other animations and such, so seems weird to do it only
for animated images. This line comes from bug 70030, but we no longer
provide "Esc" as a shortcut for Stop(), so it's probably no longer
relevant for users.

Differential Revision: https://phabricator.services.mozilla.com/D125815
2021-09-16 17:25:35 +00:00
Jon Bauman a821bd5863 Bug 1729071 - AVIF with multiple ColourInformationBox (colr) entries per item are rejected. r=aosmond
The logic to allow parsing of the multiple colr boxes is in the parent
update of mp4parse-rust to 72eb355. This change adds a confirmatory test in
gecko and updates telemetry to add new new "both" case for colr tracking.

Differential Revision: https://phabricator.services.mozilla.com/D125744
2021-09-16 14:59:17 +00:00
Chris Peterson c9530ebe28 Bug 1729598 - Replace MOZ_MUST_USE_TYPE with [[nodiscard]]. r=static-analysis-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D125504
2021-09-15 05:10:51 +00:00
Andrew Osmond 2cb9576c72 Bug 1709303 - Part 1. Prepare scripts and patches for libjpeg-turbo update. r=jrmuizel,tnikkel
media/libjpeg/1050342.diff is no longer necessary and a correction
appears to have been made in the library. Chromium no longer uses this
patch either.

media/libjpeg/assembly-tables.diff and media/libjpeg/externalize-table.diff
require significant changes in order to apply. This may be done in a
future followup patch, but is deemed less important than updating
libjpeg-turbo.

With these patches, an update to libjpeg-turbo 2.1.1 should apply
cleanly and build.

Differential Revision: https://phabricator.services.mozilla.com/D125458
2021-09-13 21:55:12 +00:00
Emilio Cobos Álvarez a480cfb732 Bug 1729477 - Tweak SubresourceCacheValidationInfo to account for chrome uris. r=tnikkel
Turns out my patch above causes some failures because chrome:// channels
don't have cache information, so we conservatively assume they always
expire, which causes some interesting timing issues in a single test.
Fun stuff.

Tweak the code so that SubresourceCacheValidationInfo has the
pre-existing data:// URI special-case and also special-cases chrome://
URIs.

Differential Revision: https://phabricator.services.mozilla.com/D124921
2021-09-09 09:32:11 +00:00
Sandor Molnar 870ff4f480 Backed out 3 changesets (bug 1729477) for causing devtools failures in browser_webconsole_sidebar_object_expand_when_message_pruned. CLOSED TREE
Backed out changeset 8cbf3101ed8a (bug 1729477)
Backed out changeset 7457834fb7d0 (bug 1729477)
Backed out changeset 1259d2d1f247 (bug 1729477)
2021-09-09 03:55:31 +03:00
Emilio Cobos Álvarez d4d9525111 Bug 1729477 - Tweak SubresourceCacheValidationInfo to account for chrome uris. r=tnikkel
Turns out my patch above causes some failures because chrome:// channels
don't have cache information, so we conservatively assume they always
expire, which causes some interesting timing issues in a single test.
Fun stuff.

Tweak the code so that SubresourceCacheValidationInfo has the
pre-existing data:// URI special-case and also special-cases chrome://
URIs.

Differential Revision: https://phabricator.services.mozilla.com/D124921
2021-09-08 21:03:02 +00:00
Matt Woodrow 5fa3be57b1 Bug 1728925 - Convert IsImageContainerAvailable to use WindowRenderer. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D124427
2021-09-05 22:36:45 +00:00
Sandor Molnar 06f9e93e66 Backed out changeset 3bdf9c5f10cc (bug 1729051) build bustages. CLOSED TREE 2021-09-03 22:13:35 +03:00
Andrew Osmond eae74a37c7 Bug 1729051 - Simplify imgFrame to only use shared surfaces for raster images. r=jrmuizel
In practice we already only use SourceSurfaceSharedData as our
rasterized image backing. This means we no longer need to lock the data
to keep it in memory (when we used volatile memory), nor to try to
optimize the surface for the DrawTarget.

Differential Revision: https://phabricator.services.mozilla.com/D124476
2021-09-03 18:53:19 +00:00
Andrew Osmond e9c57362fa Bug 1728890 - Remove unused ImageContainer related image code. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D124396
2021-09-02 21:46:14 +00:00
Jon Bauman 20beebd2b9 Bug 1727033 - Firefox can't shows avif image returned by Cloudflare CDN with CF's "image-resizing" feature enabled. r=tnikkel
This commit merely adds a test to validate the fix which occurs in the
mp4parse-rust code updated in the previous commit.

Differential Revision: https://phabricator.services.mozilla.com/D123991
2021-08-31 21:24:34 +00:00
Florian Quèze 6e961a488c Bug 1727517 - Require task controller tasks to have a name, r=bas.
Differential Revision: https://phabricator.services.mozilla.com/D123618
2021-08-31 13:41:45 +00:00
Sandor Molnar c235ffd64c Backed out 3 changesets (bug 1727137, bug 1727517, bug 1727756) for causing build bustages. CLOSED TREE
Backed out changeset 8796b374824b (bug 1727756)
Backed out changeset 49d136788ebd (bug 1727517)
Backed out changeset 092525a3d26a (bug 1727137)
2021-08-30 19:39:16 +03:00
Florian Quèze ae2121ec28 Bug 1727517 - Require task controller tasks to have a name, r=bas.
Differential Revision: https://phabricator.services.mozilla.com/D123618
2021-08-30 16:09:49 +00:00
Glenn Watson db30aac4f1 Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-30 00:33:22 +00:00
Alexandru Michis 6b25d96a7d Backed out changeset 1d332a5ff4f9 (bug 1724846) for causing Bug 1727715.
CLOSED TREE
2021-08-26 22:51:05 +03:00
Matt Woodrow 7755c29fd8 Bug 1727423 - Remove BasicLayerManager. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123555
2021-08-25 07:35:17 +00:00
Matt Woodrow 15827952f9 Bug 1727423 - Convert some usage of LayerManager to WindowRenderer in image/. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123554
2021-08-25 07:35:17 +00:00
criss 58591696b7 Backed out 2 changesets (bug 1727423) for causing build bustages
Backed out changeset 9b2ca95a6527 (bug 1727423)
Backed out changeset 1f01fcbd46a8 (bug 1727423)
2021-08-25 04:41:35 +03:00
Matt Woodrow 59e71b6c78 Bug 1727423 - Remove BasicLayerManager. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123555
2021-08-25 01:04:26 +00:00
Matt Woodrow 2aa361b420 Bug 1727423 - Convert some usage of LayerManager to WindowRenderer in image/. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123554
2021-08-25 01:04:25 +00:00
Jon Bauman 6155249a72 Bug 1696045 - Add AVIF telemetry for unimplemented features and performance. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123378
2021-08-24 22:34:32 +00:00
Sandor Molnar bb9a848857 Backed out changeset d0f659f7ea9b (bug 1696045) for causing gtest failures in image/decoders/nsAVIFDecoder. CLOSED TREE 2021-08-24 21:27:20 +03:00
Jon Bauman fc5f21743a Bug 1696045 - Add AVIF telemetry for unimplemented features and performance. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123378
2021-08-24 17:20:02 +00:00
Glenn Watson 3999ffe70d Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-24 02:18:51 +00:00
Jon Bauman 1f9b94dc30 Bug 1726830 - Update mp4parse-rust to c6ba5af. r=kinetik
Update mp4parse_capi API to receive pixi data from parser

There are some necessary changes in nsAVIFDecoder.cpp to accommodate the mp4parse_capi changes. Aside from the addition of `BitsPerChannelToBitDepth`, to facilitate a bit of logging, there should be no functional changes. This is a prerequisite to [[ https://bugzilla.mozilla.org/show_bug.cgi?id=1696045 | bug 1696045 ]], which will add telemetry around the `pixi` box.

Differential Revision: https://phabricator.services.mozilla.com/D123273
2021-08-20 23:57:06 +00:00
Jon Bauman bacfba2091 Bug 1725056 - qcms: avoid undefined behavior when handling CICP values. r=jrmuizel,tsmith
Differential Revision: https://phabricator.services.mozilla.com/D122318
2021-08-16 23:13:36 +00:00
Paul Zuehlcke 099c7a952f Bug 1658578 - Remove nsContentUtils::IsThirdPartyWindowOrChannel. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D122272
2021-08-11 10:37:18 +00:00
Andrew Osmond 2b86f97bbe Bug 1724727 - Make SVG image blob recordings use visibility rects. r=jrmuizel
Supplying a visibility rect to the display list builder when recording
an SVG image blob will allow the display list builder to trim out
unnecessary items and make the recordings smaller. This is particularly
important when we have an SVG image used as an atlas.

This patch also simplifies the call path for the recordings. This allows
us to avoid unnecessary clips and transforms and shrink the recording
further, as well as make the code more auditable.

Differential Revision: https://phabricator.services.mozilla.com/D122125
2021-08-09 20:39:31 +00:00
Ben Hearsum 6f022eadd9 Bug 1714200: skip failing reftests on M1 machines. r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D121219
2021-08-06 19:16:53 +00:00
Jon Bauman 909cb45a39 Bug 1682995 - Enable AVIF support by default. r=jrmuizel,necko-reviewers,preferences-reviewers,valentin,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D121819
2021-08-05 15:48:00 +00:00
Jon Bauman 1fbcf87b11 Bug 1634741 - AVIF (AV1 Image File Format): proper color space support. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D121764
2021-08-05 15:47:59 +00:00
Andrew Osmond 1f5c1dfc68 Bug 1723741 - Fix how SVG images in blob recordings would always be transparent. r=gfx-reviewers,jrmuizel
This occurred due to a signature mismatch with
gfxUtils::DrawPixelSnapped. A previous patch in bug 1712855 put the
wrong field in the opacity parameter. It implicitly converted a bool to
a float silently, causing the opacity to be 0.0.

Differential Revision: https://phabricator.services.mozilla.com/D121628
2021-08-03 13:50:00 +00:00
Mike Hommey 03223f9ea4 Bug 1722653 - Remove MOZ_CAIRO_CFLAGS. r=firefox-build-system-reviewers,jgilbert,andi
Differential Revision: https://phabricator.services.mozilla.com/D121066
2021-07-29 23:38:31 +00:00
Mike Hommey daab1d49e3 Bug 1722454 - Remove --disable-skia. r=firefox-build-system-reviewers,gfx-reviewers,nical,andi
It has been unsupported since bug 1323303, > 4 years ago.

This removes MOZ_ENABLE_SKIA but keeps USE_SKIA for moz2d for now

Differential Revision: https://phabricator.services.mozilla.com/D120933
2021-07-29 23:29:43 +00:00
Christoph Kerschbaumer 4a6250387f Bug 1719272: Annotate failing browser/ tests to potentially enable https-first mode in Nightly r=webcompat-reviewers,denschub,webdriver-reviewers,preferences-reviewers,Gijs,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D119177
2021-07-28 19:16:16 +00:00
Sandor Molnar 68cdec0548 Backed out changeset 7eb8945dd8e3 (bug 1719272) for causing bustages in gecko decision task. CLOSED TREE 2021-07-28 19:47:06 +03:00
Christoph Kerschbaumer bb716f0701 Bug 1719272: Annotate failing browser/ tests to potentially enable https-first mode in Nightly r=webcompat-reviewers,denschub,webdriver-reviewers,preferences-reviewers,Gijs,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D119177
2021-07-28 16:08:07 +00:00
Tom Ritter 1b9b6b72db Bug 1666222: Cut over a ton of NowUnfuzzed calls -> Now 4/5 r=smaug,extension-reviewers,zombie
With Fuzzyfox removed, Now() does what NowUnfuzzed() did.

Differential Revision: https://phabricator.services.mozilla.com/D119639
2021-07-14 18:18:17 +00:00
Timothy Nikkel 0f29892910 Bug 1719108. Check in a few places in imagelib if it's too late in shutdown to dispatch runnables. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D119712
2021-07-13 20:31:57 +00:00
Emilio Cobos Álvarez 7ee0e2d6e4 Bug 1719375 - Consider documents used-as-an-image always active. r=tnikkel
These are ticked when painted, so it is fine and it's effectively what
happened before bug 1717983 (because we didn't get into this condition:
https://hg.mozilla.org/mozilla-central/rev/cb704553fc64#l3.73).

Differential Revision: https://phabricator.services.mozilla.com/D119314
2021-07-08 12:54:48 +00:00
Paul Zuehlcke 6eb0d4fb20 Bug 1714608 - Cleaned up partitionKey base domain helpers. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D118724
2021-07-07 16:05:06 +00:00
Jed Davis 2257145e1c Bug 1635451 - Minimize content processes' connections to the X server. r=jgilbert,stransky,nika
This patch launches content processes with the `MOZ_HEADLESS` env var set
if they're using GTK with an X11 display (and there's no other reason
they'd need GTK).

The goal is to avoid exhausting Xorg's default limit of 256 clients if
there are many content processes due to Fission.  If these conditions
are met, the content process doesn't need to eagerly connect to the X
server.  This does not affect the sandbox policy, and content processes
can still use X if needed for, e.g.,  WebGL.

The boolean pref `dom.ipc.avoid-gtk`, set by default, controls this
feature.  In the future it could also be extended to minimize GTK use
with Wayland displays.

Note that disabling `widget.non-native-theme.enabled`, which is also
enabled by default, will restore the use of X11 in all content processes
even if this pref is set; the alternative is that widgets wouldn't render
in that case.

This change will also save some memory for now-unnecessary instances of
GTK's global state, and improve content process startup time.

Remove also the temp pref dom.ipc.remote-mozIcon because it cannot work
anymore with the content process being headless.

Differential Revision: https://phabricator.services.mozilla.com/D112197
2021-07-06 07:42:42 +00:00
Alexandre Lissy 324cc9346c Bug 1718398 - Skip mozicon file intermittent on ccov as well r=neha
Differential Revision: https://phabricator.services.mozilla.com/D118882
2021-06-26 14:42:07 +00:00
Alexandre Lissy 70590e9774 Bug 1695381 - Add moz-icon testing for file:// r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D118597
2021-06-26 01:15:01 +00:00
Jed Davis f925052cd2 Bug 1695381 - Use IPC for content processes' moz-icon URL loading. r=tnikkel,nika
Differential Revision: https://phabricator.services.mozilla.com/D118596
2021-06-26 01:15:01 +00:00
Jed Davis 7011e9f0bc Bug 1695381 - Refactor GTK icon processing in preparation for remoting. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D118595
2021-06-26 01:15:00 +00:00
Andrew Osmond 0edec1bed5 Bug 1712855 - Fix assertion when recording SVG image blobs with non-integer translation transforms. r=jrmuizel
When we rasterized SVG images on the main thread of the content process,
we would call gfxUtils::DrawPixelSnapped with aUseOptimalFillOp set to
false. We should do the same when recording them.

Differential Revision: https://phabricator.services.mozilla.com/D116398
2021-06-22 16:10:42 +00:00
Jon Bauman fec7e5da09 Bug 1696093 - AVIF image transform support. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D116317
2021-06-08 18:30:46 +00:00
Matt Woodrow c1f699cc3d Bug 1713489 - Record telemetry for how long we spend waiting on the main thread to process image preload network steps. r=bas,dragana,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D116318
2021-05-31 22:44:18 +00:00
Andrew Osmond 8143908498 Bug 1711059 - Allow animated SVG images to use blob recordings. r=jrmuizel
This patch allows animated SVG images to take advantage of blob
recordings like static SVG images. While before this patch, they would
use fallback blob recordings, this has the advantage of reusing the blob
key on an update. This helps avoid unnecessary scene rebuilds, as well
as reusing the same texture allocation for the rasterized blob.

Differential Revision: https://phabricator.services.mozilla.com/D111839
2021-05-31 11:32:25 +00:00
Andrew Osmond e516edb8b9 Bug 1713350 - Ensure we reset the dirty flag for SVG blob recordings during moves. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116270
2021-05-28 17:07:13 +00:00
Paul Zuehlcke 48a7a1ad98 Bug 1705033 - Added ImageCacheCleaner deleteByBaseDomain. r=tnikkel,timhuang
Differential Revision: https://phabricator.services.mozilla.com/D115621
2021-05-27 12:37:04 +00:00
Paul Zuehlcke 5c8aef557a Bug 1710818 - Updated imgLoader removeEntriesFromPrincipal to clear entries for all processes. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D115620
2021-05-27 12:37:04 +00:00
Sebastian Hengst 1e32975029 Bug 1712954 - Only include RunDecodeToSurfaceFuzzingJXL if JXL built. r=tnikkel DONTBUILD
Bug 1712147 restricted JPEG-XL (controlled by preference image.jxl.enabled) to be only `true`
if MOZ_JXL is set and ifdef-ed the caller. This patch ifdef-s the function definition.

Differential Revision: https://phabricator.services.mozilla.com/D116100
2021-05-27 11:38:50 +00:00
Kris Wright 5e37146c9f Bug 1692068 - Disable broken crashtests on tsan. r=necko-reviewers,decoder,dragana
These tests either cause frequent or permanent failures on TSan.

Differential Revision: https://phabricator.services.mozilla.com/D110371
2021-05-25 01:15:49 +00:00
Jon Bauman 71b1259afd Bug 1712368 - update mp4parse-rust to dd96773. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D115718
2021-05-22 16:28:08 +00:00
Kagami Sascha Rosylight abd3d9776e Bug 1712147 - Add more missing MOZ_JXL checks r=tnikkel
This removes the check from static prefs, mainly since it's hard to check MOZ_JXL in JS side. It can be a bit confusing but generally shouldn't be harmful.

Differential Revision: https://phabricator.services.mozilla.com/D115704
2021-05-22 05:33:48 +00:00
Kagami Sascha Rosylight 7ac847b287 Bug 1712147 - Add MOZ_JXL check to nsImageModule r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D115676
2021-05-21 04:50:40 +00:00
Andrew Osmond 35eed7acf6 Bug 1711948 - Add surfaces from image containers to the memory report. r=tnikkel
An image container can keep a surface alive longer than it can remain in
the cache, if it is indeed kept in the cache. We should cross reference
our memory report generated from the SurfaceCache against any surfaces
stored in our ImageContainer objects to ensure they are all reported.

This is of particular importance for blob recordings which are not put
into SurfaceCache. While the recordings themselves have their own memory
reporting inside of WebRender, it would be good to know what recordings
we are keeping alive from the content side to help break it down.

Differential Revision: https://phabricator.services.mozilla.com/D115517
2021-05-20 12:31:27 +00:00
Yuan Tong 83f1c42ade Bug 1654461 - Make ConvertYCbCrToRGB32 color range aware r=jbauman,aosmond
Fix for ConvertYCbCrToRGB32 to use full range convert functions for full range data.

Some changes of libyuv are backported from newer version, to get support of full range BT.709 and BT.2020 colorspace.

Differential Revision: https://phabricator.services.mozilla.com/D105937
2021-05-19 18:03:43 +00:00
Matt Woodrow 195a7e86e5 Bug 1540737 - Implement Paint() for all display items, and nsDisplayList so that we can paint without using FrameLayerBuilder. r=miko
This creates a new leaf nsDisplayWrapper item for consumers that just want an empty wrapper, with a Paint method that asserts. This lets us leaves Paint pure-virtual on nsDisplayWrapList, and lets the compiler force us to implement it for the other leaf types.

It also disables flattening of transform/opacity items. This is because they flatten the items even when used with FlattenedDisplayItemIterator, even though this doesn't add markers to replace them (only FLB does this). We could in theory fix this, but I don't think FLB performance matters much any more.

Differential Revision: https://phabricator.services.mozilla.com/D114676
2021-05-19 01:11:32 +00:00
Csoregi Natalia 1f3f5df2ce Backed out 8 changesets (bug 1540737) for causing graphics crashes in Bug 1711718. a=backout
Backed out changeset 37628894ffd5 (bug 1540737)
Backed out changeset 4b5f53d5127b (bug 1540737)
Backed out changeset a73e041f1f1d (bug 1540737)
Backed out changeset 81f1a9d1a5e1 (bug 1540737)
Backed out changeset b3d0cc460b24 (bug 1540737)
Backed out changeset f929de495b87 (bug 1540737)
Backed out changeset 2f5b8369d061 (bug 1540737)
Backed out changeset b4c93d182ef4 (bug 1540737)
2021-05-18 19:06:20 +03:00
Matt Woodrow 21836c0689 Bug 1540737 - Implement Paint() for all display items, and nsDisplayList so that we can paint without using FrameLayerBuilder. r=miko
This creates a new leaf nsDisplayWrapper item for consumers that just want an empty wrapper, with a Paint method that asserts. This lets us leaves Paint pure-virtual on nsDisplayWrapList, and lets the compiler force us to implement it for the other leaf types.

It also disables flattening of transform/opacity items. This is because they flatten the items even when used with FlattenedDisplayItemIterator, even though this doesn't add markers to replace them (only FLB does this). We could in theory fix this, but I don't think FLB performance matters much any more.

Differential Revision: https://phabricator.services.mozilla.com/D114676
2021-05-17 23:53:45 +00:00
Andrew Osmond 4a2233b842 Bug 1711164 - Ensure we never use cached surfaces with blob recordings. r=gfx-reviewers,nical
We don't support storing blob recordings in the surface cache at this
time so we should never look at it. It is possible that one may request
a blob recording, and have a previous rasterization available in the
cache because it was used in canvas or as a repeating background image.
We want to explicitly avoid the cache in that case.

Differential Revision: https://phabricator.services.mozilla.com/D115136
2021-05-17 18:45:02 +00:00
Butkovits Atila 3de6ea8e68 Backed out changeset 7811b10f32a1 (bug 1711164) for causing failures at browser_preferences_usage.js. CLOSED TREE 2021-05-17 20:42:05 +03:00
Andrew Osmond 5992e82326 Bug 1711164 - Ensure we never use cached surfaces with blob recordings. r=gfx-reviewers,nical
We don't support storing blob recordings in the surface cache at this
time so we should never look at it. It is possible that one may request
a blob recording, and have a previous rasterization available in the
cache because it was used in canvas or as a repeating background image.
We want to explicitly avoid the cache in that case.

Differential Revision: https://phabricator.services.mozilla.com/D115136
2021-05-17 15:59:40 +00:00
Dorel Luca 12a25a8cd0 Backed out changeset 66200d07c1d1 (bug 1711164) for browser-chrome failures in browser/base/content/test/performance/browser_preferences_usage.js. CLOSED TREE 2021-05-17 18:11:55 +03:00
Andrew Osmond 5d41449c23 Bug 1711164 - Ensure we never use cached surfaces with blob recordings. r=gfx-reviewers,nical
We don't support storing blob recordings in the surface cache at this
time so we should never look at it. It is possible that one may request
a blob recording, and have a previous rasterization available in the
cache because it was used in canvas or as a repeating background image.
We want to explicitly avoid the cache in that case.

Differential Revision: https://phabricator.services.mozilla.com/D115136
2021-05-17 12:50:18 +00:00
Andrew Osmond a140512abd Bug 1704792 - Part 7. Integrate use of ImageIntRegion with WebRender display lists. r=jrmuizel
This patch hooks up the ImageIntRegion to the blob recording and makes
any necessary adjusts to the display list creation to take advantage of
it.

Differential Revision: https://phabricator.services.mozilla.com/D114986
2021-05-13 16:24:08 +00:00
Andrew Osmond 879f78a8df Bug 1704792 - Part 5. Add plumbing to move/store ImageIntRegion. r=jrmuizel
This patch has no functional change beyond changing prototypes and
adding storage for ImageIntRegion for each ImageContainer.

Differential Revision: https://phabricator.services.mozilla.com/D114984
2021-05-13 16:24:07 +00:00
Andrew Osmond eed193706c Bug 1704792 - Part 4. Add ImageIntRegion, an integer variant of ImageRegion. r=jrmuizel
We want to use ImageRegion as one of the selection criteria to find a
valid ImageContainer for VectorImage. To avoid slightly different
floating point values causing us to recreate the recording, let's just
store it as integers.

Differential Revision: https://phabricator.services.mozilla.com/D114983
2021-05-13 16:24:07 +00:00
Andrew Osmond 90e8b6554c Bug 1704792 - Part 1. Add SourceSurfaceBlobImage to manage the blob recording for SVG images. r=jrmuizel,nical
Differential Revision: https://phabricator.services.mozilla.com/D111835
2021-05-13 16:24:06 +00:00
Emilio Cobos Álvarez 6d91a5484a Bug 1709622 - Remove no-op FLAG_WANT_DATA_SURFACE. r=tnikkel,jgilbert
Depends on D114685

Differential Revision: https://phabricator.services.mozilla.com/D114686
2021-05-10 23:39:04 +00:00
Andi-Bogdan Postelnicu a1f2f7329d Bug 1519636 - Reformat recent changes to the Google coding style. r=necko-reviewers,valentin,sylvestre
Updated with clang-format version 11.0.1 (taskcluster-GI8pmG3eQ_OSXfjFfr2yFw)

Differential Revision: https://phabricator.services.mozilla.com/D114618
2021-05-10 07:15:06 +00:00
Matt Woodrow a6d0dff2b5 Bug 1707513 - Add 'drawSnapshot' mode to reftest harness, and annotate all current failures. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D114188
2021-05-10 00:28:01 +00:00
Alexandru Michis 4b2cad43d1 Backed out 2 changesets (bug 1707513) for causing reftest failures in partial-prerender-expansion-with-resolution-1.html
Backed out changeset f9bdd1b929f2 (bug 1707513)
Backed out changeset b76d28f3a159 (bug 1707513)
2021-05-08 22:13:23 +03:00
Matt Woodrow a77dc2167d Bug 1707513 - Add 'drawSnapshot' mode to reftest harness, and annotate all current failures. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D114188
2021-05-08 05:52:19 +00:00
Emilio Cobos Álvarez 4b43f36ac6 Bug 1709577 - Check list of available images before deciding to defer a lazy load. r=edgar
As per https://html.spec.whatwg.org/#updating-the-image-data step 6.

Differential Revision: https://phabricator.services.mozilla.com/D114353
2021-05-07 13:56:33 +00:00
Dorel Luca 69e7a22434 Backed out 2 changesets (bug 1709577) for WPT Failures in /html/semantics/embedded-content/the-img-element/image-loading-lazy-base-url.html. CLOSED TREE
Backed out changeset ceed6d7fca1c (bug 1709577)
Backed out changeset bb44c14b754f (bug 1709577)
2021-05-07 16:46:48 +03:00
Emilio Cobos Álvarez 5767e04759 Bug 1709577 - Check list of available images before deciding to defer a lazy load. r=edgar
As per https://html.spec.whatwg.org/#updating-the-image-data step 6.

Differential Revision: https://phabricator.services.mozilla.com/D114353
2021-05-07 11:44:15 +00:00
Sandor Molnar 21a6efd6a3 Backed out 2 changesets (bug 1709577) for causing wpt failures. CLOSED TREE
Backed out changeset 0da1dba1749c (bug 1709577)
Backed out changeset bab974107b3b (bug 1709577)
2021-05-07 05:34:43 +03:00
Emilio Cobos Álvarez b6493d8a6e Bug 1709577 - Check list of available images before deciding to defer a lazy load. r=edgar
As per https://html.spec.whatwg.org/#updating-the-image-data step 6.

Differential Revision: https://phabricator.services.mozilla.com/D114353
2021-05-07 00:11:06 +00:00
Kagami Sascha Rosylight 7b88bc8e6d Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-06 02:00:57 +00:00
Noemi Erli 13aa18b8d4 Backed out 4 changesets (bug 1707590) for causing gtest crashes CLOSED TREE
Backed out changeset 3bd322893127 (bug 1707590)
Backed out changeset 8cc3eaf728b6 (bug 1707590)
Backed out changeset 21f41a9df048 (bug 1707590)
Backed out changeset 3201d860afef (bug 1707590)
2021-05-06 04:57:44 +03:00
Kagami Sascha Rosylight 46370f6828 Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-06 01:14:21 +00:00
Noemi Erli 3487bbd1ee Backed out 4 changesets (bug 1707590) for causing gtest crashes CLOSED TREE
Backed out changeset 6edab66fe2c5 (bug 1707590)
Backed out changeset e5d2d6824408 (bug 1707590)
Backed out changeset 9c7204c3f03c (bug 1707590)
Backed out changeset 25da391baa22 (bug 1707590)
2021-05-06 02:07:42 +03:00
Kagami Sascha Rosylight c0edfd67fc Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-05 21:44:08 +00:00
Csoregi Natalia df171582fd Backed out 4 changesets (bug 1707590) for causing gtest crashes. CLOSED TREE
Backed out changeset fec7b65cc3d7 (bug 1707590)
Backed out changeset 3a7e5c98dd13 (bug 1707590)
Backed out changeset 9dfd0d516062 (bug 1707590)
Backed out changeset 9ab607973f20 (bug 1707590)
2021-05-05 22:23:06 +03:00
Kris Wright cba0d6bf80 Bug 1692067 - Disable perma-failing reftests. r=decoder
Turns off reftests that fail either permanently or with high enough frequency to justify disabling them.

Differential Revision: https://phabricator.services.mozilla.com/D114305
2021-05-05 18:20:33 +00:00
Kagami Sascha Rosylight 302712a161 Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-05 17:33:53 +00:00
Emilio Cobos Álvarez 62550fa581 Bug 1709577 - Remove CORS_* constants from imgIRequest, use CORSMode instead. r=tnikkel
These don't have the same value, and is a bit confusing.

Differential Revision: https://phabricator.services.mozilla.com/D114352
2021-05-05 15:23:25 +00:00
Emilio Cobos Álvarez c12d3fbbd9 Bug 1680387 - For some reason exif_resolution.jpg landed empty?
MANUAL PUSH: Fix test file that causes orange on a CLOSED TREE
2021-05-05 15:36:55 +02:00
Emilio Cobos Álvarez bb5a3fe5a8 Bug 1680387 - Sanity-check exif resolution with other exif metadata. r=tnikkel
Also matches other browsers, and fixes the test that got me backed out,
since it has a huge EXIF resolution value.

Differential Revision: https://phabricator.services.mozilla.com/D114249
2021-05-05 09:41:25 +00:00
Emilio Cobos Álvarez 68a7c365ec Bug 1680387 - Fix interaction with src-set() / image-set(), and enable the feature by default. r=tnikkel
As discussed here: https://github.com/whatwg/html/pull/5574#issuecomment-826347560

This matches other browsers.

Depends on D113265

Differential Revision: https://phabricator.services.mozilla.com/D113267
2021-05-05 09:41:24 +00:00
Emilio Cobos Álvarez 1cdf344860 Bug 1680387 - Apply intrinsic image resolution as appropriate in layout/style/dom, and update test expectations. r=tnikkel
This should be mostly straight-forward, since we have code for this
anyways for image-set() and srcset.

The only thing is that we were using floats for resolution, but since
EXIF allows you to scale each axis separately, we now need to pass an
image::Resolution instead.

The main outstanding issue is the spec comment mentioned in the previous
patch, about what happens if you have srcset/image-set and the image
density specified together. For now I've implemented what the
image-set() spec says, but this is subject to change before shipping of
course.

Differential Revision: https://phabricator.services.mozilla.com/D113265
2021-05-05 09:41:24 +00:00
Emilio Cobos Álvarez 6c4266f7f7 Bug 1680387 - Read and expose EXIF image resolution data. r=tnikkel,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D113264
2021-05-05 09:41:23 +00:00
Dorel Luca f8cffec171 Backed out 4 changesets (bug 1707590) for worker/checkouts/gecko/config/rules.mk. CLOSED TREE
Backed out changeset 4ccdb31e1c5a (bug 1707590)
Backed out changeset 4b69f99caf69 (bug 1707590)
Backed out changeset a3f23a20b532 (bug 1707590)
Backed out changeset f591c3da4311 (bug 1707590)
2021-05-04 20:29:51 +03:00
Kagami Sascha Rosylight b28b7b020a Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-04 15:24:54 +00:00
Iulian Moraru 7e3d199323 Backed out 4 changesets (bug 1707590) for causing build bustages. CLOSED TREE
Backed out changeset f3f40c6fb8e2 (bug 1707590)
Backed out changeset 3e76ff83ebe2 (bug 1707590)
Backed out changeset 40a3f43a2306 (bug 1707590)
Backed out changeset 01bb0e75cb82 (bug 1707590)
2021-05-04 17:11:54 +03:00
Kagami Sascha Rosylight bdd09637c2 Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-04 13:29:08 +00:00
Iulian Moraru b21df91635 Backed out 3 changesets (bug 1680387) for causing browser chrome failures on browser_bug592641.js. CLOSED TREE
Backed out changeset 65616921e520 (bug 1680387)
Backed out changeset 51531850a9a2 (bug 1680387)
Backed out changeset 0c1c5e1f901b (bug 1680387)
2021-05-04 16:28:17 +03:00
Emilio Cobos Álvarez 27cc12171b Bug 1680387 - Fix interaction with src-set() / image-set(), and enable the feature by default. r=tnikkel
As discussed here: https://github.com/whatwg/html/pull/5574#issuecomment-826347560

This matches other browsers.

Depends on D113265

Differential Revision: https://phabricator.services.mozilla.com/D113267
2021-05-04 10:24:08 +00:00
Emilio Cobos Álvarez 11ad9c7bcd Bug 1680387 - Apply intrinsic image resolution as appropriate in layout/style/dom, and update test expectations. r=tnikkel
This should be mostly straight-forward, since we have code for this
anyways for image-set() and srcset.

The only thing is that we were using floats for resolution, but since
EXIF allows you to scale each axis separately, we now need to pass an
image::Resolution instead.

The main outstanding issue is the spec comment mentioned in the previous
patch, about what happens if you have srcset/image-set and the image
density specified together. For now I've implemented what the
image-set() spec says, but this is subject to change before shipping of
course.

Differential Revision: https://phabricator.services.mozilla.com/D113265
2021-05-04 10:24:07 +00:00
Emilio Cobos Álvarez f7f8e8d153 Bug 1680387 - Read and expose EXIF image resolution data. r=tnikkel,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D113264
2021-05-04 10:24:06 +00:00
Calixte Denizet 285fd120c0 Bug 1707554 - Decode bmp image where data offset is 0 r=tnikkel
In some BMP files, data offset is set to 0 and in this case pixel data immediatly follow color table so don't fail in such a case.

Differential Revision: https://phabricator.services.mozilla.com/D113395
2021-05-04 07:15:45 +00:00
Valentin Gosu 2756a257ad Bug 1694662 - Remove appcache from imgRequest/imgLoader r=kershaw
Differential Revision: https://phabricator.services.mozilla.com/D106449
2021-04-30 07:20:21 +00:00
Andrew Osmond 836cfc1c1f Bug 1708443 - Part 4. Fix how VectorImage::GetFrameInternal did not honour aWhichFrame. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D111904
2021-04-29 14:15:02 +00:00
Andrew Osmond 0154638e9d Bug 1708443 - Part 3. Move VectorImage::mIsDrawing to SVGDocumentWrapper. r=tnikkel
Moving mIsDrawing to SVGDocumentWrapper allows us to avoid depending on
VectorImage in a future patch, and instead only keep a reference to
SVGDocumentWrapper. This helps avoid a circular dependency.

Differential Revision: https://phabricator.services.mozilla.com/D111903
2021-04-29 14:15:01 +00:00
Andrew Osmond 44db24fc2d Bug 1708443 - Part 2. Move SVGDrawingCallback declaration to own header. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D111902
2021-04-29 14:15:01 +00:00
Andrew Osmond d3df56669e Bug 1708443 - Part 1. Split AutoRestoreSVGState into its own header. r=tnikkel
This will be used in a later patch in the series when creating a
recording from an SVG image.

Differential Revision: https://phabricator.services.mozilla.com/D111834
2021-04-29 14:15:00 +00:00
Bob Owen 9ec086e0e5 Bug 1701791 p2: Don't initialize COM on the image IO thread when win32k is locked down. r=tnikkel
COM is required for calls to SHGetFileInfo for moz-icon, but we only currently
require that for the file content process. We may want to use it in the future
for the privileged about content process, in which case we will have to forgo
win32k lockdown there unless moz-icon is remoted.

Depends on D112960

Differential Revision: https://phabricator.services.mozilla.com/D112961
2021-04-27 07:41:16 +00:00
Andrew Osmond dfae5e6405 Bug 1707044 - Remove invalid assert in AnimationFrameRecyclingQueue::RecycleFrame. r=tnikkel
The assert in question is overly conservative. The dirty rects may be
calculated using a more conservative estimate of the whole frame, and
after the animation has completed its first pass, we may have determined
that it is unnecessarily too large and shrink it accordingly. There may
still be frames lingering with the old larger rect however, and trip
this assert falsely.

Differential Revision: https://phabricator.services.mozilla.com/D113155
2021-04-23 02:21:00 +00:00
Joel Maher 8a9f37b534 Bug 1706716 green up mda, xpcshell, browser-chrome, reftest for apple silicon. r=necko-reviewers,extension-reviewers,preferences-reviewers,application-update-reviewers,zombie,ahal,bytesized
Differential Revision: https://phabricator.services.mozilla.com/D113001
2021-04-22 18:39:40 +00:00
Glenn Watson 3c0858c53d Bug 1706488 - Enable non-opaque compositor surface support r=gfx-reviewers,lsalzman
This removes the code in Gecko that was only allowing opaque
compositor surfaces, now that the underlying work in WR and
SWGL to support these is complete.

Differential Revision: https://phabricator.services.mozilla.com/D112831
2021-04-22 04:19:21 +00:00
Emilio Cobos Álvarez dffb321319 Bug 1695404 - follow-up: Avoid redundant string copy in Gecko_IsSupportedImageMimeType. r=tnikkel
There's no reason to require a null-terminated string in imgLoader.

Differential Revision: https://phabricator.services.mozilla.com/D112478
2021-04-17 22:21:19 +00:00
Jon Bauman bd341b09c9 Bug 1682995 - Revert Enable AVIF support by default. r=aosmond,valentin,necko-reviewers,preferences-reviewers,Gijs
Revert this change to turn AVIF off by default for now

Differential Revision: https://phabricator.services.mozilla.com/D111892
2021-04-14 23:36:23 +00:00
Florian Quèze 821491b1c4 Bug 1704103 - add 'Image Paint' and 'Image Load' profiler markers, r=gerald,tnikkel.
Differential Revision: https://phabricator.services.mozilla.com/D111420
2021-04-14 09:00:13 +00:00
Emilio Cobos Álvarez 97ec9ca623 Bug 1704332 - Remove various image-orientation related prefs. r=tnikkel
These shipped in 77.

Differential Revision: https://phabricator.services.mozilla.com/D111550
2021-04-11 17:39:12 +00:00
Joel Maher 1358ee02d0 Bug 1702786 - migrate mochitest plain, chrome, gpu, remote, a11y, and crashtests from OSX 10.14 -> OSX 10.15. r=releng-reviewers,aki
Differential Revision: https://phabricator.services.mozilla.com/D110713
2021-04-08 15:20:00 +00:00
Daniel Holbert 0414682ea1 Bug 1701510: Zero out the 'body' margin for all ImageDocuments (including iframes and printed images). r=emilio
This makes us match Blink and WebKit on how to render an iframe whose src
attribute is an image URL.  They seem to have always used 0 margin in this
case, and this seems preferable from an author's perspective (since the
standard HTML-body margin feels kind of arbitrary, when viewing an image).

Note that this change does also mean that images will be slightly closer to the
upper-left of the page, if they're viewed directly and then printed.  This
shouldn't cause them to be clipped or cause other issues; they'll still be
offset from the page edge by the printed-page margins, as well as any
unprintable areas that we get from the printer.

Differential Revision: https://phabricator.services.mozilla.com/D110294
2021-04-01 00:24:10 +00:00
Jeff Muizelaar 23af50ef79 Bug 1701758. Avoid identity sRGB transforms. r=aosmond
This avoids the performance cost and ensures the data remains unchanged.

Differential Revision: https://phabricator.services.mozilla.com/D110289
2021-03-31 13:15:26 +00:00
Tom Tung 57e6375fc2 Bug 1696111 - Use sniffers in the requested category; r=necko-reviewers,valentin
After applying D102448,
uriloader/exthandler/tests/mochitest/test_nullCharFile.xhtml starts to fail.
The reason is that it adds image sniffer into net-content-sniffers which is not
expected.

Such that, this patch
- adds two other sniffers category:
  - orb-content-sniffers
    - The sniffers that are needed in ORB.
  - net-and-orb-content-sniffers
    - The sniffers that are in either orb-content-sniffers or net-content-sniffers.
- changes the way to ensure we only use the sniffers in the
requested category.

Differential Revision: https://phabricator.services.mozilla.com/D107207
2021-03-30 00:52:32 +00:00
Tom Tung 053afd2976 Bug 1696111 - ORB core Implementation; r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D102448
2021-03-30 00:52:30 +00:00
Butkovits Atila ad9b1ed9d7 Backed out 12 changesets (bug 1683131, bug 1696111, bug 1695987) for causing crashes(Bug 1701151). a=backout
Backed out changeset 8ffef57e27d2 (bug 1683131)
Backed out changeset c02d5dc72abb (bug 1695987)
Backed out changeset 276f016ddc67 (bug 1683131)
Backed out changeset 2c7a45e20b50 (bug 1683131)
Backed out changeset 11fdb503d537 (bug 1696111)
Backed out changeset 2946eff1e9c8 (bug 1696111)
Backed out changeset e4d01b88e517 (bug 1696111)
Backed out changeset fab7f4cd445d (bug 1696111)
Backed out changeset d60c38f8939a (bug 1696111)
Backed out changeset 3fdc8089a46f (bug 1696111)
Backed out changeset 51a16dfabc98 (bug 1696111)
Backed out changeset 642bdd52fd57 (bug 1696111)
2021-03-26 11:30:28 +02:00
Tom Tung 02e26e0a82 Bug 1696111 - Use sniffers in the requested category; r=necko-reviewers,valentin
After applying D102448,
uriloader/exthandler/tests/mochitest/test_nullCharFile.xhtml starts to fail.
The reason is that it adds image sniffer into net-content-sniffers which is not
expected.

Such that, this patch
- adds two other sniffers category:
  - orb-content-sniffers
    - The sniffers that are needed in ORB.
  - net-and-orb-content-sniffers
    - The sniffers that are in either orb-content-sniffers or net-content-sniffers.
- changes the way to ensure we only use the sniffers in the
requested category.

Differential Revision: https://phabricator.services.mozilla.com/D107207
2021-03-25 12:09:41 +00:00
Tom Tung 1ff4caafd7 Bug 1696111 - ORB core Implementation; r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D102448
2021-03-25 12:09:39 +00:00
Emilio Cobos Álvarez 81113c3547 Bug 1700808 - Initialize CMS in the fuzzing interface. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D109707
2021-03-25 11:47:21 +00:00
Simon Giesecke 760cc7e936 Bug 1679522 - Fix include directives and forward declarations. r=andi,necko-reviewers,jgilbert
- Add missing include directives and forward declarations.
- Remove some extra include directives.
- Add missing namespace qualifications.
- Move include directives out of namespace in toolkit/xre/GlobalSemaphore.h

Differential Revision: https://phabricator.services.mozilla.com/D98894
2021-03-25 10:19:44 +00:00
Simon Giesecke 613e20d136 Bug 1184468 - Use nsBaseHashtable::Values. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D108587
2021-03-24 17:56:49 +00:00
Simon Giesecke 62d4fb1410 Bug 708901 - Migrate to nsTHashSet in image. r=tnikkel
Depends on D108603

Differential Revision: https://phabricator.services.mozilla.com/D109316
2021-03-23 10:36:36 +00:00
Florian Quèze 8ad1e5d0aa Bug 1699742 - Remove MOZ_GECKO_PROFILER ifdefs that are no longer needed, r=gerald.
Differential Revision: https://phabricator.services.mozilla.com/D109078
2021-03-22 16:29:52 +00:00
Simon Giesecke 6ae9169f08 Bug 1698098 - Make use of nsBaseHashtable::Clone. r=xpcom-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D107617
2021-03-19 09:01:46 +00:00
Jeff Gilbert d517313a40 Bug 1697670 - Remove gfx::YUVColorSpace::UNKNOWN. r=mstange
Replace with Maybe<YUVColorSpace> where still needed.

Differential Revision: https://phabricator.services.mozilla.com/D107938
2021-03-19 00:58:23 +00:00
Simon Giesecke b9621d6376 Bug 1695162 - Use range-based for instead of custom hashtable iterators. r=xpcom-reviewers,kmag
Differential Revision: https://phabricator.services.mozilla.com/D108585
2021-03-17 15:49:46 +00:00
Csoregi Natalia e0c536d241 Backed out changeset f155cf6af343 (bug 1697670) for bustage on gfxUtils.cpp. CLOSED TREE 2021-03-17 02:41:15 +02:00
Jeff Gilbert 7d9b571b77 Bug 1697670 - Remove gfx::YUVColorSpace::UNKNOWN. r=mstange
Replace with Maybe<YUVColorSpace> where still needed.

Differential Revision: https://phabricator.services.mozilla.com/D107938
2021-03-16 23:25:54 +00:00
Emilio Cobos Álvarez 0a06e2c6d2 Bug 1697963 - Handle non-animated frozen images better, avoiding WR fallback. r=aosmond
If GetAnimated fails when we're getting a static request, because e.g.
the image is not yet fully loaded, we still create a frozen image, but
in that case we can do better and avoid the WR fallback.

Depends on D108197

Differential Revision: https://phabricator.services.mozilla.com/D108198
2021-03-12 18:39:05 +00:00
Simon Giesecke ad01a10a3b Bug 1634281 - Use nsTHashMap instead of nsDataHashtable. r=xpcom-reviewers,necko-reviewers,jgilbert,nika,valentin
Note that this patch only transforms the use of the nsDataHashtable type alias
to a directly equivalent use of nsTHashMap. It does not change the specification
of the hash key type to make use of the key class deduction that nsTHashMap
allows for in some cases. That can be done in a separate step, but requires more
attention.

Differential Revision: https://phabricator.services.mozilla.com/D106008
2021-03-10 10:47:47 +00:00
Emilio Cobos Álvarez ec2e64fa12 Bug 1678487 - Ensure CMS is initialized all at once on the main thread, have thread-safe accessors for the various transforms. r=aosmond,jrmuizel
Well, mostly thread-safe, in the sense that on shutdown we might free
them, but that is pre-existing and can't happen for the code-path that
I'm about to touch.

We could probably just avoid freeing these transforms if we wanted...

Differential Revision: https://phabricator.services.mozilla.com/D104946
2021-03-08 18:12:06 +00:00
Bogdan Tara 544268f5a4 Backed out 2 changesets (bug 1678487) for static gfxPlatform::InitializeCMS crashes CLOSED TREE
Backed out changeset af0927300d51 (bug 1678487)
Backed out changeset 9ed081f10e63 (bug 1678487)
2021-03-08 04:47:16 +02:00
Emilio Cobos Álvarez 4b0411a401 Bug 1678487 - Ensure CMS is initialized all at once on the main thread, have thread-safe accessors for the various transforms. r=aosmond
Well, mostly thread-safe, in the sense that on shutdown we might free
them, but that is pre-existing and can't happen for the code-path that
I'm about to touch.

We could probably just avoid freeing these transforms if we wanted...

Differential Revision: https://phabricator.services.mozilla.com/D104946
2021-03-08 01:18:18 +00:00
Simon Giesecke c5bdcb69d1 Bug 1695162 - Make nsBaseHashtable::ConstIter return a real ConstIterator. r=xpcom-reviewers,necko-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D106642
2021-03-03 08:58:53 +00:00
Simon Giesecke 9af107a839 Bug 1691913 - Rename nsBaseHashtable::Put to InsertOrUpdate. r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika
This makes the naming more consistent with other functions called
Insert and/or Update. Also, it removes the ambiguity whether
Put expects that an entry already exists or not, in particular because
it differed from nsTHashtable::PutEntry in that regard.

Differential Revision: https://phabricator.services.mozilla.com/D105473
2021-02-26 09:11:46 +00:00
Timothy Nikkel f0236001ca Bug 1690845. Don't ask Windows for the icon of an empty file extension because it returns the c: drive icon, which is not what we want. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D105736
2021-02-24 22:29:06 +00:00
Andrew Osmond 29848ac31b Bug 1693383 - Part 1. Adjust tests to correctly detect HW-WR and SW-WR variants. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D105620
2021-02-24 18:47:23 +00:00
Simon Giesecke eb291e55de Bug 1693541 - Improve uses of nsBaseHashtable and descendants by using Contains instead of Get in image. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D106106
2021-02-24 12:49:57 +00:00
Butkovits Atila ac34595c78 Backed out changeset 1ff45a9b57fe (bug 1690845) for causing failure at reftest.list. CLOSED TREE 2021-02-24 12:44:07 +02:00
Timothy Nikkel a17ef11404 Bug 1690845. Don't ask Windows for the icon of an empty file extension because it returns the c: drive icon, which is not what we want. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D105736
2021-02-24 09:56:16 +00:00
Markus Stange 56051da2d0 Bug 1692391 - Replace the NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK_NSRESULT macros with the functionally identical NS_OBJC_BEGIN/END_TRY_BLOCK_RETURN(NS_ERROR_FAILURE). r=haik
This patch was generated with the commands:

```
rg -l 'NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT' . | xargs sed -i '' -e 's/NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT/NS_OBJC_BEGIN_TRY_BLOCK_RETURN/g'
rg -l 'NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT' . | xargs sed -i '' -e 's/NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT/NS_OBJC_END_TRY_BLOCK_RETURN(NS_ERROR_FAILURE)/g'
```

Differential Revision: https://phabricator.services.mozilla.com/D104957
2021-02-16 22:55:20 +00:00
Butkovits Atila 8237c8c393 Bug 1354561 - disable test_animSVGImage2.html for frequent failures. r=intermittent-reviewers,tnikkel,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D104941
2021-02-16 22:01:20 +00:00
Gerald Squelart 2416d881e2 Bug 1691589 - Reduce reliance on GeckoProfiler.h when only labels (and maybe markers) are needed - r=necko-reviewers,geckoview-reviewers,sg,agi,florian
There are no code changes, only #include changes.
It was a fairly mechanical process: Search for all "AUTO_PROFILER_LABEL", and in each file, if only labels are used, convert "GeckoProfiler.h" into "ProfilerLabels.h" (or just add that last one where needed).
In some files, there were also some marker calls but no other profiler-related calls, in these cases "GeckoProfiler.h" was replaced with both "ProfilerLabels.h" and "ProfilerMarkers.h", which still helps in reducing the use of the all-encompassing "GeckoProfiler.h".

Differential Revision: https://phabricator.services.mozilla.com/D104588
2021-02-16 04:44:19 +00:00
Emilio Cobos Álvarez 3f5561a2f7 Bug 1678487 - Make CMSMode an enum class. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D104945
2021-02-13 03:59:23 +00:00
Mihai Alexandru Michis afd69c4be3 Backed out 3 changesets (bug 1678487) for causing reftest failures.
CLOSED TREE

Backed out changeset f6519420f910 (bug 1678487)
Backed out changeset 9beae015d19b (bug 1678487)
Backed out changeset 029cc10d2477 (bug 1678487)
2021-02-13 05:18:54 +02:00
Emilio Cobos Álvarez ba4d1a3c68 Bug 1678487 - Make CMSMode an enum class. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D104945
2021-02-13 02:15:22 +00:00
Brindusan Cristian d930c1c648 Backed out 5 changesets (bug 1678487) for multiple failures. CLOSED TREE
Backed out changeset 00242b4230f2 (bug 1678487)
Backed out changeset 63612a51cfee (bug 1678487)
Backed out changeset bd0321ad1968 (bug 1678487)
Backed out changeset c6a4d3c17d39 (bug 1678487)
Backed out changeset 5de112a29a87 (bug 1678487)
2021-02-13 02:41:17 +02:00
Emilio Cobos Álvarez dc73c68e0e Bug 1678487 - Initialize all the CMS state once on the main-thread, have thread-safe accessors for the various transforms. r=aosmond
Well, mostly thread-safe, in the sense that on shutdown we might free
them, but that is pre-existing and can't happen for the code-path that I'm
about to touch.

We could probably just avoid freeing these transforms if we wanted...

Differential Revision: https://phabricator.services.mozilla.com/D104946
2021-02-12 23:23:31 +00:00
Emilio Cobos Álvarez d7aca6b47c Bug 1678487 - Make CMSMode an enum class. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D104945
2021-02-12 23:23:31 +00:00
Jon Bauman 8974dd5426 Bug 1690406 - Update AVIF telemetry probes. r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D104448
2021-02-09 21:28:41 +00:00
Jonathan Kew bc2c71f27e Bug 1690771 - Adjust test metadata r=jrmuizel
Depends on D104046

Differential Revision: https://phabricator.services.mozilla.com/D104047
2021-02-04 13:51:21 +00:00
Nika Layzell f07fc1f61f Bug 1687391 - Avoid using a spinlock in ThreadSafeWeakReference, r=glandium,mccr8,Gankra,sg
This new approach to weak references is roughly modeled after the approach used
by Rust's Arc<T>, and uses an atomic compare-and-swap loop to perform weak to
strong reference upgrades. This approach ends up moving the strong reference
count out of the tracked object and into the weak reference object, as the
strong reference count atomic needs to outlife the object itself.

Rust's Arc Weak::upgrade implementation:
d98d2f57d9/library/alloc/src/sync.rs (L1806-L1837)

Differential Revision: https://phabricator.services.mozilla.com/D102245
2021-02-03 17:00:04 +00:00
Bogdan Tara 369c9ff89b Backed out changeset cf95a79e64f6 (bug 1687391) for bustges complaining about ThreadSafeWeakPtr CLOSED TREE 2021-02-03 18:39:22 +02:00
Nika Layzell 33d14ac4a6 Bug 1687391 - Avoid using a spinlock in ThreadSafeWeakReference, r=glandium,mccr8,Gankra,sg
This new approach to weak references is roughly modeled after the approach used
by Rust's Arc<T>, and uses an atomic compare-and-swap loop to perform weak to
strong reference upgrades. This approach ends up moving the strong reference
count out of the tracked object and into the weak reference object, as the
strong reference count atomic needs to outlife the object itself.

Rust's Arc Weak::upgrade implementation:
d98d2f57d9/library/alloc/src/sync.rs (L1806-L1837)

Differential Revision: https://phabricator.services.mozilla.com/D102245
2021-02-03 16:16:44 +00:00
Jan de Mooij 41621582c6 Bug 1674777 part 3 - Change Get*LengthAndData outparam from uint32_t to size_t. r=sfink,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D103275
2021-01-31 08:35:40 +00:00
Jon Bauman 5dda2d92af Bug 1684688 - Fix alpha support in nsAVIFDecoder. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D102852
2021-01-26 00:24:57 +00:00
Masatoshi Kimura a29e207781 Bug 1685900 - Split internal and external contentPolicyType. r=ckerschb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D101271
2021-01-15 12:07:16 +00:00
Narcis Beleuzu 0322452233 Backed out changeset a52961071dcd (bug 1685900) for Build bustage in nsContentSecurityManager.cpp. CLOSED TREE 2021-01-15 04:04:37 +02:00
Masatoshi Kimura b384f14cde Bug 1685900 - Split internal and external contentPolicyType. r=ckerschb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D101271
2021-01-15 04:02:41 +02:00
Dorel Luca 9ed19e2828 Backed out changeset a52961071dcd (bug 1685900) for Build bustage in nsContentSecurityManager.cpp. CLOSED TREE 2021-01-15 02:45:34 +02:00
Masatoshi Kimura 87e50835c4 Bug 1685900 - Split internal and external contentPolicyType. r=ckerschb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D101271
2021-01-14 20:44:54 +00:00
Emilio Cobos Álvarez f70b32956b Bug 1685796 - Return BAD_IMAGE when sync-decoding an incomplete, errored image. r=tnikkel
The only way that this can happen is if we get through the
ShouldTreatAsCompleteDueToSyncDecode check returning true in the case of
the image being errored.

https://hg.mozilla.org/integration/autoland/rev/645a4d6461ca was
supposed to deal with this, but my guess is that there is a slight race
condition in which the error status isn't there at the beginning, but is
there after the StartDecoding call.

It seems returning BAD_IMAGE rather than painting transparent if we hit
a broken image is a better thing to do than what we're doing now, and
should fix the intermittent issue.

Differential Revision: https://phabricator.services.mozilla.com/D101361
2021-01-12 02:28:00 +00:00
Jon Bauman 7fed1dba96 Bug 1682995 - Enable AVIF support by default. r=aosmond,preferences-reviewers,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D99964
2021-01-08 20:16:58 +00:00
Emilio Cobos Álvarez 2ec5aacdde Bug 1685078 - Fix test_bullet_animation.html. r=tnikkel
The current test relies on the explicit decoding that we start
triggering unconditionally right now, and which my previous patch
removes:

  https://searchfox.org/mozilla-central/rev/519f913527b0d9d5097d290d5731cff6b2991fe0/layout/generic/nsBulletFrame.cpp#1065

Remove the text so that the animation polling stuff detects when the
image loads (otherwise it sees a non-blank paint and starts thinking
that stuff is loaded, taking the reference snapshot too early).

Similarly, we need to set the color to transparent so that we don't get the
bullet that we draw as a fallback while the image is loading.

Differential Revision: https://phabricator.services.mozilla.com/D101034
2021-01-08 09:44:32 +00:00
David Major 295dec7d5f Bug 1685176 - Update the fuzzy for pal8v4.bmp on aarch64-windows r=jmaher,tnikkel
From what I can see in source history, pal8v4.bmp started out with a fuzzy of (3, 6376) on all platforms. Then one day aarch64-windows started producing a result of (1, 899) and so that platform's expectations were adjusted.

In the upcoming clang 12, the behavior of this test gets "fixed" in that we go back to those 6376 differing pixels like on other platforms. The max difference rises to 4 though. In light of the fact that aarch64-windows is seeing less priority these days, I can't justify digging into the exact code reason for the change, so this patch just updates the fuzzy setting to allow these values.

Differential Revision: https://phabricator.services.mozilla.com/D100823
2021-01-05 22:18:25 +00:00
Andi-Bogdan Postelnicu 0fd4f87a0c Bug 1683557 - Make `image` buildable outside of `unified-build` environment. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D100211
2021-01-04 14:20:22 +00:00
Masatoshi Kimura 3424a95ee0 Bug 1682103 - Make nsContentPolicyType a CEnum type. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D99580
2020-12-16 11:36:47 +00:00
Paul Zuehlcke be3f13ec21 Bug 1654649 - Deny requestStorageAccess for sites with denied cookie permission. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D99802
2020-12-16 16:45:18 +00:00
Chun-Min Chang b7811b117b Bug 1654462 - Add alpha support in nsAVIFDecoder r=jbauman
This patch implements the transparency support for AVIF image files.

To convert the decoded YCbCr and Alpha data to RGBA, a function named
`ConvertYCbCrAToARGB` is created to do this job in the following
procedure:

ConvertYCbCrAToARGB:
  If the layout of the YCbCr is I420
    Calling libyuv::I420AlphaToARGB
  Else
    Fill RGB data converted by ConvertYCbCrToRGB in ARGB buffer first
    Insert the alpha data to ARGB buffer

On the other hand, this patch refactors the nsAVIFDecoder a bit to make
the lifetime of the parsed data and decoded image data clearer. They
won't live longer than Parser object and {Dav1d, AOM}Decoder object.
This should improve the code readability.

This patch also adds a transparent image test (TransparentAVIFTestCase)
to check the FLAG_HAS_TRANSPARENCY is posted or not. The test image file
`transparent.avif` is from Bug 1654462.

Differential Revision: https://phabricator.services.mozilla.com/D98951
2020-12-16 01:27:14 +00:00
Kartik Gautam f7ffcd09fb Bug 1679758 - Remove trailing empty lines r=sylvestre,marionette-reviewers,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D99595
2020-12-15 10:34:54 +00:00
Chun-Min Chang 2e5d3014c7 Bug 1681811 - Update mp4parse-rust to 3d9efdc r=jbauman
Import the improvements made in mp4parse-rust repo. The changes would
save some redundant copy when calling avif related APIs and provide the
ability to get the alpha data of the parsed avif image.

Differential Revision: https://phabricator.services.mozilla.com/D98950
2020-12-14 22:31:07 +00:00
Dorel Luca 7320ae982a Backed out changeset f3aaf04fce3b (bug 1679758) for Devtool failures in browser_styleeditor_syncAddProperty.js. CLOSED TREE 2020-12-13 16:38:21 +02:00
Kartik Gautam caf549c200 Bug 1679758 - Remove trailing empty lines r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D99595
2020-12-13 13:28:30 +00:00
Csoregi Natalia 24146fd642 Backed out changeset a8c087a36965 (bug 1681811) for failures on test_case_mp4. CLOSED TREE 2020-12-11 22:51:06 +02:00
Chun-Min Chang 2c75dfdc7b Bug 1681811 - Update mp4parse-rust to 94fd2f1 r=jbauman
Import the improvements made in mp4parse-rust repo. The changes would
save some redundant copy when calling avif related APIs and provide the
ability to get the alpha data of the parsed avif image.

Differential Revision: https://phabricator.services.mozilla.com/D98950
2020-12-11 18:16:40 +00:00
Alexis Beingessner 70c9b7ef2c Bug 1681546 - rename MOZ_ATOMIC_BITFIELDS methods to Load/Store. r=valentin,necko-reviewers
I was running into issues where these names would conflict with the type's own Get/Set methods
and these names have the added benefit of indicating a bit more that atomic stuff is going on.

Differential Revision: https://phabricator.services.mozilla.com/D99268
2020-12-09 18:14:55 +00:00
Timothy Nikkel e151d46fdc Bug 1588310. Add reftest.
Differential Revision: https://phabricator.services.mozilla.com/D98845
2020-12-05 23:43:37 +00:00
Moritz Firsching f735d0e7d5 Bug 1588310 - Improving progressive JPEG scans. r=tnikkel
When loading a progressive jpegs with non-interleaved DC scans,
we add a check to see if we have already seen data from all DC
channels and only start rendering when this is the case.

Differential Revision: https://phabricator.services.mozilla.com/D95683
2020-12-05 23:42:23 +00:00
Simon Giesecke 2d2a1d60c9 Bug 1678560 - Avoid including nsILoadGroup.h in header files. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D97739

Depends on D97737
2020-11-23 16:12:44 +00:00
Simon Giesecke dd80614fa0 Bug 1678062 - Remove unnecessary includes. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D97467

Depends on D96561
2020-11-23 16:12:02 +00:00
Simon Giesecke 5bfbb2a572 Bug 1673931 - Avoid including Document.h from header files. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95046

Depends on D95045
2020-11-23 16:07:43 +00:00
Simon Giesecke 971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Sylvestre Ledru bebb9f9181 Bug 1519636 - Reformat with clang-format-11 to the Google coding style r=andi,sg,geckoview-reviewers,snorp
It is bringing some minor changes

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D90795
2020-11-18 09:05:59 +00:00
Timothy Nikkel d9479f8638 Bug 1676172. Add crashtest. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D96953
2020-11-13 08:31:02 +00:00
Timothy Nikkel ad69934441 Bug 1676990. Call UpdateStateInternal after we reset an animation because that can discard frames and change the state. r=aosmond
Depends on D96945

Differential Revision: https://phabricator.services.mozilla.com/D96946
2020-11-13 03:25:32 +00:00
Timothy Nikkel 3e452098c6 Bug 1676989. Update mCompositedFrameInvalid more often now that we only check for the current frame being decoded and not all frames. r=aosmond
In https://hg.mozilla.org/integration/autoland/rev/471ad96ddc3e we changed this from calling |Surface().IsFullyDecoded()| to calling Seek because IsFullyDecoded always returns false for large enough animations because we don't keep around all of their frames.

In the old model, where mIsCurrentlyDecoded tracks if the image is fully decoded, we don't want to set mCompositedFrameInvalid to true if simply if the image isn't fully decoded because the current frame could be available.

In the new model, where mIsCurrentlyDecoded tracks if the current frame is available, we definitely do want to mark mCompositedFrameInvalid if the current frame is not available.

Depends on D96944

Differential Revision: https://phabricator.services.mozilla.com/D96945
2020-11-13 03:25:33 +00:00
Timothy Nikkel 6ab48a8579 Bug 1676988. Use GetFrame instead of Seek in AnimationState::UpdateStateInternal. r=aosmond
In https://hg.mozilla.org/integration/autoland/rev/471ad96ddc3e we changed this from calling |Surface().IsFullyDecoded()| to calling Seek because IsFullyDecoded always returns false for large enough animations because we don't keep around all of their frames.

However RequestRefresh/AdvanceFrame call GetFrame. Seek is intended to be used for display purposes, GetFrame is intended to be used for advancing the frame purposes. And Seek and GetFrame can actually returns different results if it is the first frame that we are asking for.

Differential Revision: https://phabricator.services.mozilla.com/D96944
2020-11-13 03:25:33 +00:00
Matt Woodrow 96c437eeaf Bug 1674856 - Fiz fuzz annotations for Windows10 swr reftests. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D95571
2020-11-03 23:51:40 +00:00
Razvan Maries c032d89358 Backed out 3 changesets (bug 1674856) for Windows10 swr reftests perma failures. CLOSED TREE
Backed out changeset 8e52162cdf48 (bug 1674856)
Backed out changeset eb84f9c620ac (bug 1674856)
Backed out changeset 477a1070a971 (bug 1674856)
2020-11-03 21:43:26 +02:00