Commit graph

5,455 commits

Author SHA1 Message Date
Moonchild
9b4c0ef4e9 Issue #2040 - Pre-multiply the alpha values in our JXL decode buffer.
Using selective calculation (only if not opaque) and fast integer
math here should optimize well in compilers.
2023-06-24 12:20:09 +08:00
Moonchild
8b4b6f8ebd fix whitespace. 2023-06-24 12:19:45 +08:00
Moonchild
77ca4ae9db Issue #2033 - Temporary fix of R<->B channel swap.
We have a BGR/RGB channel ordering mismatch here. to at least
provide proper display, a quick&dirty byte swap on the output
buffer will fix this for now, but we should look into seeing where
the surface mismatch is caused.
std::swap() should optimize pretty well in any of the used
compilers, but if necessary, a full buffer ASM routine can be
slotted in (although on current hardware I doubt this will be
even noticeable as it is)
2023-06-24 12:19:25 +08:00
Moonchild
7f87cc1276 Issue #1769 - Follow-up: Default-enable JPEG-XL images if built
Sets the pref default to true and also add conneg entry for images
if jxl support is built.
Additionally, ifdefs the GfxPref to only observe when jxl is built.
2023-06-24 12:19:10 +08:00
Moonchild
f860413ed6 Issue #1769: Ensure MIME type is known in URIloader for jxl 2023-06-24 12:18:52 +08:00
Moonchild
1ef390db08 Issue #1769: Update symbols for libxul linkage 2023-06-24 12:18:35 +08:00
Job Bautista
4d78f53da1 Issue #1769 - Follow-up: Fix typo in MOZ_ARG_ENABLE_BOOL
Silly copy-paste mistake from AV1
2023-06-24 12:17:58 +08:00
Job Bautista
40f27cd35b Issue #1769 - Part 1 Follow-up: Use standard [[deprecated]] for JXL_DEPRECATED.
This fixes building with MSVC for Windows.
2023-06-24 12:17:33 +08:00
Job Bautista
134c5e94e8 Issue #1769 - Part 2 Follow-up: Do not use namespace parent::child {} for defining nested namespaces.
It doesn't build for MSVC on Windows. Also other decoders are using the old
 way for defining nested namespaces, so better be consistent here.
2023-06-24 12:17:19 +08:00
Job Bautista
00a5d64018 Issue #1769 - Part 1 Follow-up: Tidy up moz.build for highway and libjxl
highway upstream added a new header file to be included in highway.h after
 0.15.0 it seems, so we have to account for that in moz.build.
Also brought back allowing compiler warnings for libjxl and highway.
 Apparently the equivalent of AllowCompilerWarnings() is a bool whose name
 is UPPERCASE and uses under_scores instead of CamelCase.
2023-06-24 12:17:02 +08:00
Job Bautista
2df558509f Issue #1769 - Part 3: Cleanup nsJXLDecoder.
The mp4parse Rust component has been removed in Issue #58. It doesn't seem
 like the decoder uses any mp4parse function, so seems like it's safe to
 remove it.
Removed const DecoderType named GetType() because we don't have it in our
 Decoder.h.
I've decided to abandon the OS_RGBA backporting effort and instead went for
 using OS_RGBA's value which is R8G8B8A8. Turns out that there is much more
 going on in Mozilla's version of CreateSurfacePipe than I've expected, like
 the aInFormat and aOutFormat thing which I really don't want to delve into
 right now. Looking at the code it looks like all JPEG-XL images are expected
 to have an alpha channel anyway, so I think my workaround should be safe.
I also removed the dependency in OrientedIntSize and used Size() from gfx/2d/
 Point.h like our PNG and GIF decoders currently do. Migrating our decoders
 to OrientedInt types should be done in another PR instead.
Also also changed the coding style to be closer to UXP's.
Also also also, I made a mistake in Part 1's commit message; the commit used
for libjxl is 192ddd90fdf0c69cd1db1c8d7850db036dd87f4b.
2023-06-24 12:16:41 +08:00
Job Bautista
51ea0e4f3a Issue #1769 - Part 2: Implement JPEG-XL decoder and about:config and MIME plumbing.
Backported from Mozilla bug 1707590 whereever possible.
2023-06-24 12:16:27 +08:00
Job Bautista
7983f5d8ba Issue #1769 - Part 1: Add vendored libjxl and highway sources.
Used old-configure to add the build option for enabling JPEG-XL support.
Highway version: 1.0.2
libjxl version: 0.7.0
2023-06-24 12:16:12 +08:00
FranklinDM
6444835acd Issue #21 - Follow-up: Remove experiment category images 2023-06-23 16:07:46 +08:00
FranklinDM
341632f865 Issue #21 - Part 3: Remove experiments localization
This also removes bits from about:support that weren't removed in bf6bb142fc5bcb49b053788e06160af304f639e5.
2023-06-23 16:07:23 +08:00
FranklinDM
9f8aa81a87 Issue #21 - Part 2: Remove experiment extension assets and styling 2023-06-23 16:07:05 +08:00
FranklinDM
369e68a663 Issue #21 - Part 1: Remove experiments base code from the Add-ons Manager
The experiments manager was already removed in bf6bb142fc5bcb49b053788e06160af304f639e5 and this was imported dead code from Tycho AM.
2023-06-23 16:06:49 +08:00
Moonchild
8658452304 No issue - Update SQLite lib to 3.42.0 2023-06-23 16:06:33 +08:00
FranklinDM
fe7244c016 Issue #1691 - Follow-up: Print leaking class name and remove crash reporter dependency 2023-06-23 16:05:54 +08:00
Moonchild
c4d665a0d0 No issue - Set the default for incremental cycle collector to be off.
Negative performance impact if enabled.
2023-06-23 16:05:16 +08:00
Jeremy Andrews
ccd69e165d Issue #1956 - Allow building with newer MSVC versions.
(P.S.: this rev is partly imported from upstream, without binaries. -Roy)
2023-06-23 16:03:03 +08:00
Moonchild
4b0e27bb4c [Pale-Moon] [SSUAO] Update chase.com override after breakage. 2023-06-02 10:39:13 +08:00
Moonchild
1768eb1930 [Pale-Moon] Issue #1925 - Follow-up: Throw errors on invalid values.
Uses defaults for negative values and caps upper limit.
2023-06-02 10:37:27 +08:00
Job Bautista
075eebec12 [Pale-Moon] Issue #1925 - Follow-up: Don't show link items when pref is less than 1.
A user setting the pref to 0 most likely wants to get rid of the items, so let's
allow that by simply not calling PlacesMenu.call at all in that case.
2023-06-02 10:37:01 +08:00
Moonchild
e3d51b39b6 [Pale-Moon] Issue #1925 - Add pref to control history menu length.
Limits set are minimum 1 entry (0 would mean unlimited so this can't
be used to completely remove the history list from the menu) and maximum
50 which would overflow on most screens anyway. Default remains 15 if
undefined.

Resolves #1925
2023-06-02 10:36:16 +08:00
Moonchild
2a7ff7ce1a Issue #2257 - Remove rematerialized frames after bailouts and exceptions.
This ensures that rematerialized frames used by the devtools debugger
are properly removed so that no stale data is used during bailouts.
2023-06-02 10:35:31 +08:00
Moonchild
77bd81595d Issue #2256 - Implement Object.hasOwn(object, property)
This is a convenience access function to hasOwnProperty.

Trivial, self-hosted implementation providing the interface to the
already existing hasOwnProperty cpp function with additional toObject
for spec compliance.

Resolves #2256
2023-06-02 10:35:08 +08:00
Brian Smith
106de86dc4 Issue #2252 - Prevent crash when attempting to load a script with execution disallowed. This issue is due to the ExecutionContext added in Issue #1691 not handling GetScript() in a context where script execution is not allowed. This expressed itself in crashes when playing MP4s with the NoScript extension installed and enabled. 2023-05-24 09:02:56 +08:00
FranklinDM
adaf6c3221 Issue #1592 - Follow-up: Ensure topmost scope marker is cleaned up 2023-05-24 09:02:40 +08:00
FranklinDM
3d917c9965 Issue #2250 - Part 2: Ignore the ancestor filter assertion if rule matching is restricted or if the current element is under a shadow host
This only affects debug builds.
2023-05-24 09:02:22 +08:00
FranklinDM
1c2dd6aee0 Issue #2250 - Part 1: Return early if the element being tested for is likely an ancestor and does not have an assigned slot 2023-05-24 09:02:07 +08:00
Job Bautista
a00793acff Issue #2221 - Follow-up: Simplify jit_ioncheck{1|2|3}_deunified_sources assignment. 2023-05-18 09:39:50 +08:00
Job Bautista
a2b45a9d53 Issue #2221 - Follow-up: Ensure jit_ioncheck{1|2|3}_deunified_sources is defined.
Should fix build bustage in armhf, as well as prevent bustage in mips32.
2023-05-18 09:39:39 +08:00
Job Bautista
bbb91e4833 Issue #2246 - Implement Array find from last.
Based on the implementation from Mozilla bug 1704385.
2023-05-18 09:39:18 +08:00
FranklinDM
6ae0a69ac7 Issue #1765 - Part 3: Provided token type should be used in LookForTokenType
I didn't realize this immediately after moving the code into a method. Oops.
2023-05-15 09:14:24 +08:00
FranklinDM
d678cc2c45 Issue #1765 - Part 2: Implement calc() parsing inside rgb/a() and the non-hue component of hsl/a()
This also adds a new helper method for checking the type of tokens that will be parsed after the current token, which is useful for determining the unit of values inside calc() functions.

Partially based on 8a0897d23f
2023-05-15 09:14:07 +08:00
FranklinDM
73a6dc3122 Issue #1765 - Part 1: Move ReduceNumberCalcOps struct up higher, rename IsCSSTokenCalcFunction to CSSParserImpl::IsCalcFunctionToken 2023-05-15 09:13:47 +08:00
Job Bautista
ae27fff4bb Issue #2241 - Part 7.2 Follow-up: Fix build bustage due to unified building in Basilisk.
Tag #80
2023-05-15 09:13:28 +08:00
Job Bautista
e072ef0dfc Issue #2241 - Part 8: Remove non-working layout.css.DOM*.enabled prefs.
A follow-up to fdfe7a8245eb33db252f2a9a3474ac931f15a7d8.
2023-05-15 09:13:07 +08:00
Job Bautista
4ec35fdcf2 Issue #2241 - Part 7.2: Implement .fromRect and .fromQuad.
Backported from Mozilla bug 1558101.
2023-05-15 09:12:47 +08:00
Job Bautista
0e2f687f4d Issue #2241 - Part 7.1: Implement .fromFloat{32/64}Array.
Backported from Mozilla bug 1558101.
2023-05-15 09:12:41 +08:00
Job Bautista
10bdcb7e5f Issue #2241 - Part 6: Implement DOMMatrix.fromMatrix.
Also fixes .multiply() to use DOMMatrixInit.

Backported from Mozilla bug 1560462.
2023-05-15 09:12:03 +08:00
Job Bautista
51f812bb80 Issue #2241 - Part 4&5 Follow-up: Fix WebIDL errors
Remove [Pref] attribute from Geometry interfaces as they're now exposed to web
workers too via Part 5.

Remove nonexistent toJSON objects erroneously added in Part 4.1.
2023-05-15 09:11:46 +08:00
Job Bautista
c3042a2f41 Issue #2241 - Part 5: Expose Geometry interfaces to web workers.
Exposes DOMMatrix, DOMPoint, DOMQuad, and DOMRect to workers.

Backported from Mozilla bug 1420580.
2023-05-15 09:11:24 +08:00
Job Bautista
69e45fd84e Issue #2241 - Part 4.3: Move devtools over to getBounds().
This leaves getAdjustedQuads alone because it lives in its own world and its
result gets sent over IPC. That leaves things in a bit of an intermediate state,
but that should be OK for now.

Backported from Mozilla bug 1186265.
2023-05-15 09:11:07 +08:00
Job Bautista
840658ab39 Issue #2241 - Part 4.2: Resurrect DOMQuad.bounds, but deprecated.
This also forces DOMQuad.toJSON() to only return the points.

Backported from Mozilla bug 1186265.
2023-05-15 09:10:49 +08:00
Job Bautista
60c88dd11b Issue #2241 - Part 4.1: Get DOMPoint, DOMQuad, DOMRect, DOMMatrix a bit closer to spec.
Backported from Mozilla bug 1186265's part 1.
2023-05-15 09:10:31 +08:00
Job Bautista
d2c3ea08eb Issue #2241 - Part 3: Extend DOMMatrixReadOnly to allow instantiation with a Matrix4x4.
Backported from Mozilla bug 1355675.
2023-05-15 09:10:14 +08:00
Job Bautista
621868a340 Issue #2241 - Part 2: Add SameValueZero implementation to mfbt/FloatingPoint.h
Backported from Mozilla bug 1560658.

This is to prevent duplication of code while implementing DOMMatrix operations.
2023-05-15 09:09:58 +08:00
Job Bautista
ec2fb72568 Issue #2241 - Part 1: Move {js::,JS_}{{Strictly,Loosely}Equal,SameValue} into their own header and implementation files
Backported from Mozilla bug 1516742.

The .from* methods are going to depend on SameValueZero, which needs to be
visible to /dom. This patch provides the foundation for that.
2023-05-15 09:09:41 +08:00