Commit Graph

4059 Commits

Author SHA1 Message Date
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