Commit Graph

6252 Commits

Author SHA1 Message Date
Moonchild fd4a224d1d Issue #2737 - Part 1: Base implementation of SVGGeometryElement.
Mostly mechanical changes to generalize path geometry for all SVG draw
elements. No user-exposed changes.
2025-04-30 23:02:16 +08:00
Moonchild 8ae2b45691 Issue #2732 - Part 3: Explicitly search for <area> only.
Relying on the implicit conversion by `::FromContent` doesn't work for
us because we inherit that from `nsGenericHTMLElement` and isn't specific
to `HTMLAreaElement`, so it would accept other elements.

This also updates the Attribute changed event handler to exclude `<a>`
elements and cleans up an unused variable from the old code.
2025-04-30 23:00:35 +08:00
Moonchild 8a21d95ea3 No issue - restore nullptr-check 2025-04-30 23:00:04 +08:00
Moonchild 8db40dbbb5 No Issue - Modernize nsImageFrame/nsImageMap
Primarily flow control improvements, and removing unused `nsresults`.
2025-04-30 22:59:45 +08:00
Moonchild 9f64d0f4b0 Issue #2732 - Part 2: Stop accepting <a> as a valid image map <area>
This was part of the HTML4 standard but only ever implemented by Mozilla
and removed again in HTML5 due to lack of adoption. Retaining this could
cause web compat issues and unspecified behavior in the layout engine.
2025-04-30 22:59:26 +08:00
Moonchild 2ef82632d4 Issue #2732 - Part 1: Rename mContainsBlockContents to mConsiderWholeSubtree
It is more descriptive of what it actually does.
2025-04-30 22:59:06 +08:00
Moonchild 0331e633bd Issue #2728 - Remove obsolete CSP referrer policy.
This has been superseded by the dedicated Referrer-policy header.
Resolves #2728
2025-04-30 22:58:43 +08:00
Moonchild d7f01911b8 Issue #2731 - Fix crashes on unknown BigInt types in JIT
This only works around the unknown type crashes but doesn't actually fix
attempts at using 64-bit BigInts in Ion.
Resolves #2731
2025-04-30 22:58:27 +08:00
Moonchild 8bacedc9a9 Issue #2729 - Add missing jsonifier interfaces to DOM{Matrix|Rect|Point}
Resolves #2729
Resolves #2705
2025-04-18 10:31:48 +08:00
Moonchild 9ff0c63602 No issue - Update Twemoji font to unicode 16.0.0 2025-04-18 10:31:12 +08:00
Moonchild d13c759467 Issue #2726 - Remove obsolete FirefoxOS MMS prefs
These aren't referenced anywhere.
Resolves #2726
2025-04-18 10:30:47 +08:00
Moonchild 17031f216b No issue - set UXP to dereference links in file open dialogs.
Since we (and Mozilla) currently don't have a solution for "auto" that
doesn't break usability for users, keep the old behavior for now.
2025-04-18 10:30:29 +08:00
Brian Smith 59977aa358 No issue - Various updates for Mac buildability with XCode 16.3 2025-04-18 10:30:02 +08:00
Moonchild 1283a5f874 [widget] Extend the use of FOS_NODEREFERENCELINKS on Windows.
In the modern era of user-customizable Quick Access sidebars on every file
dialog, navigating via `.lnk` files is considerably less useful than it
was twenty years ago.

Disable link-following in file-open dialogs by default, to prevent any of
the usual security issues involving symlink smuggling.

Allow overriding this behavior via a pref, for users who want to trade off
this security issue for convenience of being able to follow links inside
file dialogs (older OSes and established user workflows).
Note: File Save dialogs have a set of more nuanced guards against link
smuggling and protected file access; this change doesn't affect that.
2025-04-03 09:50:02 +08:00
Moonchild 0113b2715d [DOM] Check state before compiling/transforming. 2025-04-03 09:47:35 +08:00
Moonchild cc29855b66 No issue - Update SQLite lib to 3.49.1 and require it as syslib. 2025-04-03 09:47:08 +08:00
Moonchild 9490504bf9 Issue #2703 - Part 0: Add UnorderedRemoveElement[s]At to nsTArray 2025-04-03 09:45:17 +08:00
Moonchild 80b30a8177 Issue #2720 - Implement two-location color stop logic.
This allows for two-location color stops (`color x% y%`) which is shorthand
for `color x%, color y%` where both colors are equal. (pct/length accepted)
See code comment for the reason it's implemented the way it is.

Resolves #2720
2025-04-03 09:44:51 +08:00
Martok 46fadb2d2b Issue #2715 - Compute Channel Binding Hashes using the certificate signature's hash algorithm as per spec 2025-03-27 09:04:36 +08:00
Martok 7d3dc5a2f2 Issue #2692 - Follow-Up: fix compilation in debug 2025-03-27 09:04:21 +08:00
Moonchild c31cda6c74 No issue - Fix incorrect js message ref in js shell. 2025-03-27 09:04:00 +08:00
Moonchild 788cc4acb2 No issue - Add range checking to SharedArrayBuffer references.
This avoids a potential crash when juggling SAB allocations.
2025-03-27 09:02:33 +08:00
Moonchild f1c456c625 Issue #2713 - Check for NaN before std::min/max() in DOMQuad and DOMRect.
If there is a NaN involved we should not return 0 here.
2025-03-23 12:52:03 +08:00
Shadow 8f2f4d8d3d Issue #2703 - Part 4: Fix incorrect clang warning in nsCORSListenerProxy.
See BZ Bug 1444472
Resolves #2703
2025-03-23 12:27:29 +08:00
Shadow fdfe81fe54 Issue #2703 - Part 3: Make cache entry request checking more readable. 2025-03-23 12:27:16 +08:00
Shadow 7854198085 Issue #2703 - Part 2: Don't repeatedly construct comparators when checking cache entries.
nsCaseInsensitiveCStringComparator ought to be cheap to construct, but
the object actually has a vtable to install and whatnot.  So it's
beneficial to pull the construction of it outside of the headers loop.
2025-03-23 12:27:01 +08:00
Shadow d678f508de Issue #2703 - Part 1: micro-optimize purging expired preflight cache entries.
The entries in mMethods and mHeaders aren't sorted in any special way,
so we can remove expired entries using UnorderedRemoveElementAt, which
is faster than RemoveElementAt.
2025-03-23 12:26:44 +08:00
Moonchild 6411abd43c Issue #2711 - Apply pattern transforms when using text-rendering on canvas.
Resolves #2711
2025-03-23 12:26:21 +08:00
Moonchild 6449b7514b No issue - Fix some deprot 2025-03-23 12:25:55 +08:00
Moonchild 6fc884334f Issue #2697 - Part 4: Update README and remove upstream merged patch. 2025-03-13 23:38:12 +08:00
Moonchild 26bbf20c1d Issue #2697 - Part 3: Disable JXL_DEC_BOX informative events.
Our front-end doesn't support it and it's not necessary for browser use.
2025-03-13 23:36:00 +08:00
Moonchild 1152a6f41d Issue #2697 - Part 2: Update libjxl build files. 2025-03-13 23:35:44 +08:00
Moonchild 845db2526f Issue #2697 - Part 1: Import libjxl 0.11.1 files to the tree. 2025-03-13 23:35:08 +08:00
Shadow d9c27beb51 No Issue - Stop warning if a network request failed.
Bug 1286036
2025-03-13 23:04:39 +08:00
Moonchild 5fd304507d Issue #2692 - Part 7: De-globalize {*}CompileOptions.
Make all users of the various *CompileOptions classes #include "js/CompileOptions.h"
so that nothing but that file has to know about these classes having a
JS_PUBLIC_API on them, that would have to be present in forward-declarations.
2025-03-13 23:03:43 +08:00
Moonchild 2e4620b5af Issue #2692 - Part 6: Don't #include js/SourceBufferHolder.h in jsapi.h.
Instead, require users to do so. This is a minor translation-unit size
improvement for anyone who never has to use SourceBufferHolder other than
by reference.
2025-03-13 23:01:46 +08:00
Moonchild 40ed1b10f4 Issue #2692 - Part 5: Split out compilation and evaluation APIs into its own header. 2025-03-13 22:59:38 +08:00
Moonchild 307621db50 Issue #2692 - Part 4: Split out off-thread compilation API to its own header. 2025-03-13 22:59:23 +08:00
Moonchild eca185aa79 Issue #2692 - Part 3: Split out JS compiled script transcoding to its own header. 2025-03-13 22:59:08 +08:00
Moonchild 565fb4b05a Issue #2692 - Part 2: Split out JS SourceBufferHolder to its own header. 2025-03-13 22:58:50 +08:00
Moonchild 9436bfa175 Issue #2692 - Part 1: Split out JS CompileOptions to its own header. 2025-03-13 22:58:36 +08:00
Shadow c318657acd Explicitly use javascript: instead of URI_INHERITS_SECURITY_CONTEXT within subjectToCSP() (#2696)
Bug 1330035

Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2696
Co-authored-by: Shadow <shadow@no-reply.palemoon.org>
Co-committed-by: Shadow <shadow@no-reply.palemoon.org>
2025-03-12 10:31:54 +08:00
Shadow a2c6127832 No Issue - Make nsCSPService cancel the channel if a redirect is blocked by CSP
Bug 1338304
2025-03-12 10:31:37 +08:00
Moonchild 8535573f07 No issue - fix some minor link issues in about:rights
Privacy was moved to a subdir. Also replacing http with https because
that is what everyone expects by default.
2025-03-12 10:31:17 +08:00
Moonchild 28524bf6b5 No issue - Update Twemoji font to unicode 15.1.3 2025-03-07 21:49:52 +08:00
Moonchild 43a2299480 Disable potentially unsafe attempts at recovering JIT operations. 2025-03-07 21:49:32 +08:00
Moonchild afefd0731b No Issue - NULL crash fix in nsExternalResourceMap::PendingLoad::OnDataAvailable
Curiously, we should have had this at our fork point (as it was backported
by Mozilla to 52.5.2) by apparently Tobin's import wasn't actually 52.6.0.
:-/
2025-03-07 21:44:02 +08:00
Shadow 37dcef684a PR #2695 - Simplify block-value popping in Ion compilation 2025-03-07 21:43:39 +08:00
Moonchild cc8e336172 [layout] Always reserve 64 bits for frame property value
This ensures frame property values can always be stored even in edge cases
on 32-bit machines (where a void ptr is half the width).
2025-02-19 07:10:18 +08:00
Moonchild 25570dc572 Issue #2694 - Improve nested grid layout performance by caching.
This improves performance by caching the grid items' block axis
measurement, avoiding potentially exponential calculations and reflows.
Resolves #2694
2025-02-19 00:34:42 +08:00