Commit Graph

310 Commits

Author SHA1 Message Date
Sean Feng
475ea61051 Bug 1755226 - Only notify 'http-on-image-cache-response' when there are registered observers r=tnikkel,emilio
This is an optimization to avoid doing redundant things when there are no
registered observers.

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

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

Differential Revision: https://phabricator.services.mozilla.com/D138346
2022-02-10 18:18:28 +00:00
Emilio Cobos Álvarez
323ecd6f31 Bug 1743377 - Remove imgLoader::PreferLoadFromCache. r=aosmond
Instead treat these protocols as "never-expiring" protocols, and clean
up revalidation code while at it.

Depends on D132347

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

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

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

Differential Revision: https://phabricator.services.mozilla.com/D126603
2021-11-27 11:47:39 +00:00
Sandor Molnar
f5bbecdcc2 Backed out 13 changesets (bug 1711061) on devs request. CLOSED TREE
Backed out changeset c4f073f7e3a3 (bug 1711061)
Backed out changeset aced4b672fb4 (bug 1711061)
Backed out changeset 3687e798f665 (bug 1711061)
Backed out changeset 7b471990ea86 (bug 1711061)
Backed out changeset 1014a95f540e (bug 1711061)
Backed out changeset a37b3091281d (bug 1711061)
Backed out changeset 96a0ef35881b (bug 1711061)
Backed out changeset 38890cc266fb (bug 1711061)
Backed out changeset be73004c0850 (bug 1711061)
Backed out changeset b964576ae53d (bug 1711061)
Backed out changeset d453c5219255 (bug 1711061)
Backed out changeset 0145b538175b (bug 1711061)
Backed out changeset 41ba2e2a2d13 (bug 1711061)
2021-10-29 00:36:30 +03:00
Andrew Osmond
a5c912c53f 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-27 01:24:34 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Simon Giesecke
de7bab0f06 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Jon Bauman
eb0d0b2471 Bug 1656927 - Assertion failure: aContentType.Equals("image/avif"), at /builds/worker/checkouts/gecko/image/imgLoader.cpp:2785. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D85803
2020-08-04 17:30:14 +00:00