Commit Graph

4552 Commits

Author SHA1 Message Date
Dave Townsend
b53e08b713 Bug 1864896: Autofix unused function arguments (image). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D202968
2024-03-03 09:09:10 +00:00
Timothy Nikkel
f658742e04 Bug 1835509. If we encounter a bad LZW block in a gif frame still report success if we have decoded frames before this successfully. r=aosmond
This is similar to this code in image/Decoder.cpp

https://searchfox.org/mozilla-central/rev/ae292ebba6074601b33fa983dd4e01ce6a1ec4ac/image/Decoder.cpp#257

We won't display the frames after the bad frame, but that seems reasonable, and an improvement from current. If we get more reports of this we can look into just skipping the bad frame instead of truncating before the bad frame.

Differential Revision: https://phabricator.services.mozilla.com/D179495
2024-03-01 11:42:43 +00:00
Frédéric Wang
b005b82248 Bug 1872657 - Add fetchpriority support for <link rel=preload as=image>. r=valentin,smaug,manuel
This patch adds fetchpriority support for `<link rel=preload as=image>`
and equivalent HTTP Link header. The fetchpriority value is passed from
where the link is parsed down to `NewImageChannel` where the priority
is initially set. Currently, the default equals PRIORITY_LOW, but is
decreased a bit if LOAD_BACKGROUND flag is set (this is always the case
for link preload images, see `imgLoader::LoadImage`). Later, the
priority can be increased again depending on the category (see
`imgRequest::BoostPriority`).

In order to minimize the changes, the new calculation is to keep the
initial setting to PRIORITY_LOW, adjust it using a new
`network.fetchpriority.adjustments.*` preference depending on the
fetchpriority attributes, and then preserve further adjustments for
LOAD_BACKGROUND and `BoostPriority`.

For the default value `fetchpriority=auto`, there is no adjustment
i.e. we continue to start with PRIORITY_LOW. `fetchpriority=low/high`
are respectively mapped to PRIORITY_LOW/PRIORITY_HIGH which is simple
and consistent with the "Image" cases from Google's web.dev article
https://web.dev/articles/fetch-priority. These values could of course
be revised in the future after more experiments.

This change is covered by the following tests below. The expectations
is modified to match what is described above (i.e. map to PRIORITY_LOW
or PRIORITY_HIGH with adjustment due to LOAD_BACKGROUND):
- `link-initial-preload-image.h2.html`
- `link-dynamic-preload-image.h2.html`
- `kPipeHeaderPreloadImageLinks`

Based on a patch by Mirko Brodesser (mbrodesser@igalia.com)

Differential Revision: https://phabricator.services.mozilla.com/D197493
2024-02-27 06:33:48 +00:00
Stanca Serban
b54de79827 Backed out changeset 621c8480cd35 (bug 1872657) for causing FetchPriority related bp-nu bustages in IconLoader.cpp. CLOSED TREE 2024-02-26 18:15:18 +02:00
Frédéric Wang
c7734232ca Bug 1872657 - Add fetchpriority support for <link rel=preload as=image>. r=valentin,smaug,manuel
This patch adds fetchpriority support for `<link rel=preload as=image>`
and equivalent HTTP Link header. The fetchpriority value is passed from
where the link is parsed down to `NewImageChannel` where the priority
is initially set. Currently, the default equals PRIORITY_LOW, but is
decreased a bit if LOAD_BACKGROUND flag is set (this is always the case
for link preload images, see `imgLoader::LoadImage`). Later, the
priority can be increased again depending on the category (see
`imgRequest::BoostPriority`).

In order to minimize the changes, the new calculation is to keep the
initial setting to PRIORITY_LOW, adjust it using a new
`network.fetchpriority.adjustments.*` preference depending on the
fetchpriority attributes, and then preserve further adjustments for
LOAD_BACKGROUND and `BoostPriority`.

For the default value `fetchpriority=auto`, there is no adjustment
i.e. we continue to start with PRIORITY_LOW. `fetchpriority=low/high`
are respectively mapped to PRIORITY_LOW/PRIORITY_HIGH which is simple
and consistent with the "Image" cases from Google's web.dev article
https://web.dev/articles/fetch-priority. These values could of course
be revised in the future after more experiments.

This change is covered by the following tests below. The expectations
is modified to match what is described above (i.e. map to PRIORITY_LOW
or PRIORITY_HIGH with adjustment due to LOAD_BACKGROUND):
- `link-initial-preload-image.h2.html`
- `link-dynamic-preload-image.h2.html`
- `kPipeHeaderPreloadImageLinks`

Based on a patch by Mirko Brodesser (mbrodesser@igalia.com)

Differential Revision: https://phabricator.services.mozilla.com/D197493
2024-02-26 15:03:58 +00:00
Timothy Nikkel
732e327254 Bug 1880054. Simplify some imagelib event target code. r=gfx-reviewers,lsalzman
This code was added before we decided to do fission, when we wanted to separate out different sites that were in the same process so we could prioritize them better. We are not going down that path so we can simplify this code. There should be no change in functionality with this patch, just simpler code.

Differential Revision: https://phabricator.services.mozilla.com/D201705
2024-02-25 04:54:33 +00:00
Timothy Nikkel
c9583fe34e Bug 1873422. Ignore "invalid chunk type" errors in pngs if we have enough data to display something when encountered. r=aosmond
GetFrameCount() > 0 means that we've started a frame, but not necessarily finished it.

Differential Revision: https://phabricator.services.mozilla.com/D198511
2024-02-24 01:00:10 +00:00
Joel Maher
eaf8b887ab Bug 1879538 - cleanup unnecessary and redundant reftest conditions. r=aryx,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D201794
2024-02-22 23:04:45 +00:00
Gijs Kruitbosch
ff17e7fc68 Bug 1780071 - Manual fixes/disabling of no-comparison-or-assignment-inside-ok for exceptional cases, r=Standard8,devtools-reviewers,anti-tracking-reviewers,places-reviewers,dom-storage-reviewers,pbz,asuth,nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D198979
2024-02-19 23:30:40 +00:00
Perry McManis
1ebc673e72 Bug 1877840 - Migrate GVST metrics in the avif namespace to pure glean r=chutten,tnikkel
GVST is how these probes sent data in Fenix and is now unnecessary (and doesn't send data in Fenix release) since Firefox Desktop has direct access to Glean. We therefore need to clean them up in some capacity.

Following the recommendations from the GeckoView Streaming (GVST) validation effort, this is a pure Glean api implementation of the metrics that fell under network in geckoview streaming.

Because these were all categorical histograms, to retain previous functionality we've added parallel instrumentation in Glean.

Differential Revision: https://phabricator.services.mozilla.com/D201024
2024-02-09 19:47:46 +00:00
Tyson Smith
0be16bc8ee Bug 1874779 - Set image.mem.max_legal_imgframe_size_kb for libfuzzer targets. r=truber
Differential Revision: https://phabricator.services.mozilla.com/D198633
2024-02-02 16:53:54 +00:00
Timothy Nikkel
78e9020148 Bug 1864550. Allow pref image.mem.max_legal_imgframe_size_kb to be live. r=gfx-reviewers,gw
This pref exists only for fuzzers so they don't waste time on overly large images. The way fuzzers set the pref requires it to be live.

Differential Revision: https://phabricator.services.mozilla.com/D198498
2024-02-02 04:42:17 +00:00
Norisz Fay
34ba7989ae Backed out changeset c5ac0dc2aa69 (bug 1864550) for causing multiple image.mem.max_legal_imgframe_size_kb related failures CLOSED TREE 2024-02-02 04:48:43 +02:00
Timothy Nikkel
cd38dfd760 Bug 1864550. Allow pref image.mem.max_legal_imgframe_size_kb to be live. r=gfx-reviewers,gw
This pref exists only for fuzzers so they don't waste time on overly large images. The way fuzzers set the pref requires it to be live.

Differential Revision: https://phabricator.services.mozilla.com/D198498
2024-02-02 02:15:05 +00:00
Tom Marble
3c78905f47 Bug 1868866 - adds ManifestParser TOML linter r=jmaher,linter-reviewers,ahal,webdriver-reviewers,settings-reviewers,search-reviewers,devtools-reviewers,fxview-reviewers,cookie-reviewers,sessionstore-reviewers,places-reviewers,dom-storage-reviewers,translations-reviewers,valentin,whimboo,Standard8,sclements,jesup
Differential Revision: https://phabricator.services.mozilla.com/D199054
2024-01-29 17:30:48 +00:00
Sandor Molnar
51bb77759a Backed out changeset 2be67d91cf16 (bug 1868866) for causing Mn failures at toolkit/xre/test/marionette/test_exitcode.py CLOSED TREE 2024-01-27 00:15:22 +02:00
Tom Marble
2434015dc5 Bug 1868866 - adds ManifestParser TOML linter r=jmaher,linter-reviewers,ahal,webdriver-reviewers,settings-reviewers,search-reviewers,devtools-reviewers,fxview-reviewers,cookie-reviewers,sessionstore-reviewers,places-reviewers,dom-storage-reviewers,translations-reviewers,valentin,whimboo,Standard8,sclements,jesup
Differential Revision: https://phabricator.services.mozilla.com/D199054
2024-01-26 20:06:56 +00:00
Paul Adenot
d6181b64f8 Bug 1868615 - Remove define usage. r=chunmin
It doesn't exist anymore in upstream libaom, and we're only using it for this
assertion.

Differential Revision: https://phabricator.services.mozilla.com/D198364
2024-01-19 10:35:19 +00:00
Tom Schuster
58300c5e90 Bug 1873474 - Use ImageBlocker directly instead of nsIContentPolicy::ShouldProcess in ImageDocument. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D198142
2024-01-17 09:49:32 +00:00
Benjamin VanderSloot
5bd36b24b1 Bug 1873490, part 1 - Refactor the only external call to StorageDisabledByAntiTracking - r=anti-tracking-reviewers,timhuang
I'm considering dropping this if statement entirely because this is only hit when we disable network state partitioning.
According to code coverage, we only see the ""_ns as the result of this ternary in our testing too.

But, if you disable network state partitioning and then block cookies from a given domain, then we would still want to partition network state I suppose, so I'll leave it like this..

Differential Revision: https://phabricator.services.mozilla.com/D198034
2024-01-12 17:03:20 +00:00
Tom Schuster
346cecd51c Bug 1872839 - Remove aMimeTypeGuess parameter from nsIContentPolicy. r=freddyb
Differential Revision: https://phabricator.services.mozilla.com/D197794
2024-01-08 15:47:42 +00:00
Timothy Nikkel
0f39860036 Bug 1862059. Handle edge cases of svg images in multipart images. r=aosmond,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D192827
2024-01-02 07:13:01 +00:00
Andrew Osmond
0d3eae78e5 Bug 1872536 - Use MakeUniqueFallible for large buffers in image decoders/encoders. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D197461
2023-12-31 22:16:46 +00:00
Timothy Nikkel
ea36a87c56 Bug 1869938. For docs that don't have a load context/docshell, try to inherit private browsing from the doc's channel. r=necko-reviewers,kershaw
This is how we decide which imgLoader to use (private or not) when we load an image: https://searchfox.org/mozilla-central/rev/91cc8848427fdbbeb324e6ca56a0d08d32d3c308/dom/base/nsContentUtils.cpp#3898

Differential Revision: https://phabricator.services.mozilla.com/D196720
2023-12-28 10:57:40 +00:00
Andrew Osmond
484b8d4e39 Bug 1871613 - Ensure CanvasDrawEventRecorder releases external surface dependencies. r=gfx-reviewers,lsalzman
This patch makes CanvasDrawEventRecorder track what eventCount we
recorded an external surface reference. When the reader has increment
its processedCount above that, we will release our reference as it
should have acquired a strong reference to the data. This was previously
done when we forwarded the texture, but with remote textures, we no
longer have this event. Now we check when we start a new recording, or
attempt to clear cached resources.

Differential Revision: https://phabricator.services.mozilla.com/D197216
2023-12-23 01:34:31 +00:00
Paul Adenot
fcf35cd837 Bug 1869332 - Move libaom to libgkcodecs. r=glandium,media-playback-reviewers,chunmin
Differential Revision: https://phabricator.services.mozilla.com/D196058
2023-12-20 02:32:34 +00:00
Narcis Beleuzu
0f250fb8c2 Backed out 7 changesets (bug 1869332) for Android bustages. CLOSED TREE
Backed out changeset e1a7852ec85a (bug 1869332)
Backed out changeset 886e59d6495f (bug 1869332)
Backed out changeset 03ac3598f84f (bug 1869332)
Backed out changeset 5e775f2c2b9c (bug 1869332)
Backed out changeset 295a1e1f01d5 (bug 1869332)
Backed out changeset 2909ac6aeb41 (bug 1869332)
Backed out changeset dfab47873174 (bug 1869332)
2023-12-19 18:52:01 +02:00
Paul Adenot
e2e68cab50 Bug 1869332 - Move libaom to libgkcodecs. r=glandium,media-playback-reviewers,chunmin
Differential Revision: https://phabricator.services.mozilla.com/D196058
2023-12-19 15:21:50 +00:00
Ryan VanderMeulen
3ffb39ec52 Bug 1852649 - Add crashtest. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D187955
2023-12-15 21:46:45 +00:00
Noemi Erli
862354d813 Backed out 7 changesets (bug 1869332) for causing libavcodec related bustages CLOSED TREE
Backed out changeset 1c0fd259312d (bug 1869332)
Backed out changeset d51eba30a225 (bug 1869332)
Backed out changeset 483d3f275da7 (bug 1869332)
Backed out changeset c401449274b4 (bug 1869332)
Backed out changeset c83313202040 (bug 1869332)
Backed out changeset 00ceb6e47715 (bug 1869332)
Backed out changeset 5acc2f4f12c2 (bug 1869332)
2023-12-14 12:02:45 +02:00
Paul Adenot
039cbc5bda Bug 1869332 - Move libaom to libgkcodecs. r=glandium,media-playback-reviewers,chunmin
Differential Revision: https://phabricator.services.mozilla.com/D196058
2023-12-14 09:12:32 +00:00
Stanca Serban
d84ca52ee4 Backed out 6 changesets (bug 1869332) for causing build bustages. CLOSED TREE
Backed out changeset 4f8c19f9dfcf (bug 1869332)
Backed out changeset 661e520c2991 (bug 1869332)
Backed out changeset 74e2acabc439 (bug 1869332)
Backed out changeset 1c4b5311ac03 (bug 1869332)
Backed out changeset af22bc552759 (bug 1869332)
Backed out changeset f557e130d997 (bug 1869332)
2023-12-13 18:13:24 +02:00
Paul Adenot
9b4c4a5bb9 Bug 1869332 - Move libaom to libgkcodecs. r=glandium,media-playback-reviewers,chunmin
Differential Revision: https://phabricator.services.mozilla.com/D196058
2023-12-13 13:46:39 +00:00
Mike Hommey
619672a8e4 Bug 1867459 - Replace CPU_ARCH with TARGET_CPU. r=firefox-build-system-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D195157
2023-12-08 10:43:59 +00:00
Joel Maher
c993099c60 Bug 1865385 - remove win7/win-aarch64 annotations from reftest manifests. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D193995
2023-12-05 21:49:04 +00:00
Joel Maher
9d203b1d46 Bug 1859893 - batch 15 - migrate xpcshell.ini -> .toml. r=aryx,geckoview-reviewers,extension-reviewers,valentin,cookie-reviewers,pbz,owlish,robwu
Differential Revision: https://phabricator.services.mozilla.com/D194384
2023-11-24 14:41:35 +00:00
Jonathan Watt
85bdec26c1 Bug 1866010 p2. Update UpdateContentViewerRegistration to reflect nsIDocumentViewer's new name. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D194358
2023-11-24 09:10:48 +00:00
Jonathan Watt
c96a66c3de Bug 1865480. Rename nsIContentViewer to nsIDocumentViewer. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D193987
2023-11-21 12:45:59 +00:00
Emilio Cobos Álvarez
ec7a1d06ff Bug 1864425 - Remove PendingAnimationTracker. r=birtles
Instead of starting transitions and animations as a result of a paint,
use the refresh driver tick to do this.

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

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

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

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

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

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

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

Differential Revision: https://phabricator.services.mozilla.com/D193583
2023-11-20 09:31:41 +00:00
Daisuke Akatsuka
62b2826a12 Bug 1864985: Add hasUserPass attribute to nsIURI r=necko-reviewers,valentin
We will remove the user and pass from the URL for Histories and Favicons using
nsIOService::CreateExposableURI()[1], then store them to the database. And, for
Favicons. And, for Favicons, we will also read them. Therefore, as the
frequency calling CreateExposableURI() will be higher, we want to optimize it.
Currently, CreateExposableURI() gets/copies the String of UserPass to check whether there is a user pass info in the URL[2]. Its copying will be waste. To
prevent it, implement hasUserPass in nsIURI, and refer to it instead.

[1] https://searchfox.org/mozilla-central/rev/90dce6b0223b4dc17bb10f1125b44f70951585f9/netwerk/base/nsIOService.cpp#1031
[2] https://searchfox.org/mozilla-central/rev/90dce6b0223b4dc17bb10f1125b44f70951585f9/netwerk/base/nsIOService.cpp#1017

Differential Revision: https://phabricator.services.mozilla.com/D193623
2023-11-17 20:12:10 +00:00
Sean Feng
539e32202b Bug 1722322 - Implement LargestContentfulPaint r=emilio
Spec: https://w3c.github.io/largest-contentful-paint

Differential Revision: https://phabricator.services.mozilla.com/D151079
2023-11-02 20:53:36 +00:00
Sandor Molnar
a4163792c6 Backed out 7 changesets (bug 1722322) for causing bp-nu bustages
Backed out changeset 0ebd32e273b8 (bug 1722322)
Backed out changeset 7a75717f127c (bug 1722322)
Backed out changeset c2a6440a83d7 (bug 1722322)
Backed out changeset 9955756855bd (bug 1722322)
Backed out changeset 37fccb407777 (bug 1722322)
Backed out changeset f52b1f28f753 (bug 1722322)
Backed out changeset 0121c8cf5d2f (bug 1722322)
2023-11-02 21:27:24 +02:00
Sean Feng
611093989e Bug 1722322 - Implement LargestContentfulPaint r=emilio
Spec: https://w3c.github.io/largest-contentful-paint

Differential Revision: https://phabricator.services.mozilla.com/D151079
2023-11-02 17:04:47 +00:00
ChaseKnowlden
4932771b24 Bug 1857746 - Remove std max in downscaler. r=sylvestre DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D192166
2023-10-30 08:12:41 +00:00
sunil mayya
8ce40ef93d Bug 1851992 - implement nsIThreadRetargetableStreamListener::OnDataFinished to multiple listeners. r=necko-reviewers,extension-reviewers,jesup,rpl
Differential Revision: https://phabricator.services.mozilla.com/D187833
2023-10-27 13:30:11 +00:00
Tom Marble
28edc0c671 Bug 1859905 - convert .ini manifests to .toml: batch 19 browser_*.ini r=jmaher,webdriver-reviewers,necko-reviewers,extension-reviewers,devtools-reviewers,anti-tracking-reviewers,valentin,robwu,pbz
Differential Revision: https://phabricator.services.mozilla.com/D191771
2023-10-25 21:47:25 +00:00
Natalia Csoregi
8a8efda530 Backed out changeset 1ca403a2c00e (bug 1859905) for causing failures on test_mochitest_integration.py CLOSED TREE 2023-10-25 22:26:24 +03:00
Tom Marble
9c93e7d5df Bug 1859905 - convert .ini manifests to .toml: batch 19 browser_*.ini r=jmaher,webdriver-reviewers,necko-reviewers,extension-reviewers,devtools-reviewers,anti-tracking-reviewers,valentin,robwu,pbz
Differential Revision: https://phabricator.services.mozilla.com/D191771
2023-10-25 17:12:24 +00:00
Narcis Beleuzu
722f6a1679 Backed out 6 changesets (bug 1851992) for DT failure on browser_net_image_cache.js . CLOSED TREE
Backed out changeset 3ceaf46f8f55 (bug 1851992)
Backed out changeset c9d322362e22 (bug 1851992)
Backed out changeset 673df3f83249 (bug 1851992)
Backed out changeset 46e18c56dd39 (bug 1851992)
Backed out changeset f9f9143ac713 (bug 1851992)
Backed out changeset 38c40d735ab7 (bug 1851992)
2023-10-24 13:16:40 +03:00
sunil mayya
1acfb3f11f Bug 1851992 - implement nsIThreadRetargetableStreamListener::OnDataFinished to multiple listeners. r=necko-reviewers,extension-reviewers,jesup,rpl
Differential Revision: https://phabricator.services.mozilla.com/D187833
2023-10-24 01:48:09 +00:00