Compare commits

..
3128 Commits
Author SHA1 Message Date
Moonchild 4d5b1cc5d8 Merge branch 'nss-3.125-port' 2026-07-28 10:50:50 +02:00
Moonchild 0e521f6302 Bump NSS (UXP) patch level. 2026-07-28 10:10:27 +02:00
Moonchild 9cacfcff57 Merge remote-tracking branch 'dbsoft/flex-button-fix2' 2026-07-28 10:08:00 +02:00
John Schanck 21ad7adc90 Bug 2043887 - guard against integer overflow in CERT_Hexify. 2026-07-28 10:03:44 +02:00
Benjamin Beurdouche 9a29430751 Bug 2027353 - clamp input.len to testString size in pk11_mergeSecretKey. 2026-07-28 09:59:51 +02:00
Benjamin Beurdouche 481d4868b0 Bug 2029433 - Bounds-check wrap index in PK11_GetWrapKey to match PK11_SetWrapKey. 2026-07-28 09:57:10 +02:00
Anna Weine d148c11717 Bug 2028954 - CERT_DecodeAVAValue — Integer Overflow in Output Buffer Sizing. 2026-07-28 09:53:26 +02:00
Moonchild bc322e58f8 Bug 2027364 - Set tail pointer to null in static slot lists when deallocating. 2026-07-28 09:22:56 +02:00
John Schanck e48a6f26a5 Bug 2032110 - fix two integer overflows on LLP64 systems. 2026-07-27 23:58:14 +02:00
John Schanck d85edd01df Bug 2030102 - avoid leaving a dangling ss->sec.ci.sid on allocation failure. 2026-07-27 23:49:55 +02:00
Maurice Dauer 296379d751 Bug 2027325 - Reject empty nickname in PK11_TraverseCertsForNicknameInSlot. 2026-07-27 23:46:32 +02:00
Moonchild 7ba9fc2801 Bug 2030563 - Validate CKA_CERTIFICATE_TYPE ulValueLen in nss_cert_type_from_ck_attrib. 2026-07-27 23:22:58 +02:00
Brian Smith a9ac8b390f Issue #3153 - Make sure buttons report a definite size for flex containers.
Second try, this time ONLY do it for flex container or grids.
This should prevent layout problems in non-flex scenarios.
2026-07-27 12:36:24 -05:00
Benjamin Beurdouche 71c0f8246c Bug 2029807 - Guard padding read against empty output in SEC_PKCS7DecryptContents. 2026-07-27 19:12:42 +02:00
Benjamin Beurdouche 6cda35442f Bug 2027346 - validate encoded EC params length and tag in SECKEY_ECParamsToKeySize/BasePointOrderLen. 2026-07-27 19:05:33 +02:00
Benjamin Beurdouche 1dba423327 Bug 2027371 - rewrite labelLen bound in tls13_HkdfExpandLabelGeneral to avoid unsigned overflow. 2026-07-27 18:56:08 +02:00
Benjamin Beurdouche e2af0b28bf Bug 2027373 - guard space subtraction in ssl_CallCustomExtensionSenders. 2026-07-27 18:51:32 +02:00
Benjamin Beurdouche 5ea9b7b80a Bug 2029901 - Guard against keySize overflow in IKE PRF/PRF+ output sizing. 2026-07-27 18:44:55 +02:00
Benjamin Beurdouche b799e100ad Bug 2027362 - bound usageCount in PK11_UnwrapPrivKey to keyTemplate capacity. 2026-07-27 18:39:10 +02:00
Benjamin Beurdouche 1c500a6abb Bug 2027349 - reject empty nickname in PK11_TraverseCertsForNicknameInSlot. 2026-07-27 18:27:47 +02:00
Moonchild b909fccc92 Revert "Issue #3153 - Make sure buttons report a definite size for flex containers."
This reverts commit 3e223cbfb4.
2026-07-27 17:59:43 +02:00
Moonchild abddee43b4 Merge remote-tracking branch 'dbsoft/flex-button-fix' 2026-07-27 14:41:27 +02:00
Moonchild 49d184e550 [network] Fix CacheEntry::mDoomCallback data race. 2026-07-27 14:32:51 +02:00
Brian Smith 3e223cbfb4 Issue #3153 - Make sure buttons report a definite size for flex containers. 2026-07-27 05:38:09 -05:00
Moonchild dd9099a7d3 [layout] Fix nsFrameSetFrame primary frame handling of replicated children. 2026-07-26 19:55:49 +02:00
Moonchild 31558a1521 Merge pull request 'Issue #3061 Follow-up: Remove network tickler prefs' (#3151) from Shadow/UXP-contrib:contrib into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3151
2026-07-26 15:45:08 +00:00
Shadow 0e683bf699 Issue #3061 Follow-up: Remove network tickler prefs 2026-07-26 15:39:39 +00:00
Moonchild 6459dec5bb [DOM media] Perform more thorough checks on video regions. 2026-07-26 15:04:18 +02:00
az 0e930fba3f Bug 2045742 2026-07-26 10:08:13 +02:00
Moonchild 3b683bbe59 Merge pull request 'Align aspect-ratio to spec' (#3150) from Basilisk-Dev/UXP-contrib:css-aspect-ratio into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3150
2026-07-26 07:06:00 +00:00
Basilisk-Dev 0042e54c38 Issue #2404 - Split aspect ratio enum types into a separate header to fix compilation issues 2026-07-25 12:24:15 -04:00
Andrew McCreight e75201f7d1 Bug 2049523 - Make ToJSValue for float consistent with double. 2026-07-25 17:04:14 +02:00
Moonchild 28c47723b2 Fix comment (nit) 2026-07-25 16:12:08 +02:00
Randell Jesup 3d872ff7b0 Bug 2029734: Flush before calling sctp_process_init() 2026-07-25 14:52:29 +02:00
Moonchild beb684c29e No issue - Use strnlen instead of strnlen_s.
Apparently, GCC doesn't like the _s variants.
2026-07-25 13:08:15 +02:00
Moonchild 775588b75d [image] Make sure the image was fully and cleanly decoded before finalizing its animation state as complete. 2026-07-25 10:01:55 +02:00
Basilisk-Dev 8a2a5d837c Issue #2404 - Fix aspect ratio sizing for grid items 2026-07-25 00:58:20 -04:00
Basilisk-Dev 8add755c81 Issue #2404 - Improvements to CSS aspect-ratio spec compliance 2026-07-25 00:57:58 -04:00
Moonchild 257c64567e [parser] Associate image elements with form only if the form and the intended parent are in the same tree. 2026-07-24 21:12:04 +02:00
Moonchild d0b61d4a68 No issue - CallUpdateWindow is [[nodiscard]], but we don't need to use
the result here.
2026-07-24 19:29:00 +02:00
Moonchild 3b5f50cc35 Merge pull request 'No Issue - Remove the half-life experiment in HTTP cache' (#3149) from Shadow/UXP-contrib:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3149
2026-07-24 14:32:21 +00:00
Moonchild 27c6a7f477 [DOM media] Stop accepting audio samples with too low sample rates.
This sets the floor to 8kHz audio, which is generally considered to be
the lowest acceptable "phone quality"/"walkie-talkie" audio rate.
Audio outside the range will refuse to decode after this commit and give
a console error.
This avoids a whole class of potential bugs.
2026-07-24 14:52:40 +02:00
Moonchild c65f84214e [layout] Add corner-case correctness check in DottedCornerFinder::FindBestOverlap. 2026-07-24 13:17:54 +02:00
Moonchild a317c65fd7 [network] Add usrsctp TSN gap check. 2026-07-24 12:58:20 +02:00
Shadow 0ec35ce534 No Issue - Remove the half-life experiment in HTTP cache
Reviewed-on: https://repo.palemoon.org/Shadow/UXP-contrib/pulls/1
2026-07-24 09:49:48 +00:00
Moonchild bf0c040722 [js] Clamp length of regexp captures array for dollar substitution. 2026-07-22 22:37:50 +02:00
Moonchild ebadd51401 [js] Initialize BaselineFrame return value slot in OnLeaveBaselineFrame. 2026-07-22 20:26:07 +02:00
Moonchild 5ed0bf8b44 [DOM] Make parser update form owner properly 2026-07-22 17:12:32 +02:00
Moonchild f877c1dba5 [gfx] Hold a strong ref during GetFontAt lookup. 2026-07-22 10:27:53 +02:00
Moonchild 4c14f8f89b [gfx] Add bounds checks and limit reverse scanning of ligature data. 2026-07-22 09:43:54 +02:00
Moonchild c119728965 Merge pull request 'Implement CSSStyleSheet replaceSync' (#3145) from Basilisk-Dev/UXP-contrib:replacesync into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3145
2026-07-22 06:02:21 +00:00
Moonchild fa55b9c2e8 [js] Guard against OOB string sizes in internal Printf 2026-07-22 01:39:03 +02:00
Basilisk-Dev 16aba76fc5 Issue #3144 - Implement CSSStyleSheet replaceSync 2026-07-21 04:23:19 -04:00
Moonchild 995def99cd No issue - Exclude some files from the preprocessor that don't have directives in them. 2026-07-19 15:57:10 +02:00
Moonchild 923e52789c Merge pull request 'Convert std::*<T>::value/::type to _v and _t suffixes.' (#3143) from 1803 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3143
2026-07-19 07:40:35 +00:00
Moonchild 22d945430b Issue #3061 - Remove network tickler.
Resolves #3061
2026-07-19 08:17:05 +02:00
Moonchild 65d7d93760 Issue #1803 - Convert std::*<T>::value/::type to _v and _t suffixes.
This excludes uses in third-party libs in our tree.
2026-07-15 11:20:06 +02:00
Moonchild dfd0ea4e8a Merge pull request 'implement URL.parse()' (#3141) from Basilisk-Dev/UXP-contrib:urlparse into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3141
2026-07-14 21:05:40 +00:00
Basilisk-Dev 12a49709cb Issue #3140 - implement URL.parse() 2026-07-14 16:07:45 -04:00
Moonchild 2a70c8a6f0 Merge pull request 'Implement CSS4 revert-layer keyword' (#3139) from Basilisk-Dev/UXP-contrib:revert-layer into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3139
2026-07-13 12:44:06 +00:00
Moonchild 1f639d78ca Merge pull request 'Allow Skia on Mac OS X 10.5 Leopard / big endian PPC' (#3138) from Jazzzny/UXP:skia-leopard-ppc into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3138
2026-07-13 12:43:15 +00:00
Basilisk-Dev 65e8245153 Issue #2829 - Regenerate devtools CSS database for revert-layer 2026-07-11 10:41:52 -04:00
Basilisk-Dev bce5dbad0b Issue #2829 - Use layer index naming for revert-layer metadata 2026-07-11 10:41:46 -04:00
Basilisk-Dev 0b25b5f8db Issue #2829 - Handle revert-layer variable fallbacks 2026-07-10 09:59:20 -04:00
Basilisk-Dev 7345874098 Issue #2829 - Implement CSS revert-layer cascade rollback 2026-07-10 09:59:14 -04:00
Basilisk-Dev edb82fd1c9 Issue #2829 - Support revert-layer in CSS-wide parsing 2026-07-10 09:59:03 -04:00
Jazzzny 35ebdcac66 Fix build issues in Skia code 2026-07-09 12:32:44 -04:00
Jazzzny a095661e86 Use Skia macros where appropriate 2026-07-08 13:43:07 -04:00
Jazzzny 205a0d66bb Add support for big endian in Skia 2026-07-08 04:38:00 -04:00
Jazzzny 54945a0808 Unblock Skia for big endian 2026-07-08 04:38:00 -04:00
Jazzzny 84c1eedac6 Fixes for Skia on 10.5 2026-07-08 04:38:00 -04:00
Moonchild ddf5d6256e Whitespace fix 2026-07-03 09:24:24 +02:00
Moonchild 0eae777fd0 Issue #3132 Follow-up: only include gtk2xtbin.h on GTK targets.
PR #3133 caused build breakage on non-gtk platforms by unconditionally
including the header (because the def defaults to true in configure)

This also reorganizes the configure script to add a check for
MOZ_WIDGET_GTK (hoisted up a little) so the new configure entry is
simply ignored on non-GTK targets.
2026-07-03 09:19:54 +02:00
Moonchild b2594a4ace Merge pull request 'Revert gtk file dialog change and set default to cancel' (#3137) from 3136 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3137
2026-06-30 13:54:19 +00:00
Moonchild ce61835a81 revert 8a2a9ead92
revert [gtk] Default the file dialog operation to cancelling the operation.

While this could be an annoying default for users expecting fast-track
dialog operations with hitting enter, it avoids potential social
engineering attacks and unintended file operations.
2026-06-30 13:53:18 +00:00
Moonchild 30e29845c4 Merge pull request 'Decouple NPAPI from GTK2' (#3133) from Basilisk-Dev/UXP-contrib:npapi-no-gtk2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3133
2026-06-30 13:51:11 +00:00
Basilisk-Dev d8662c5dd9 Issue #3132 - use ENABLE check for npapi gtk2 builds instead of a dedicated DISABLE check to match other config options 2026-06-30 09:15:45 -04:00
Moonchild 8a2a9ead92 [gtk] Default the file dialog operation to cancelling the operation.
While this could be an annoying default for users expecting fast-track
dialog operations with hitting enter, it avoids potential social
engineering attacks and unintended file operations.
2026-06-28 12:09:07 +02:00
Moonchild efdbd34b0b Revert "Bug 2033848 - Use non-default response ID for GTK file picker accept button. r=stransky"
This reverts commit 789e976ace.
2026-06-28 12:08:59 +02:00
Moonchild d2fa69f593 Merge pull request 'Import missing libpng files for loongarch and plug them into moz.build' (#3135) from Basilisk-Dev/UXP-contrib:png-loongarch-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3135
2026-06-27 07:25:51 +00:00
Basilisk-Dev 18d0a1a525 Issue #3134 - Import missing libpng files for loongarch and plug them into moz.build 2026-06-26 14:48:51 -04:00
Basilisk-Dev 0a5e50a9fe Issue #3132 - Resolve GTK3 ATK bridge dynamically 2026-06-26 13:49:15 -04:00
Basilisk-Dev 3f5b7ed020 Issue #3132 - Add GTK2 NPAPI build toggle 2026-06-26 13:09:49 -04:00
Moonchild 9d9802c660 Issue #3129 - Follow-up: Add aarch64 to platforms enabling Neon in libpng. 2026-06-26 16:58:21 +02:00
Moonchild 27c579652a Issue #3122 - Stop using <base> element in json viewer.
Resolves #3122
2026-06-23 21:09:02 +02:00
Moonchild 8ffa6b3c13 Issue #3129 - Add palette_neon_intrinsics.c to moz.build 2026-06-23 10:23:17 +02:00
Moonchild 83f6efc33d Issue #3122 - Put base paths in the json viewer client deps.
The dependency modules are requested early. Seems CSP can block baseURL
on these networking requests, so add the base manually to the resource
paths to prevent network requests before the html base element is
resolved and active.
2026-06-22 17:58:21 +02:00
Moonchild 47f1928610 Merge pull request 'Libpng update 1.6.58' (#3125) from libpng-update-1.6.58 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3125
2026-06-21 12:14:42 +00:00
Moonchild 7b3d961465 Bump NSS version for adopted changes. 2026-06-19 14:19:43 +02:00
Moonchild 22b2e18d91 [DOM] Clean up WebGL transform feedback validation. 2026-06-19 13:30:35 +02:00
John Schanck f6c9c0c59f Bug 2030564 - add defensive input validation to sftk_compute_ANSI_X9_63_kdf. 2026-06-19 12:56:26 +02:00
John Schanck d8c9d24a9c Bug 2030366 - avoid race with module unloading in NSSTrustDomain_FindTokensByURI. 2026-06-19 12:04:23 +02:00
John Schanck a466b73267 Bug 2029403 - avoid PORT_Strdup in ssl_DecodeResumptionToken. 2026-06-19 10:51:37 +02:00
Julian Descottes 1ce14fb014 [devtools] Consistently show filepicker on first save action from StyleEditor.
Bug 2038133
2026-06-19 10:45:33 +02:00
Moonchild 8bbf60fb38 Issue #3127 - Add trademark notice to the tree.
Resolves #3127
2026-06-19 08:37:27 +02:00
Moonchild f2d7c02290 Apply (hopefully for the last time before 2.0.x) APNG support code.
This commit also removes MOZCHANGES (old and irrelevant information)
This commit also adds a new readme.
2026-06-18 22:57:29 +02:00
Moonchild 65ddfc21b6 Fresh import of libpng 1.6.58 2026-06-18 21:50:35 +02:00
Moonchild 163619de60 [network] Make HttpBaseChannel::mLoadFlags atomic. 2026-06-18 20:32:03 +02:00
Moonchild 29c4d554a0 [gfx] Check more offsets during CFF subsetting.
Also fixes a bunch of whitespace (TAB -> spaces)
2026-06-18 19:35:49 +02:00
Moonchild 3e59569d0b [DOM] Avoid over-optimizing some getter/function calls. 2026-06-18 13:45:20 +02:00
Moonchild fb8483407b [parser] Better align with spec definition of adding nodes. 2026-06-18 13:32:16 +02:00
Moonchild ec8b7f86d0 No issue - Use ImmGCPtr for module meta data visits.
This should make module GCs less touchy.
2026-06-17 23:46:18 +02:00
Moonchild 9899d59010 [DOM media] Zero-initialize ThreadSharedFloatArrayBufferList. 2026-06-17 18:13:15 +02:00
Kui-Feng Lee 789e976ace Bug 2033848 - Use non-default response ID for GTK file picker accept button. r=stransky
Replace GTK_RESPONSE_ACCEPT (-3) with a non-negative application-defined
response ID (kFilePickerAccept = 0) for the accept button in the GTK file
chooser dialog, and remove the gtk_dialog_set_default_response() call.

GTK treats buttons with negative built-in response IDs as candidates for
the dialog's default widget, which activates on Enter key press. By using
a non-negative ID and not calling set_default_response(), the accept button
is no longer pre-selected, preventing a page from tricking the user into
confirming a file upload by holding Enter before the dialog appears.

GTK's file chooser internally emits GTK_RESPONSE_ACCEPT via file_activated_cb
when the user double-clicks a file, so we keep that case in DoneNonPortal()
alongside kFilePickerAccept.
2026-06-17 12:47:03 +02:00
John Schanck d5bf2555a3 Bug 2023478 - improve handling of escape sequences in pk11uri_ParseAttributes. 2026-06-17 12:17:06 +02:00
Moonchild be672813f6 [DOM] Reject too large mLength in MutableBlobStorage::WriteRunnable. 2026-06-16 20:06:25 +02:00
John Schanck 746a7be08c Bug 2030570 - use correct data for ID comparison in transfer_uri_certs_to_collection. 2026-06-16 19:54:44 +02:00
Moonchild c222ee80fa [network] Make keep-alive pref Atomic. 2026-06-16 19:50:55 +02:00
John Schanck 4950bd038d Bug 2029765 - avoid refcount over-release in nssTokenObjectCache error path [@ nssToken_Destroy]. 2026-06-16 18:52:25 +02:00
Nicolas B. Pierron 058336a071 Bug 2029066 - Remove Sinking of Live instructions.
Instruction sinking was made possible by the introduction of recover
instructions, which are moving instructions to be executed on bailout, but this
is only possible for instructions which are not used.

This feature, which is now removed, was made to sink instructions which are
live, but only in a small set of branches, by moving the computation of these
instructions to bailout paths, and to the concerned if branches.

The current implementation never delivered and remained as dead-code for
multiple years, without having a firm benefit on performance oriented
benchmarks.

Thus, this change removes the part of the Sink optimization which deals with
live instructions but keeps the part of the Sink optimization which deals with
instructions which are only used on bailout paths.
2026-06-16 13:37:21 +02:00
John Schanck 6823388a85 Bug 2029803 - add defensive info->len check in PK11_HPKE_SetupS and PK11_HPKE_SetupR. 2026-06-16 09:27:28 +02:00
Moonchild b68d097eb6 Issue #3122 - Exclude local resources from <base> CSP checks.
This avoids local-resource <base> URLs being restricted/nullified by
remote CSP. This aligns the CSP handling with direct requests.

Resolves #3122
2026-06-14 10:08:17 +02:00
Moonchild c97a22776d Merge pull request 'Re-introduce pref for WeakRef API spec.' (#3117) from weakref-finreg-pref into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3117
2026-06-12 15:46:16 +00:00
Moonchild c484dbcca5 Issue #888 - Follow-up: Update about:license with AV1 codec licensing.
LibAOM was actually omitted before (oops); added both.
2026-06-11 20:07:10 +02:00
Moonchild 54f15d7afe Issue #3111 - Clean up logic in SweepFinalizationRegistries.
Resolves #3111
2026-06-09 18:06:00 +02:00
Moonchild 05441188be Issue #2306 - Enable full weakref by default in platform. 2026-06-07 23:54:52 +02:00
Moonchild 25a2d31be7 Issue #2306 - Re-introduce pref for WeakRef API spec.
Effectively avoids doing any GC work if preffed off, and adopts the same
for FinalizationRegistry which internally does similar work as WeakRefs.
2026-06-07 21:36:39 +02:00
Moonchild 58a4e0d545 [DOM] Provide more silent audio processing frames. 2026-06-05 12:29:30 +02:00
Moonchild ad06b4ce5e Revert "Bug 2027433 Treat null input channels as zero in InterleaveAndConvertBuffer()"
This reverts commit e76fc5637a.
2026-06-05 11:28:55 +02:00
Moonchild be3827b088 Revert "Bug 2027433 Treat null input channels as zero in AudioChannelsDownMix()"
This reverts commit ddd016a6f8.
2026-06-05 11:28:42 +02:00
Moonchild a136aaf502 Revert "Bug 2027433 use nullptr for silent up-mix channels"
This reverts commit 5309640d6c.
2026-06-05 11:28:35 +02:00
Moonchild 40d91a8eae Merge pull request 'Always Uppercase Eszett' (#3114) from RealityRipple/UXP:capital-eszett into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3114
2026-06-04 08:15:36 +00:00
Moonchild 5b81a81ac4 Merge pull request 'Fix LoongArch64 debug build assertions' (#3115) from Basilisk-Dev/UXP-contrib:loongarch-asserts into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3115
2026-06-04 04:08:45 +00:00
Basilisk-Dev 328ddb2927 Issue #3095 followup - Fix LoongArch64 debug build assertions 2026-06-03 18:13:31 -04:00
Andy 06b9622302 Issue #2964 - Part 3: JS Override for ToUpperCase 2026-06-02 15:25:47 -07:00
Andy 1218649202 Issue #2964 - Part 2b: Improve ToUpperCaseLength
Adds a method to force 16-bit characters, regardless of the type of the `chars` argument.
2026-06-02 15:21:44 -07:00
Andy cbea8f5a53 Issue #2964 - Part 2a: Correctly Detect End of Buffer in ToUpperCaseImpl
This code made two assumptions:
- That the `SrcChar` type should determine the output type, as used in `CanUpperCaseSpecialCasing`.
- That `AppendUpperCaseSpecialCasing` would always return a value larger than the previous value.

The new code uses `DestChar`'s type for `CanUpperCaseSpecialCasing` and for a more accurate End of Buffer check.
2026-06-02 15:21:26 -07:00
Andy f42e644486 Issue #2964 - Part 1: CSS Override for uppercase and capitalize 2026-06-02 15:20:45 -07:00
Moonchild a40490b946 Merge pull request 'Fix a build failure for WebRTC on Python 3.14 on MacOS' (#3113) from Basilisk-Dev/UXP-contrib:webrtc-fix-mac into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3113
2026-06-01 09:09:29 +00:00
Basilisk-Dev ad98693f3d Issue #3105 followup - Fix a build failure for WebRTC on Python 3.14 2026-05-31 09:54:46 -04:00
Moonchild 7b4aaca975 Merge pull request 'Clamp border-radius value to Int32.MaxValue' (#3112) from border-radius-clamp into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3112
2026-05-30 08:42:57 +00:00
Moonchild 400e59a96d Issue #3109 - Use CSS' internal length clamp value instead. 2026-05-29 23:53:22 +02:00
Moonchild 09276b72a6 Issue #3109 - Clamp border-radius value to Int32.MaxValue
This avoids artifacts from out-of-bounds values.
Resolves #3109
2026-05-29 22:53:43 +02:00
Moonchild ec18304362 Merge pull request 'Cleanup references to IA64/HP-UX' (#3106) from Basilisk-Dev/UXP-contrib:ia64-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3106
2026-05-27 10:46:31 +00:00
Moonchild 4cf411f393 Merge pull request 'Remove gonk/Android/iOS/NACL code in WebRTC' (#3105) from Basilisk-Dev/UXP-contrib:webrtc-cleanup-mobile into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3105
2026-05-27 10:45:37 +00:00
Moonchild a0f135b94f NSS version update 2026-05-26 14:16:25 +02:00
Moonchild 3be679effc [DOM] Stop speech synthesis if the originating document is closed. 2026-05-25 20:32:10 +02:00
Moonchild 2d91c80555 [media] ffvpx patch: Fix leak in flac decoder in case of alloc failure. 2026-05-25 19:10:46 +02:00
Moonchild e5326c1d74 [DOM] Hold a strong ref to VoiceData in nsSynthVoiceRegistry::RemoveVoice. 2026-05-25 18:56:57 +02:00
Jens Stutte 5ddccdc7f6 Bug 1784128 - Assert count passed to PR_Read/PR_Write in nsFileStreamBase fits INT32_MAX. 2026-05-25 15:44:51 +02:00
Moonchild 8dc41b293a [gfx/layout] Simplify textruns
Cache overflow textruns in a better place and stop using a lazy class.
This avoids doing caching in the rendering back-end, and does so where
necessary in TextOverflow (for ellipses)
2026-05-25 14:59:51 +02:00
Moonchild f02956a324 No issue - Remove ISO-2022-JP from menu, overridability and detector.
Removed autodetection of this charset due to unreliability.
There are known security issues around charset auto-detection for ISO-2022-JP.
Given the usage is around 0.000002% of page loads, and Safari does not
support auto-detection of ISO-2022-JP, Chrome also planned to remove
support for it to eliminate the security issues.

See also https://www.sonarsource.com/blog/encoding-differentials-why-charset-matters/

Removal from the menu to avoid social engineering hazards and it being
literally unused on the web.
2026-05-25 13:08:29 +02:00
Moonchild e3646af419 [libvorbis] Allocate memory with _ogg_malloc
See https://gitlab.xiph.org/xiph/vorbis/-/commit/28965ede851bb9c1ce5cc0ed733fdf4ebd3d4241 and related commits.
2026-05-25 11:44:16 +02:00
Moonchild ee1f2e31a1 [layout] Hide accessible carets when needed. 2026-05-25 11:23:05 +02:00
Moonchild dcb90d6f92 [DOM] Check values in audio resampling. 2026-05-25 10:57:18 +02:00
John Schanck f9cdc54e09 Bug 2029818 - avoid refcount over-release in CERT_CertChainFromCert error path. 2026-05-25 10:22:44 +02:00
Moonchild 28be7ae6e0 [NSS] Fix use of uninitialized length after failed PK11_SignWithMechanism/SymKey. 2026-05-25 07:27:51 +02:00
Moonchild 463e7ec3c6 Force Clobber 2026-05-25 06:44:48 +02:00
John Schanck 531eeaabaa [NSS] Fix maxSize calculation in NSSUTIL_AddNSSFlagToModuleSpec. 2026-05-25 06:43:53 +02:00
Moonchild af92afbd6c Merge pull request 'Revert all Issue #3092 Commits' (#3107) from Basilisk-Dev/UXP-contrib:revert-3092 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3107
2026-05-25 04:05:41 +00:00
John Schanck 5005a47921 Bug 2027381 - improve error handling in SECITEM_DupArray with non-null arena. 2026-05-24 22:30:38 +02:00
Basilisk-Dev 72d4ca2b35 Clean up Issue #3092 revert whitespace 2026-05-24 16:19:36 -04:00
Basilisk-Dev b8951dbc2a Revert "Issue #3092 - Fix unsafe GC multithreading changes"
This reverts commit 2ca5d21147.

The mechanical inverse patch would restore earlier Issue #3092 parallel GC code that has already been removed by the preceding revert commits, so this records the revert without changing the tree.
2026-05-24 16:18:45 -04:00
Basilisk-Dev 20c92e63c5 Revert "Issue #3092 - Safely parallelize GC background finalization"
This reverts commit 3cf7c94995.
2026-05-24 16:13:21 -04:00
Moonchild ea785c3bb0 [netwerk] Make socket transport hold a reference to TLSServerConnectionInfo. 2026-05-24 21:48:55 +02:00
Randell Jesup 7abc11b3d1 Bug 2036905: Fix UDPSocketParent::ConnectInternal data race on mSocket. 2026-05-24 21:22:57 +02:00
Moonchild 2a4c4687c6 [netwerk] Make nsSocketTransport2::mConnectionFlags atomic. 2026-05-24 21:10:00 +02:00
Basilisk-Dev de3970d9b4 Revert "Issue #3092 - Refactor WASM compilation handling"
This reverts commit 1c09cd7816.
2026-05-24 14:58:21 -04:00
Basilisk-Dev 4da8c1fe4c Revert "Issue #3092 - Add new GC sweep tasks."
This reverts commit 8b6414ea7c.
2026-05-24 14:57:38 -04:00
Basilisk-Dev 8230f9b359 Revert "Issue #3092 - Implement BackgroundFinalizeTask for parallel garbage collection finalization"
This reverts commit 8ca5438db9.
2026-05-24 14:57:38 -04:00
Basilisk-Dev 310fec9ad5 Revert "Issue #3092 - Implement parallel sweeping and compaction tasks"
This reverts commit f33ccb5ce3.
2026-05-24 14:55:47 -04:00
Basilisk-Dev 5f2040153b Revert "Issue #3092 - Initial idle GC implementation"
This reverts commit fba218cff4.
2026-05-24 14:54:58 -04:00
Basilisk-Dev 30a774eb08 Revert "Issue #3092 - Perform a minor GC on tab close"
This reverts commit 266cc371f7.
2026-05-24 14:53:56 -04:00
Moonchild e8ee09b41f Merge pull request 'Implement CSSStyleSheet constructor' (#3103) from Basilisk-Dev/UXP-contrib:cssstylesheet-updates into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3103
2026-05-24 18:36:53 +00:00
Moonchild 5fc626f0fc [netwerk] nsRequestObserverProxy ref cleanup. 2026-05-24 19:40:23 +02:00
John Schanck c87c0e440b Bug 2029782 - fix 8-byte over-read of AES-192 key buffer in x86 builds without USE_HW_AES. 2026-05-24 15:10:06 +02:00
John Schanck 39b34ed8c5 Bug 2029771 - Heap use-after-free in [@ token_destructor] reading tok->pk11slot after nssToken_Destroy frees the token arena. 2026-05-24 15:07:24 +02:00
John Schanck e6b4a84e7e [NSS] Avoid integer overflow when converting AVA value to hex string. 2026-05-24 15:03:12 +02:00
John Schanck f7dfc278c4 [NSS] Enforce minimum buffer length in sftk_CheckCBCPadding. 2026-05-24 14:58:53 +02:00
Dana Keeler 13349f484c [NSS] VerifyCodeSigningCertificateChain: require at least one certificate. 2026-05-24 14:40:56 +02:00
Moonchild bd2670e006 [NSS] Initialize src in SEC_PKCS5GetIV 2026-05-24 14:37:06 +02:00
Dana Keeler e5bebae2c7 [NSS] NSS_CMSContentInfo_SetContent: only modify cinfo if everything succeeds. 2026-05-24 12:03:33 +02:00
Dennis Jackson d93df7216d [NSS] Align PKCS7 digest array with digestAlgorithms. 2026-05-24 11:50:38 +02:00
Moonchild 3d0a6899ce [libjar] Check Jar entry names for nulls. 2026-05-24 10:51:21 +02:00
John Schanck fdde68855b [NSS] Handle SEC_ASN1_NULL in sec_asn1e_contents_length. 2026-05-24 10:16:24 +02:00
Moonchild 2d038e6c1a [NSS] Fix instances of softoken attributes freed after owning object. 2026-05-24 10:09:28 +02:00
Moonchild c10f8a567b Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2026-05-24 09:10:39 +02:00
Moonchild dcfa35e1ff Merge pull request 'Restore libAOM to the tree and making it a build-time configuration.' (#3104) from 888-32-bit-work2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3104
2026-05-24 07:09:19 +00:00
Iain Ireland de1a7f5fe1 [js] Use size_t when inflating UTF8 2026-05-24 09:08:03 +02:00
Basilisk-Dev 2b0935adf4 Issue #3007 - Remove HP-UX LDAP compatibility code 2026-05-23 17:08:16 -04:00
Basilisk-Dev cbdc5fa85f Issue #3007 - Remove HP-UX launcher setup 2026-05-23 17:06:16 -04:00
Basilisk-Dev 2a06c40a09 Issue #3007 - Remove IA64 runtime support paths 2026-05-23 17:04:19 -04:00
Basilisk-Dev f499e3dd36 Issue #3007 - Remove IA64 from build configuration 2026-05-23 17:04:18 -04:00
Basilisk-Dev 34d88ac937 Issue #3053 - Implement CSSStyleSheet constructor 2026-05-23 16:45:54 -04:00
Basilisk-Dev 48d21fa2bf Issue #3008 - Prefer Windows memory barrier in WebRTC FIFO 2026-05-23 16:31:36 -04:00
Basilisk-Dev c91c69272b Issue #3008 - Remove stale B2G WebRTC camera comment 2026-05-23 16:25:35 -04:00
Basilisk-Dev 91f4fa744e Issue #3008 - Remove mobile leftovers from DOM WebRTC 2026-05-23 16:25:35 -04:00
Basilisk-Dev c2abd4aaa6 Issue #3008 - Remove stale Android WebView GYP guards 2026-05-23 16:25:34 -04:00
Basilisk-Dev 617ad84f96 Issue #3008 - Keep WebRTC audio FIFO after OpenSL removal 2026-05-23 16:25:33 -04:00
Basilisk-Dev 33b6bfa1b9 Issue #3008 - Fix GYP defaults after mobile cleanup 2026-05-23 16:25:33 -04:00
Basilisk-Dev 4e03afd191 Issue #3008 - Remove remaining mobile WebRTC build references 2026-05-23 16:25:32 -04:00
Basilisk-Dev 3512b73bc3 Issue #3008 - Remove stale iOS comments from WebRTC 2026-05-23 16:25:31 -04:00
Basilisk-Dev d0ac45cb08 Issue #3008 - Remove iOS support from bundled GYP generators 2026-05-23 16:25:31 -04:00
Basilisk-Dev ab3d950bd3 Issue #3008 - Remove mobile and NaCl defaults from WebRTC common gyp 2026-05-23 16:25:30 -04:00
Basilisk-Dev 44ddd79356 Issue #3008 - Remove stale iOS labels from WebRTC assembly 2026-05-23 16:25:29 -04:00
Basilisk-Dev 054ddf661f Issue #3008 - Remove stale mobile notes from WebRTC metadata 2026-05-23 16:25:29 -04:00
Basilisk-Dev da466a3bdd Issue #3008 - Remove stale mobile references from WebRTC headers 2026-05-23 16:25:28 -04:00
Basilisk-Dev 42f0c2d78f Issue #3008 - Remove mobile support from bundled WebRTC tools 2026-05-23 16:25:27 -04:00
Basilisk-Dev 5853784a31 Issue #3008 - Remove stale WebRTC mobile build metadata 2026-05-23 16:25:27 -04:00
Basilisk-Dev 5b20295620 Issue #3008 - Remove mobile guards from WebRTC voice tests 2026-05-23 16:25:26 -04:00
Basilisk-Dev 68e151c2a3 Issue #3008 - Remove mobile guards from WebRTC audio device tests 2026-05-23 16:25:25 -04:00
Basilisk-Dev dd764a70a2 Issue #3008 - Remove mobile guards from WebRTC module tests 2026-05-23 16:25:24 -04:00
Basilisk-Dev 12defe0d12 Issue #3008 - Remove mobile guards from WebRTC audio tests 2026-05-23 16:25:24 -04:00
Basilisk-Dev 8868dd5785 Issue #3008 - Remove mobile guards from WebRTC tests 2026-05-23 16:25:23 -04:00
Basilisk-Dev e787d585a4 Issue #3008 - Remove stale WebRTC mobile metadata 2026-05-23 16:25:22 -04:00
Basilisk-Dev 5eb7518ce2 Issue #3008 - Remove mobile WebRTC runtime conditionals 2026-05-23 16:25:21 -04:00
Basilisk-Dev 5be93da111 Issue #3008 - Remove obsolete mobile WebRTC source trees 2026-05-23 16:25:21 -04:00
Moonchild 39a89b708e Issue #888 - Fix makefile configure syntax for x86 check.
Not sure what language I was thinking but it was the wrong one. :P
2026-05-23 14:02:04 +02:00
Moonchild 69ad4f1674 Fix line endings in WebmDemuxer.cpp
No code changes.
2026-05-23 13:42:03 +02:00
Moonchild 59ae55a0e2 Issue #888 - Back out changes to the Dav1d lib. 2026-05-23 12:46:23 +02:00
Moonchild 6eb551332e Issue #888 - Hook libAOM back up, and make it configurable at build time.
Since the Dav1d changes will be reverted in the next commit, this also
includes a test for 32-bit x86 targets which makes libAOM mandatory.
2026-05-23 12:44:12 +02:00
Moonchild 96be1bb7a0 Revert "Issue #888 - Remove bundled libaom"
This reverts commit eb487c2ca1.
2026-05-23 10:26:43 +02:00
Moonchild 4dc3b6db93 Merge pull request 'Follow up on Dav1d implementation for 32-bit targets' (#3100) from 888-32bit into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3100
2026-05-23 07:37:32 +00:00
Moonchild a1da555b51 Issue #888 - Follow-up: Put smooth_weights_{1|2}d_16bpc back in ipred16 sources.
This reverts commit 16212905de and places
the SMOOTH_WEIGHTS in the SSE source instead, since that is always included.
2026-05-22 12:15:20 +02:00
Moonchild c1abc2eb3e Merge pull request 'ffvpx: Configuration for NetBSD/powerpc' (#3101) from nia/UXP:ffvpx-ppc into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3101
2026-05-22 08:14:01 +00:00
nia f0acda0bf4 ffvpx: Configuration for NetBSD/powerpc
Signed-off-by: Nia Alarie <nia@NetBSD.org>
2026-05-21 17:10:41 +02:00
Moonchild 16212905de Issue #888 - Follow-up: Lift smooth_weights_{1|2}d_16bpc out of AVX source.
This lifts the 2 functions out of the AVX-specific source (since it's
also used in the SSE one as external) and places it in the common x86
include.

This is an upstream code placement error; should be reported upstream.
2026-05-21 13:38:47 +02:00
Moonchild 2eb5e91b62 Issue #888 - Follow-up: don't assemble AVX into Dav1d on 32-bit x86 2026-05-21 13:34:47 +02:00
Moonchild fa6b67c8ac Re-land: Fix devtools on 32-bit big endian platforms
Tag PR #3098
2026-05-21 09:42:07 +02:00
Moonchild 6a117bd9d1 Revert "Fix dev tools on 32-bit big endian platforms"
This reverts commit f363ec1838.
2026-05-20 16:18:09 +02:00
Moonchild 714c709ad0 Merge pull request 'Add NetBSD to list of platforms where mapfile gets generated' (#3099) from nia/UXP:mapfile into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3099
2026-05-20 10:47:37 +00:00
Moonchild eafc230ff2 Merge pull request 'A collection of random fixes I've been accumulating.' (#3097) from dbsoft/UXP:miscfixes4 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3097
2026-05-20 10:46:57 +00:00
Moonchild 523a9aa2de Merge pull request 'Split loongarch jit so it no longer uses any mips files' (#3096) from Basilisk-Dev/UXP-contrib:loongarch-fix-jit into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3096
2026-05-20 10:46:19 +00:00
Moonchild ec92c29029 Merge pull request 'Fix dev tools on 32-bit big endian platforms' (#3098) from nia/UXP:devtools-lp32 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3098
2026-05-20 10:45:41 +00:00
nia 4a9d702bc1 Add NetBSD to list of platforms where mapfile gets generated
Signed-off-by: Nia Alarie <nia@NetBSD.org>
2026-05-20 10:26:38 +02:00
nia f363ec1838 Fix dev tools on 32-bit big endian platforms
This resolves a crash when pressing F12.

The __LP64__ macro is relied upon elsewhere in UXP so I think
this change should be safe.

Signed-off-by: Nia Alarie <nia@NetBSD.org>
2026-05-20 10:05:48 +02:00
Basilisk-Dev ffb3a95eb9 Issue #3095 - split loongarch jit so it no longer uses any mips files 2026-05-19 15:43:21 -04:00
Moonchild 63094adef4 Merge pull request 'Fix build on NetBSD/aarch64' (#3094) from nia/UXP:netbsd-aarch64 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3094
2026-05-19 15:50:04 +00:00
nia 1f8dcf74c8 Fix build on NetBSD/aarch64
Signed-off-by: Nia Alarie <nia@NetBSD.org>
2026-05-19 09:28:23 +02:00
Moonchild f20c549f66 Issue #888 - Follow-up: Spot-fix; set PREFIX in Dav1d config on Apple. 2026-05-19 09:02:10 +02:00
Brian Smith b62cccda62 Issue #1829 - Follow-up: Fix package name check for 32-bit Intel. 2026-05-18 08:51:11 -05:00
Brian Smith 43f3b3c7ee Issue #1829 - Follow-up: Fix version check for CoreLocation on 10.5 and earlier. 2026-05-18 08:51:11 -05:00
Brian Smith a328464912 Issue #1829 - Follow-up: Remove obsolete font code from Cairo.
This code only gets built on 32-bit MacOS, and it isn't used.
This allows Intel 32-bit MacOS builds to succeed.
2026-05-18 08:51:11 -05:00
Brian Smith 977ddd9e81 No Issue - Fix font crash on MacOS 10.7-10.11 using fonts with variations.
Switch to MacOS version guard's instead of PowerPC guards, for Intel support.
Remove inactive debug code.
2026-05-18 08:51:11 -05:00
Brian Smith 67717762f9 Issue #2051 - Follow-up: Fix CSS image masks on PowerPC Mac.
When I brought back CoreGraphics backend I brought back a fix for this.
However the fix was designed for Intel which uses Skia as a backend.
Our Skia does not support big endian, so change it to use Cairo backend.
2026-05-18 08:51:11 -05:00
Brian Smith a33f6857fd Issue #2354 - Follow-up: Fix building WebRTC on 32-bit ARM without hardware float. 2026-05-18 08:51:11 -05:00
Brian Smith 5c7c192df1 No Issue - Fix cubeb compilation targeting MacOS 10.5 from newer versions.
Remove obsolete iOS checks.
2026-05-18 08:51:11 -05:00
Basilisk-Dev 0186e78221 Fix WeakRef constructor realm prototype 2026-05-18 13:05:28 +02:00
Basilisk-Dev e9e858348b Fix FinalizationRegistry constructor realm prototype 2026-05-18 13:05:21 +02:00
Basilisk-Dev 631bb15b05 Implement FinalizationRegistry 2026-05-18 13:05:15 +02:00
Basilisk-Dev e7d6301c75 Make WeakRef support always enabled 2026-05-18 12:52:09 +02:00
Moonchild 22001fbca3 Fix incorrect variadic for size_t in fprintf statement in hyphen.c. 2026-05-18 12:41:20 +02:00
Basilisk-Dev 22e3028d56 Fix ArrayBuffer storage and error types 2026-05-18 12:31:46 +02:00
Basilisk-Dev 9498ce3f1e Fix ArrayBuffer slice after resizable source shrink 2026-05-18 12:31:40 +02:00
Basilisk-Dev 172c7b6f25 Validate typed array set and constructors on resizable buffers 2026-05-18 12:31:35 +02:00
Basilisk-Dev 750ef67831 Validate typed array methods on resizable buffers 2026-05-18 12:31:29 +02:00
Basilisk-Dev c19a39c4a5 Fix resizable DataView out-of-bounds semantics 2026-05-18 12:31:24 +02:00
Basilisk-Dev d6bfeeaf1a Support BigInt Atomics waiters 2026-05-18 12:31:17 +02:00
Basilisk-Dev e7ea20c073 Support DataView on shared array buffers 2026-05-18 12:31:11 +02:00
Basilisk-Dev a7e01b3f77 Guard typed array JIT paths for resizable buffers 2026-05-18 12:31:06 +02:00
Basilisk-Dev c3a541c55a Implement resizable buffer view semantics 2026-05-18 12:30:59 +02:00
Basilisk-Dev 41efdfd488 Implement Atomics.waitAsync 2026-05-18 12:30:52 +02:00
Basilisk-Dev 7d41d2a47c Implement growable SharedArrayBuffer 2026-05-18 12:30:46 +02:00
Basilisk-Dev ec951c592a Allow symbols as weak collection keys 2026-05-18 12:30:39 +02:00
Basilisk-Dev 829fd431e2 Implement ES2024 ArrayBuffer transfer APIs 2026-05-18 12:30:33 +02:00
Basilisk-Dev 9b7d25d1fd Implement ES2024 grouping and resolver builtins 2026-05-18 12:30:28 +02:00
Basilisk-Dev 1ab3e82a4d Fix JS shell module hook build 2026-05-18 12:30:22 +02:00
Moonchild b07102b821 Merge pull request 'Paralellize GC and implement GC-on-Idle' (#3093) from 3092 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3093
2026-05-18 10:28:10 +00:00
Moonchild 3adf3917ee Merge pull request 'Port various code changes from eUXP that should have been upstreamed' (#3091) from eUXP_ports2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3091
2026-05-18 10:27:54 +00:00
Moonchild bbaf41e032 Merge pull request 'Truncate fractional border calculations to integers with special handling' (#3090) from 3088 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3090
2026-05-18 10:26:16 +00:00
Moonchild 618c017249 Merge pull request 'Replace libAOM reference AV1 implementation with Dav1d' (#3087) from dav1d-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3087
2026-05-18 10:25:52 +00:00
Basilisk-Dev 3cf7c94995 Issue #3092 - Safely parallelize GC background finalization
Parallelize background finalization across zones within each finalize
phase while preserving phase ordering and falling back to serial work
when no helper thread is idle.

Make compacting GC pointer updates schedule background work per zone and
only when enough background-safe arenas exist.
2026-05-18 12:18:05 +02:00
Basilisk-Dev 2ca5d21147 Issue #3092 - Fix unsafe GC multithreading changes 2026-05-18 12:17:18 +02:00
ownedbywuigi 266cc371f7 Issue #3092 - Perform a minor GC on tab close 2026-05-18 12:16:56 +02:00
ownedbywuigi fba218cff4 Issue #3092 - Initial idle GC implementation 2026-05-18 12:15:55 +02:00
ownedbywuigi f33ccb5ce3 Issue #3092 - Implement parallel sweeping and compaction tasks
for improved garbage collection performance
2026-05-18 12:15:34 +02:00
ownedbywuigi 8ca5438db9 Issue #3092 - Implement BackgroundFinalizeTask for parallel garbage collection finalization 2026-05-18 12:15:09 +02:00
ownedbywuigi 8b6414ea7c Issue #3092 - Add new GC sweep tasks.
For saved stacks, self-hosting scripts, and native iterators.
2026-05-18 12:14:30 +02:00
ownedbywuigi 1c09cd7816 Issue #3092 - Refactor WASM compilation handling 2026-05-18 12:13:18 +02:00
wuggy 07b47c8472 Whitelist virtual GPUs (VirtualBox, VMware, VirtIO (QEMU and forks like UTM), Parallels) 2026-05-18 09:48:35 +02:00
Basilisk-Dev 950a608e01 Support CSS shadow parts 2026-05-17 09:57:14 +02:00
Basilisk-Dev c7f08c7e53 Issue #2506 - Support range media query syntax
Resolves #2506
2026-05-17 09:55:27 +02:00
Basilisk-Dev 4f3857c1ea Issue #1826 - Parse calc() weights in color-mix 2026-05-17 09:53:56 +02:00
Basilisk-Dev 60b4b1ad47 Issue #3089 - Support logical border radius properties
Resolves #3089
2026-05-17 09:53:05 +02:00
Basilisk-Dev 8262184873 Revert "Cloudflare Image Resizing fix take 2"
This reverts commit ef19ad3ffd.

No longer necessary with aspect-ratio in place.
2026-05-17 09:46:52 +02:00
Basilisk-Dev e9abd8b022 Support CSS sizing math functions
Prereq for parts of #2404
2026-05-17 09:46:07 +02:00
Basilisk-Dev fe29e0430c Issue #2404 - Enable CSS aspect-ratio sizing 2026-05-17 09:44:59 +02:00
Moonchild 589967f3df Merge branch '3088' into euxp-ports2 2026-05-17 09:44:13 +02:00
Basilisk-Dev 9db275d300 Remove stale imagebitmap support file entry 2026-05-17 09:42:03 +02:00
Basilisk-Dev b6d0a261d2 Load mochitest modules without imp 2026-05-17 09:41:56 +02:00
Basilisk-Dev dad0daf389 Issue #2982 - Follow-up: allow color-mix to work with oklab and oklch
Tag #2489 and #3003
2026-05-17 09:41:44 +02:00
Basilisk-Dev b58e2b9312 Issue #1826 - Serialize special calc() number values 2026-05-17 09:39:23 +02:00
Basilisk-Dev b8f458a819 Issue #1826 - Add typed calc() arithmetic for media queries 2026-05-17 09:39:00 +02:00
Basilisk-Dev 39321f4796 Issue #1826 - Canonicalize nested calc() serialization 2026-05-17 09:38:31 +02:00
Basilisk-Dev d8de738239 Issue #1826 - Support calc() in media queries 2026-05-17 09:37:49 +02:00
Basilisk-Dev 40407bb784 Issue #1826 - Implement broader CSS calc() parsing 2026-05-17 09:37:11 +02:00
Basilisk-Dev a5b2671f1e Fix app-unit rounding for border width edges 2026-05-17 09:34:28 +02:00
Basilisk-Dev 4249686af4 Flush layout for computed border-width shorthand 2026-05-17 09:34:20 +02:00
Basilisk-Dev 69ba22d624 Fix CSS border rounding and currentcolor clipping 2026-05-17 09:34:13 +02:00
Basilisk-Dev 4359582e67 Test fractional border width rounding 2026-05-17 09:33:59 +02:00
Basilisk-Dev fa06d2de31 Floor fractional border widths 2026-05-17 09:33:49 +02:00
ownedbywuigi b7b1918a36 Issue #888 - Add dav1d_flush 2026-05-17 09:06:09 +02:00
ownedbywuigi aa69d5ec99 Issue #888 - Make symbols direct to dav1d, not AOM. 2026-05-17 09:05:44 +02:00
ownedbywuigi 6e4bb257a4 Issue #888 - (potentially) fix MSVC builderr 2026-05-17 09:05:24 +02:00
wuggy a30f439a9c Issue #888 - Fix alphabetical order issue 2026-05-17 09:04:52 +02:00
Basilisk-Dev 0ccaab55ca Issue #888 - Update AV1 configure comment for dav1d 2026-05-17 09:04:31 +02:00
Basilisk-Dev e61621692c Issue #888 - Enable AV1 playback by default 2026-05-17 09:04:05 +02:00
Basilisk-Dev 9a8cb2e22e Issue #888 - Enable dav1d SIMD on more architectures 2026-05-17 09:03:41 +02:00
Basilisk-Dev eb487c2ca1 Issue #888 - Remove bundled libaom 2026-05-17 09:03:21 +02:00
Basilisk-Dev 5c0a35a358 Issue #888 - Enable dav1d LoongArch SIMD 2026-05-17 09:02:50 +02:00
Basilisk-Dev a468f81a5e Issue #888 - Use in-tree dav1d for AV1 decoding 2026-05-17 09:00:34 +02:00
Basilisk-Dev d1b46d7347 Issue #888 - Vendor dav1d 1.5.3 2026-05-17 09:00:07 +02:00
Moonchild 3583e443dd [js] Increase RecoverOffset size (64-bit) 2026-05-12 19:42:44 +02:00
Moonchild afc6210b2c [DOM] Add nullcheck on thumb dragging event ranges. 2026-05-12 09:58:43 +02:00
Moonchild 6fb98414ef [DOM] Add nullcheck on document for requestSubmit 2026-05-12 09:57:56 +02:00
Moonchild 1268c5055a Merge pull request 'Cherry pick some things from Dactyloidae' (#3086) from dactyloidae-ports into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3086
2026-05-11 08:59:14 +00:00
Moonchild 30a1c98c9d Revert "Issue #3030 - Implement lazy-loading for image elements."
This reverts commit 7574161abe.
2026-05-09 10:23:04 +02:00
Moonchild 17b7e131b4 Issue #3030 - Improve image cache entry handling.
This:
- increases max image cache entry size and adjusts related parameters.
- makes the cache entry timeout configurable for advanced tweaking.
- adds a mechanism to keep commonly-used, small image sizes in cache
  longer.
2026-05-09 08:26:44 +02:00
ownedbywuigi 7574161abe Issue #3030 - Implement lazy-loading for image elements. 2026-05-09 08:08:45 +02:00
ownedbywuigi 5185da6cf0 Issue #3030 - Prevent unnecessary event allocation.
Reuse the same event object when dispatching bubbling/capturing phases
instead of allocating new ones.
2026-05-09 08:08:14 +02:00
ownedbywuigi a5c925df20 Issue #3030 - Account for custom elements in attribute value checking.
Refactors MaybeCheckSameAttrVal to streamline old value storage for
custom elements.
2026-05-09 08:06:50 +02:00
ownedbywuigi e794163e05 Issue #3030 - Block auth prompt if there is a sync XHR active.
This attempts to fix https://forum.palemoon.org/viewtopic.php?f=3&t=33260
2026-05-09 08:03:43 +02:00
Moonchild 2690911551 Merge pull request 'Set glx as OpenGL backend default until egl bugs can be investigated' (#3084) from Basilisk-Dev/UXP-contrib:egl-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3084
2026-05-08 06:47:21 +00:00
Basilisk-Dev 6cc0c04b5c Issue #3079 followup - set glx as OpenGL backend default until egl bugs can be investigated 2026-05-07 21:03:15 -04:00
Moonchild edd0f13910 Merge branch 'ANGLE-fixes' 2026-05-07 20:09:23 +02:00
Moonchild c57f1ec98c Merge branch '150.0.2' 2026-05-07 20:09:12 +02:00
Moonchild f757e38c04 [layout] Check offset against start of skip range. 2026-05-07 20:07:33 +02:00
Moonchild 00ab986cb8 [gfx] Fix integer overflow in cairo PDF surface image emission 2026-05-07 19:39:49 +02:00
Valentin Gosu cd873c87d5 Bug 2034352 - Make URL::SearchParams return an already_AddRefed 2026-05-07 19:39:42 +02:00
Moonchild bd3ea8d98d Issue #3083 - Fix incorrect nullcheck. 2026-05-07 19:39:04 +02:00
Moonchild 865d547992 Issue #3083 - Add sanity check to EmulatedIndexedStorage::getNativeStorage 2026-05-07 19:38:17 +02:00
Moonchild 2c4ea0bc88 Issue #3083 - Turn debug-only assert into a skip. 2026-05-07 19:37:46 +02:00
Moonchild 001f950041 Merge pull request 'Enable EGL as the default OpenGL context backend on Linux with GLX fallback' (#3080) from Basilisk-Dev/UXP-contrib:egl into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3080
2026-05-05 20:51:55 +00:00
Basilisk-Dev ca839a4b0f Issue #3079 - only build the X11-specific GL code on X11 systems 2026-05-05 14:07:55 -04:00
Basilisk-Dev 807faf43b0 Issue #3079 - Silence EGL library load logging 2026-05-05 10:13:33 -04:00
Basilisk-Dev 2edc704e4f Issue #3079 - Use desktop OpenGL for X11 EGL 2026-05-05 07:58:40 -04:00
Basilisk-Dev becff6c0d2 Issue #3079 - Add EGL-aware X11 GL probing and fallback 2026-05-05 07:58:26 -04:00
Moonchild 06caa2f30f Merge pull request 'Backport 1398140 and 1377238 - Ion Multithreading Improvements' (#3076) from Basilisk-Dev/UXP-contrib:bugzilla-performance-backports into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3076
2026-05-03 11:57:55 +00:00
Moonchild ac0f516a1a Merge pull request 'Upgrade mimalloc to 3.3.1' (#3056) from Basilisk-Dev/UXP-contrib:mimalloc into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3056
2026-05-03 09:18:12 +00:00
Basilisk-Dev 6d4244e049 Issue #3075 - Backport bug 1398140 - Remove the Ion helper thread pausing 2026-04-30 08:46:31 -04:00
Basilisk-Dev d5d43c7221 Issue #3075 - Backport bug 1377238 - Free finished IonBuilders off-thread. 2026-04-30 08:43:37 -04:00
Moonchild 3a5950ae65 Issue #3066 - Follow-up: use cpuCount for maxParseThreads.
Addressing the confusing naming here:
cpuCount is the number of _logical_ processors as reported by the system,
not the physical cores.
threadCount is that number with some extras. This should be used with care.
2026-04-30 10:51:52 +02:00
Moonchild 58a00fe63b Revert "Issue #3066 - Follow-up: Reserve threads for burst use cases."
This reverts commit 3259bdc1c1.
2026-04-30 10:47:03 +02:00
Moonchild b486a37ba1 Revert "Issue #3066 - Follow-up: Change the way HelperThread counts are calculated."
This reverts commit a1bde368ab.
2026-04-30 10:46:54 +02:00
Moonchild a1bde368ab Issue #3066 - Follow-up: Change the way HelperThread counts are calculated. 2026-04-30 10:39:09 +02:00
Moonchild dc2cb047aa Platform version bump. 2026-04-29 15:08:29 +02:00
Moonchild a06d5a80a1 [gfx] Add sanity checks in ANGLE D3D11 renderer. 2026-04-29 14:57:03 +02:00
Moonchild 2dbf5e90d6 [DOM] Do not interrupt worker execution if already scheduled. 2026-04-29 13:28:06 +02:00
Moonchild 3259bdc1c1 Issue #3066 - Follow-up: Reserve threads for burst use cases. 2026-04-29 12:10:41 +02:00
Moonchild d8fc800bb6 [DOM] Validate size in FileReader. 2026-04-29 11:30:43 +02:00
Moonchild 2f48cd27d5 [DOM/media] Add some sanity checks to MP3 demuxer.
Note: `vbr.NumAudioFrames()` is already checked in `vbr.IsComplete()`
2026-04-29 11:10:41 +02:00
Iain Ireland 5da410af19 Bug 2029806: Handle ill-formed UTF16 2026-04-29 10:38:42 +02:00
Karl Tomlinson 11b676d033 Bug 2027433 use nullptr for silent up-mix channels 2026-04-29 10:16:55 +02:00
Karl Tomlinson 68f88c7b49 Bug 2027433 Treat null input channels as zero in AudioChannelsDownMix() 2026-04-29 10:03:32 +02:00
Karl Tomlinson b887dd8f37 Bug 2027433 Treat null input channels as zero in InterleaveAndConvertBuffer()
The loop nesting is inverted so as not to add a null check to the inner
loop, but this change would also have some impact on cache use:

* The loop ordering might perhaps not be the ideal for two channels and
large sample counts, for example, because it means going through the
output/largest buffer twice.
* It does, however, avoid pathological situations of iterating across
planar channel buffers, likely to load set-associative cache lines if
the channel buffers are page aligned, due to having 1024 (or somewhat
fewer) floats, for example.
2026-04-29 09:49:46 +02:00
Moonchild 9be79d5b97 Revert "[DOM] Ensure the GC sees consistent states while adopting DOM nodes."
This reverts commit 07c08f37be.
2026-04-28 18:12:15 +02:00
Moonchild ed4b5d4214 Merge pull request 'Issue #3038 - Fix ./mach help command on Python 3.14.' (#3072) from athenian200/UXP:mach_help_fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3072
2026-04-28 13:29:05 +00:00
Moonchild 2aeecda75f Merge pull request 'Fix non-English output corruption and issues surrounding Python cl wrapper.' (#3069) from athenian200/UXP:foreign_msvc_fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3069
2026-04-28 13:25:49 +00:00
Moonchild 633de098f8 Merge pull request 'Implement full LoongArch64 Baseline/Ion/wasm JIT backend' (#3067) from Basilisk-Dev/UXP-contrib:loongjit into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3067
2026-04-28 13:06:32 +00:00
Jeremy Andrews 241f9c3965 Issue #3038 - Fix ./mach help command on Python 3.14.
This was a deliberate change in Python 3.14 specifically, should be noted that the old code worked
on every earlier Python version before this. It also was not documented in the release notes,
but it was easy to find people complaining about them tightening the API here.

Ref: https://discuss.python.org/t/argparse-valueerror-action-store-true-is-not-valid-for-positional-arguments/106355
2026-04-27 12:53:09 -05:00
Moonchild 3749fabef9 Merge pull request 'Issue #3066 - on systems with 2 or less CPU cores, use cpuCount for number of helper threads instead of threadCount to prevent performance issues' (#3071) from Basilisk-Dev/UXP-contrib:cpuCount-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3071
2026-04-27 17:38:31 +00:00
Basilisk-Dev ab6fdd555a Issue #3066 - on systems with 2 or less CPU cores, use cpuCount for number of helper threads instead of threadCount to prevent performance issues 2026-04-27 12:57:08 -04:00
Moonchild 6dcb20949a [NSS] Restore dropped 'S' :P 2026-04-27 16:36:01 +02:00
Jeremy Andrews 2ad83109ee Issue #3068 - Implement C++ wrapper.
I looked at the Python wrapper so many times and felt like I was
writing C by proxy to clean up Python assumptions, and started
wondering if C++ was the right tool for this job instead of Python.
Here's my attempt at a C++ version of this wrapper. I'm offering both
options, you can revert this commit if you prefer the Python version.
2026-04-27 01:21:42 -05:00
Jeremy Andrews 993f6947d0 Issue #3068 - Fix non-English MSVC text corruption.
This fixes the original Python wrapper. So basically, the Python developers
have a poor grasp of how Windows handles anything outside of UTF-16 and
the W APIs, and barely understand ANSI codepages, let alone console codepages.
Both MSYS1 and Python 3 seem to treat Windows NT like Windows 9x way too often.
Not the kind of 1990s nostalgia trip we had in mind, but it's the one we got.
2026-04-27 01:21:27 -05:00
Basilisk-Dev a0ee7ae1d7 Issue #3049 - loongarch64: remove remaining MIPS file diffs 2026-04-26 16:20:22 -04:00
Basilisk-Dev 140226f9ee Issue #3049 - loongarch64: drop whitespace-only mips64 diff 2026-04-26 16:20:22 -04:00
Basilisk-Dev 4729e6299e Issue #3049 - loongarch64: localize shared JIT cleanup 2026-04-26 16:20:22 -04:00
Basilisk-Dev b6a9734757 Issue #3049 - loongarch64: drop inert minimal JIT path 2026-04-26 16:20:21 -04:00
Basilisk-Dev 426edd0c41 Issue #3049 - loongarch64: trim non-JIT PR fallout 2026-04-26 16:20:21 -04:00
Basilisk-Dev 5cc9593b41 Issue #3049 - loongarch64: fill scalar macroassembler NYI helpers 2026-04-26 16:20:21 -04:00
Basilisk-Dev bd3a1d801a Issue #3049 - loongarch64: implement baseline wasm atomics 2026-04-26 16:20:21 -04:00
Basilisk-Dev 007e595a33 Issue #3049 - loongarch64: fix JIT uint8 clamp lowering 2026-04-26 16:20:20 -04:00
Basilisk-Dev 537bbfa821 Issue #3049 - loongarch64: fix wasm and debug-trap jit-test regressions 2026-04-26 16:20:20 -04:00
Basilisk-Dev 4b340a1d4d Issue #3049 - loongarch64: retire stale JIT TODOs 2026-04-26 16:20:20 -04:00
Basilisk-Dev 8ef06683c6 Issue #3049 - loongarch64: clarify stale shared-code fallback guards 2026-04-26 16:20:20 -04:00
Basilisk-Dev 2f1765ef22 Issue #3049 - loongarch64: direct wasm baseline truncation 2026-04-26 16:20:20 -04:00
Basilisk-Dev 569f912ffd Issue #3049 - loongarch64: restore pre-barrier link register correctly 2026-04-26 16:20:19 -04:00
Basilisk-Dev 7bd4bfeb06 Issue #3049 - loongarch64: flush icache after JIT runtime patching 2026-04-26 16:20:19 -04:00
Basilisk-Dev 043c98373e Issue #3049 - loongarch64: allocate Ion temps for post-write barriers 2026-04-26 16:20:19 -04:00
Basilisk-Dev c02d8f1d61 Issue #3049 - loongarch64: reserve extract temps in shared IC register pools 2026-04-26 16:20:19 -04:00
Basilisk-Dev c2aeecbf38 Issue #3049 - loongarch64: use explicit VM wrapper tail-call contracts 2026-04-26 16:20:19 -04:00
Basilisk-Dev 3869453bba Issue #3049 - loongarch64: fix scaled JIT memory addressing 2026-04-26 16:20:18 -04:00
Basilisk-Dev 14d2e10576 Issue #3049 - loongarch64: fix pointer immediates and scratch aliasing 2026-04-26 16:20:18 -04:00
Basilisk-Dev d667906533 Issue #3049 - loongarch64: fix JIT value boxing and unboxing 2026-04-26 16:20:18 -04:00
Basilisk-Dev 6b4b7dadb2 Issue #3049 - Save loongarch64 regexp JIT link register 2026-04-26 16:20:18 -04:00
Basilisk-Dev 9f73d5bb49 Issue #3049 - Fix loongarch64 wasm JIT dispatch and truncation 2026-04-26 16:20:17 -04:00
Basilisk-Dev 802aebd0dd Issue #3049 - Fix loongarch64 wasm profiling integration 2026-04-26 16:20:17 -04:00
Basilisk-Dev 88a7b76bfe Issue #3049 - Fix loongarch64 wasm baseline integration 2026-04-26 16:20:17 -04:00
Basilisk-Dev 0164ef4a07 Issue #3049 - Fix loongarch64 wasm runtime plumbing 2026-04-26 16:20:17 -04:00
Basilisk-Dev cd1e02de12 Issue #3049 - Enable loongarch64 wasm baseline compiler 2026-04-26 16:20:17 -04:00
Basilisk-Dev 265bdc3076 Issue #3049 - Remove loongarch64 native call IC fallback 2026-04-26 16:20:16 -04:00
Basilisk-Dev 0f54499203 Issue #3049 - Re-enable loongarch64 asm.js and native regexp 2026-04-26 16:20:16 -04:00
Basilisk-Dev cd028bb746 Issue #3049 - Enable loongarch64 wasm profiling patching 2026-04-26 16:20:16 -04:00
Basilisk-Dev 1b15cf18d7 Issue #3049 - Enable loongarch64 Ion environments 2026-04-26 16:20:16 -04:00
Basilisk-Dev da0cf2149f Issue #3049 - Enable loongarch64 JIT atomics 2026-04-26 16:20:15 -04:00
Basilisk-Dev e079c83629 Issue #3049 - Split loongarch64 Ion lowering from mips64 2026-04-26 16:20:15 -04:00
Basilisk-Dev fc489dc3ad Issue #3049 - Harden loongarch64 Ion call and environment paths 2026-04-26 16:20:15 -04:00
Basilisk-Dev 983e140fbc Issue #3049 - Fix loongarch64 nursery chunk JIT checks 2026-04-26 16:20:15 -04:00
Basilisk-Dev bc826af721 Issue #3049 - Stabilize loongarch64 Ion patching and wasm loads 2026-04-26 16:20:15 -04:00
Basilisk-Dev ade8a91835 Issue #3049 - Enable loongarch64 wasm runtime and Ion patching 2026-04-26 16:20:14 -04:00
Basilisk-Dev 7a9e340ba4 Issue #3049 - Add loongarch64 wasm backend build support 2026-04-26 16:20:14 -04:00
Basilisk-Dev 907d5eb3a0 Issue #3049 - Enable loongarch64 Ion backend build and runtime 2026-04-26 16:20:14 -04:00
Basilisk-Dev 9ae455ac7d Issue #3049 - Wire up loongarch64 Ion backend compilation 2026-04-26 16:20:14 -04:00
Basilisk-Dev ac2c809f8c Issue #3049 - Fix loongarch64 string extraction in JIT stubs 2026-04-26 16:20:13 -04:00
Basilisk-Dev 86d942f9b5 Issue #3049 - Normalize loongarch64 VM wrapper return setup 2026-04-26 16:20:13 -04:00
Basilisk-Dev 0581d130fe Issue #3049 - Fix loongarch64 value decoding and exception tail 2026-04-26 16:20:13 -04:00
Basilisk-Dev 5e74610f98 Issue #3049 - Preserve loongarch64 ra across baseline helper calls 2026-04-26 16:20:13 -04:00
Basilisk-Dev 2710214767 Issue #3049 - Disable native regexp JIT on loongarch64 2026-04-26 16:20:13 -04:00
Basilisk-Dev efd34d3137 Issue #3049 - Handle loongarch64 unary baseline inc and dec 2026-04-26 16:20:12 -04:00
Moonchild e051599073 [NSS] Update NSS version for release.
Add (UXP) to the version display string to signify this is our variant of
NSS 3.90 to avoid confusion with the 3.90 branch used in Firefox 115 ESR.
This version has backported considerably more fixes than Mozilla's NSS.
2026-04-26 15:44:48 +02:00
Moonchild 002b1d928e [parser] Handle foster parenting properly. 2026-04-26 12:16:13 +02:00
Moonchild 79aa36ef10 [media] Spot-fix for ffvpx handling of bad video data. 2026-04-26 12:00:21 +02:00
Moonchild 1842de878f [image] Don't do unnecessary work if the image is being destroyed. 2026-04-26 11:48:42 +02:00
Iain Ireland 81cc4e7d9e Bug 2029727: Update RegExpStatics data after realloc 2026-04-26 11:31:06 +02:00
Moonchild 0d69bdc104 [gfx] OTS/HB: Correct bounds checks. 2026-04-26 11:06:48 +02:00
Moonchild eb235f0675 [js] Use isElement in UnmappedArgSetter to check if the argument was marked as deleted.
This is more consistent with `UnmappedArgGetter` and better handles the
case where the property was marked deleted in `RareArgumentsData` but not
actually deleted from the object due to OOM. Unfortunately this scenario
is hard to prevent because the property is marked as deleted in the
`ArgumentsObject::obj_delProperty` class hook and after that
`NativeDeleteProperty` tries to remove the property and this can fail.
2026-04-26 10:49:29 +02:00
Dennis Jackson 2729d6cae9 Bug 2029323 - Improve size calculations in CMS content buffering 2026-04-26 10:31:29 +02:00
John Schanck da3b8fc623 Bug 2029425 - Heap use-after-free in cert_VerifyCertChainOld via dangling certsList[] entry on NameConstraints violation. 2026-04-26 10:27:35 +02:00
Moonchild 58f6eb679b [image] Hold a strong ref on mInnerImage when requesting a refresh. 2026-04-26 10:23:39 +02:00
Moonchild e4db1b8fdc [DOM] Add some death grips to TextTrackManager. 2026-04-26 10:13:02 +02:00
Moonchild 6f68647251 [DOM/media] Use extended channel data as-appropriate. 2026-04-26 10:06:09 +02:00
John Schanck 867bd1549b Bug 2030135 - improve error handling in PK11_ImportPrivateKeyInfoAndReturnKey 2026-04-26 09:18:06 +02:00
Moonchild bb3275468d Revert "[gfx] Use local statics for harfbuzz callback pointers"
This reverts commit 60a96d9cd2.
2026-04-26 07:50:58 +02:00
Moonchild bfc67972ed No issue - Update our in-tree brotli library to 1.2.0+
This includes a minor patch to encode.c to work around the "static init"
check that actually doesn't do anything in its default state, but, due to
compiler subtleties in handling duplicate object names, would not be able
to link brotli.exe because it would refuse to expose all symbols for
duplicate objects (a later one would just be ignored).
Unsure how clang does this but it's not portable across compilers.
(we need the brotli.exe tool for resource package compression)
2026-04-26 00:55:29 +02:00
John Schanck c04c33e327 Bug 2029462 - store email on subject cache_entry in NSS trust domain.
remove_email_entry used cert->email of the last-destroyed cert to locate
the hash entry to clean up. If that cert had no email, the entry was
silently skipped, leaving a dangling subjectList pointer after the arena
was freed. Store the registration-time email on the subject cache_entry
(mirroring ce->nickname) and thread it through remove_subject_entry so
removal always uses the correct email regardless of destruction order.
2026-04-25 22:59:08 +02:00
Moonchild a64033be06 [security] Ensure DispatchToMainThreadAndWait isn't interrupted.
In some cases, `lock.wait()` can be interrupted by spurious wake-ups
before processing is done. To ensure things are, in fact, synchronous,
loop over `wait()` until it is actually done.
2026-04-25 17:17:08 +02:00
Timothy Nikkel 1805114b8b Bug 2029291. 2026-04-25 16:31:01 +02:00
Jan de Mooij d0465ae9e5 Bug 2029317 - Create RareArgumentsData before mutating the arguments object in MappedArgumentsObject::obj_defineProperty. 2026-04-25 16:16:00 +02:00
Jan-Ivar Bruaroey 533b487b3b Bug 2029423 - Reset post_proc state. 2026-04-25 15:58:00 +02:00
Andy Leiserson 7899aa0e49 Bug 2029427 - Fix format string 2026-04-25 15:49:02 +02:00
Moonchild 2ac6f05047 [gfx] Explicitly cast calculation to int32. 2026-04-25 15:25:11 +02:00
Moonchild 6bd4859ef6 [gfx] Port libyuv upstream bounds check. 2026-04-25 15:10:43 +02:00
Simon Farre 120f8bebe4 Bug 2025973 - Use value-semantics for txExecutionState::TemplateRule
TemplateRule is a wrapper around references mostly and can for the
purposes of this function be copied to the stack, given that
TemplateRule::mModeNsId is not mutated there.
2026-04-25 15:03:37 +02:00
Dennis Jackson 84a3ff050c [NSS] Clarify extension negotiation mechanism for TLS Handshakes. 2026-04-25 14:14:21 +02:00
Moonchild b822fda771 [js] Only allow strings as function name. 2026-04-25 11:44:48 +02:00
athenian200 3e38744f8b No Issue - Fix non-fatal powershell invocation on Windows.
This only happened because Python 3 no longer has the limitation of requiring VS 2009 to build binary extensions, and Python uses powershell to build those on Windows for some reason. Was an optional module anyway, not worth the annoyance it caused some users.
2026-04-25 09:20:32 +00:00
ownedbywuigi ffeaec8710 Issue #3030 - Reduce layout stalls due to compositor hang-ups. 2026-04-25 11:11:40 +02:00
Olli Pettay bbeb397619 Bug 2025370 - Properly handle error case in EventListenerManager::GetTypedEventHandler 2026-04-25 11:03:41 +02:00
Moonchild 0e0e2eed28 [DOM/XSLT] Don't use txXPathNode by reference.
Follow-up to previous XSLT fixes.
2026-04-25 10:51:24 +02:00
Moonchild 0541bf3363 [gfx] Stop using binary arithmetic in software filtering.
There was some weird binary arithmetic to artificially clamp values in
calculations for dot products. (multiply by (x >= 0)...)
Switch to `std::clamp()` on the initial value instead.
2026-04-25 10:22:15 +02:00
Tom Schuster 8c677506b2 Bug 2025332 - ErrorResult should call ClearUnionData more. 2026-04-25 09:32:58 +02:00
Karl Tomlinson d77bac2b73 Bug 2025483 update mBeginProcessing even on speex_resampler_set_rate() error 2026-04-25 09:03:05 +02:00
Moonchild 4f8122c97c [NSS] Deep copy profile data in CERT_FindSMimeProfile. 2026-04-25 08:52:27 +02:00
Moonchild 7db3518bcb [DOM/XSLT] Prevent circular indexing
Added additional flag to txIndexedKeyHashEntry to signal whether or not
this entry is already in the process of indexing.

The XSL specs 3.0 talk about recursion being fine, but circularity not
being ok, which is the case when a key is already being looked up.
2026-04-24 21:35:24 +02:00
Moonchild 509b1c9c9d No issue - Deduplicate HTMLAllCollection::GetSupportedNames code.
This was duplicated with a minor difference from the code present in
nsContentList::GetSupportedNames.
2026-04-24 21:21:00 +02:00
Moonchild ceb04b11aa [NSS] Reject excessively large ASN.1 SEQUENCE OF in quickder. 2026-04-24 20:55:33 +02:00
Moonchild 1fb0e5ad2e [DOM] Avoid leaks in nsXMLPrettyPrinter. 2026-04-24 20:38:39 +02:00
Moonchild 0d778af5a1 [DOM/WebCrypto] Reject absurdly large salt values. 2026-04-24 20:34:09 +02:00
Moonchild 1983e6dc6e [DOM] Add a death grip and use locals in BaseMediaResource::ModifyLoadFlags. 2026-04-24 16:55:15 +02:00
Moonchild 851cfe1a41 [DOM] Add a SequenceRooter to ConsoleProfile. 2026-04-24 16:34:52 +02:00
Moonchild 86cbf4a9f3 [widget] Improve clearing of data during clipboard operations. 2026-04-24 16:25:17 +02:00
Daniel Holbert af8cda32de Bug 2026293: Block scripts when initiating async scrollbar activity. 2026-04-24 15:59:17 +02:00
Moonchild 6b9f39b933 [accessibility] Hold a strong ref to mParent in AccIterator. 2026-04-24 15:21:29 +02:00
Moonchild ac7a61a9be [gfx] Don't return dummy surfaces. 2026-04-24 14:39:16 +02:00
Moonchild 017cc7ef84 [webrtc] Fix off-by-one comparison. 2026-04-24 14:17:19 +02:00
Simon Farre 72b2c2c555 Bug 2025971 - Use txSingleNodeContext getter of owned txXPathNode.
eContext gets a copy of aNode. The function should use that one's member
as it's not a shared reference, which we can't know the life time of.
2026-04-24 14:09:59 +02:00
Moonchild aec1c42d17 Bug 2025976 - Follow-up: Make txXPathNode() a public class member. 2026-04-24 14:08:54 +02:00
Moonchild a84dbb6281 [DOM/XSLT] Re-fetch index entry. 2026-04-24 13:47:43 +02:00
Simon Farre 951c54835b Bug 2025976 - Make txxPathNode be a value instead of reference.
txxPathNode has value semantics (it's a smart pointer + uint32_t index;
two different objects of this instance with the same contents are the same
thing).

Increase correctness by making a copy instead of a reference.
2026-04-24 11:30:00 +02:00
Moonchild 142dca26f4 [NSS] Improve input validation in DSAU signature decoding 2026-04-24 11:09:35 +02:00
Moonchild 6f74b59900 [image] Hold a strong ref on error. 2026-04-24 10:37:01 +02:00
Moonchild 07c08f37be [DOM] Ensure the GC sees consistent states while adopting DOM nodes.
This should prevent some intermittent CC crashes when the wrapper cache
has an incorrect state.
2026-04-24 10:04:44 +02:00
Moonchild a703325af2 [DOM] Improve CC/WrapperCache for nursery objects. 2026-04-24 09:15:19 +02:00
Basilisk-Dev acf54dc358 Issue #3049 - Add loongarch64 JIT link-time compatibility stubs 2026-04-24 00:38:15 -04:00
Basilisk-Dev edee1158ee Issue #3049 - Wire up loongarch64 SpiderMonkey baseline backend 2026-04-23 23:41:12 -04:00
Basilisk-Dev 4f7803881b Issue #3049 - Disable wasm signal handlers on loongarch64 2026-04-23 22:04:40 -04:00
Basilisk-Dev a54d8527c8 Issue #3049 - Disable unsupported JIT features in loongarch64 contexts 2026-04-23 21:42:15 -04:00
Basilisk-Dev 7ddab852c3 Issue #3049 - Normalize loongarch64 baseline frame register use 2026-04-23 21:17:14 -04:00
Basilisk-Dev ffc4084854 Issue #3049 - Use s5 for loongarch64 baseline frames 2026-04-23 21:06:53 -04:00
Basilisk-Dev 367dec14bc Issue #3049 - Preserve loongarch64 callee-save JIT entry regs 2026-04-23 20:53:40 -04:00
Basilisk-Dev 522b1c58df Issue #3049 - Fix loongarch64 baseline IC integer compare stub 2026-04-23 20:19:29 -04:00
Basilisk-Dev f5c28ff4d6 Issue #3049 - Adapt loongarch64 baseline macroassembler to old JIT APIs 2026-04-23 20:03:41 -04:00
Basilisk-Dev 11aa5a7586 Issue #3049 - Fix loongarch64 JIT header compatibility 2026-04-23 19:30:19 -04:00
Basilisk-Dev f3eb80a55b Issue #3049 - Adapt loongarch64 JIT glue to older JS APIs 2026-04-23 19:21:46 -04:00
Basilisk-Dev 5a606f322e Issue #3049 - Wire loongarch64 non-Ion frame and patch hooks 2026-04-23 19:16:28 -04:00
Basilisk-Dev fb9098d69b Issue #3049 - Rename and wire loongarch64 baseline JIT backend 2026-04-23 19:09:10 -04:00
Basilisk-Dev 7e1d721f20 Issue #3049 - Extend LoongArch minimal JIT frame slots 2026-04-23 17:48:36 -04:00
Moonchild 55fe29cbb7 [network] Ensure UDPSocket remains alive during CloseWithReason. 2026-04-23 19:35:41 +02:00
Moonchild 044736c889 [network] Hold strong ref in nsSyncStreamListener::Available. 2026-04-23 19:32:33 +02:00
Moonchild 875b73823e [network] Force NUL termination in ToStringBuffer AF_LOCAL.
Also reject AF_LOCAL in IPC reader (just in case).
2026-04-23 19:14:31 +02:00
Moonchild 74fc0fc150 [webrtc] Hold a self-ref on behalf of sigslot, just in case.
Also, stop using these PC_AUTO_ENTER_API_CALL... macros
in functions that aren't actually JS API.
2026-04-23 15:07:09 +02:00
Moonchild a4c8f55faf [DOM] Fix access to shared RuntimeService::mNavigatorProperties. 2026-04-23 14:29:43 +02:00
Moonchild 8405bea921 Issue #3060 - Align cookie magic prefix handling with the updated spec.
This adds `__Http-` and `__Host-Http-` magic prefixes, and aligns
our checks with RFC6265bis.

Resolves #3060
2026-04-23 12:07:59 +02:00
Basilisk-Dev feda33fbec Issue #3049 - Allow more LoongArch minimal JIT arguments 2026-04-23 03:36:42 -04:00
Basilisk-Dev 741112d29c Issue #3049 - Support more LoongArch minimal JIT branch ops 2026-04-23 03:31:22 -04:00
Basilisk-Dev afe857516d Issue #3049 - Track LoongArch minimal JIT control flow state 2026-04-23 03:26:35 -04:00
Moonchild 101c6c1ca8 [network] Handle WebSocketChannel::IsPersistentFramePtr correctly. 2026-04-23 09:23:51 +02:00
Basilisk-Dev 6d70806439 Issue #3049 - Handle more LoongArch minimal JIT stack ops 2026-04-23 03:19:20 -04:00
Moonchild 6aed69f637 [network] Hold strong ref in nsDownloader::OnDataAvailable. 2026-04-23 09:14:05 +02:00
Moonchild fc8ca12118 [DOM] Add a death grip. 2026-04-23 08:50:17 +02:00
Moonchild 15faf0c3c6 [network] Use locals for VisitHeader 2026-04-23 08:38:29 +02:00
Moonchild a16543eb90 Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2026-04-23 07:19:00 +02:00
athenian200 eaf6665b70 Issue #3038 - Make sure js/src/configure.in invokes Python 3.
Missed this file while cleaning up Python 2 references in shell scripts. Not sure this is used, but better safe than sorry.
2026-04-23 04:43:28 +00:00
Basilisk-Dev 9907fca0bb Issue #3049 - Add LoongArch minimal JIT div and mod 2026-04-22 23:42:58 -04:00
Basilisk-Dev 145748d74c Issue #3049 - Add LoongArch minimal JIT multiply support 2026-04-22 23:39:10 -04:00
Basilisk-Dev 885aeb2ffa Issue #3049 - Add LoongArch minimal JIT shifts and negation 2026-04-22 23:37:23 -04:00
Basilisk-Dev 0eac54b24e Issue #3049 - Extend LoongArch minimal JIT value handling 2026-04-22 23:33:46 -04:00
Basilisk-Dev f4fbed884b Issue #3049 - Fix LoongArch minimal JIT return path 2026-04-22 23:13:21 -04:00
Moonchild a4b7b7473f [DOM] Update some DOM canvas checks. 2026-04-22 23:54:56 +02:00
Moonchild 4fdaa6a05a Issue #3058 - Part 1: Fix arithmetic issue in ConvertYCbCrToRGB32
The more complex part can be landed later.
2026-04-22 21:23:42 +02:00
Moonchild cfe4a5e353 [NSS] Fix memory leak in NSC_GenerateKey error path. 2026-04-22 16:58:07 +02:00
Moonchild 561002daa4 [NSS] Protect rwSessionCount with slotLock.
Previously, SFTKSlot.rwSessionCount was incremented and decremented
atomically, which meant that there was no way to synchronize reads from it
in NSC_GetTokenInfo. This patch removes the atomic operations but protects
rwSessionCount with SFTKSlot.slotLock.
SFTKSlot.sessionCount is already protected in this way, so this should
have no performance impact.
2026-04-22 16:32:19 +02:00
Moonchild 9a5b0e8fef [NSS] Fix potential integer underflow in tls 1.3.
Fix integer underflow in tls13_AEAD when ciphertext is shorter than tag.
2026-04-22 15:42:40 +02:00
Moonchild 7da9a8d988 [media] Check alpha data pointer instead of length.
`nestegg_packet_additional_data()` can return a non-zero length with a
null-pointer after failure to parse an ID_BLOCK_ADDITIONAL element.
See upstream bug https://github.com/mozilla/nestegg/issues/76
2026-04-22 14:25:22 +02:00
Moonchild 373ada7321 [network] use nsCOMPtr for mRequest in Base Channel's ScopedRequestSuspender 2026-04-22 13:24:12 +02:00
Moonchild 8ebd469720 Issue #2946 - Follow-up: Sanity-check WMF video properties.
Not sure where else to put this under, but it's a WMF HWA related check,
so filing it as a follow-up here to recent work.
Also tag #2949
2026-04-22 12:00:51 +02:00
Moonchild 481c255726 [DOM] More consistently use already-calculated image properties. 2026-04-22 09:20:11 +02:00
Moonchild 3d790dfa0b [layout] Minor frame scroll improvements. 2026-04-22 08:52:48 +02:00
Moonchild 4bd6812d9c [XPCOM] Update list of executable extensions on Windows. 2026-04-22 08:20:43 +02:00
Moonchild 98514f7e45 [NSS] ensure permittedSubtrees don't match wildcards that could be outside
the permitted tree.
2026-04-22 07:51:47 +02:00
Basilisk-Dev b822fa9d33 Issue #2927 - Update mimalloc to 3.3.1 2026-04-21 18:09:24 -04:00
Basilisk-Dev 336c03ff42 Issue #2927 - Update mimalloc to 3.3.0 2026-04-21 18:09:12 -04:00
Moonchild 5e7320f939 Merge pull request 'Issue #3038 - Fix ARM assembler issues in libpixman.' (#3054) from athenian200/UXP:libpixman-arm-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3054
2026-04-19 22:25:41 +00:00
Jeremy Andrews 0ea174bd02 Issue #3038 - Add explicit UTF-8 decode to check_debug_ranges.
Should be safe because this code path will only fire on Linux and Unix-likes.
Committing directly to master due to it being a one-line change similar to all
the other Python 3 changes.
2026-04-19 13:29:08 -05:00
Jeremy Andrews 4fbecf0e50 Issue #3038 - Fix ARM assembler issues in libpixman.
Probably not strictly related to Python 3 changes, but small enough
that expanding the scope to general UXP build issues on Debian
won't be too bad an idea, since the issue was reported there anyway.
Likely related to binutils updates reporter mentioned.
2026-04-18 16:37:30 -05:00
Moonchild 48eee536a3 Merge pull request 'Backport Performance Improvements from 1379814 and 1431353' (#3051) from Basilisk-Dev/UXP-contrib:bugzilla-backports into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3051
2026-04-18 11:37:01 +00:00
Moonchild 010f09bf1e Merge pull request 'Backport libffi loongarch support' (#3052) from Basilisk-Dev/UXP-contrib:libffi-loongarch into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3052
2026-04-18 07:10:17 +00:00
Basilisk-Dev 771f5dccd5 Issue #3049 - backport libffi loongarch support 2026-04-17 22:19:38 -04:00
athenian200 18a693a8ab Merge pull request 'Completely remove all remaining usages of and references to dbus-glib from our tree' (#3039) from Basilisk-Dev/UXP-contrib:dbus-glib-removal into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3039

I reviewed and tested this PR on Fedora 43 two days ago. Gave it an r+. Was admittedly hoping Travis (our main Linux guy) would confirm my results, but Basilisk-Dev already tested Oracle Linux and I already tested Fedora, so that is likely good enough. Looked at the patch visually and see nothing that could go wrong on Windows or any other platform, since all the changes appear confined to Linux and WebRTC code paths that we don't use for Windows or Mac. Looks correct, and should be low-risk even if there are issues.

**Justification for merge into master on own initiative:**

1. I have enough Linux experience to confirm the patch shouldn't break our official Linux builds.

2. Patch mostly touches WebRTC related stuff in Basilisk-Dev's area of concern, so he is the most qualified to sign off on such changes.

3. The patch has been tested twice.

4. MC is a bit preoccupied with the server move.

5. Travis also appears to have been busy.

6. 10 days have passed since PR was first submitted.

If master breaks or anything unusual happens as a result of this merge, I am prepared to accept the blame and consequences.

Sincerely,

Jeremy Andrews (athenian200)
2026-04-18 01:41:48 +00:00
Basilisk-Dev e10d75b7c2 Issue #3050 - Backport 1431353: Remove off-thread parse thread limit 2026-04-17 11:31:08 -04:00
Basilisk-Dev fd62e7eb91 Issue #3050 - Backport 1379814: Prevent HelperThreads master-task deadlock 2026-04-17 11:30:50 -04:00
Basilisk-Dev 975e6c2618 Issue #3049 - Add property-wrapper fast path to minimal LoongArch JIT 2026-04-16 11:36:57 -04:00
Basilisk-Dev 94ff99c265 Issue #3049 - Cache minimal JIT code on JSScript 2026-04-16 00:01:33 -04:00
Basilisk-Dev 1e1235d1fb Issue #3049 - Guard minimal JIT direct-call fast path 2026-04-15 23:56:36 -04:00
Basilisk-Dev 9ae59f4312 Issue #3049 - Back out unstable minimal JIT direct-call hook 2026-04-15 23:49:50 -04:00
Basilisk-Dev 802110305d Issue #3049 - Call minimal LoongArch JIT directly from interpreter 2026-04-15 23:46:29 -04:00
Basilisk-Dev 008d2b2b01 Issue #3049 - Fix switch scoping in minimal LoongArch JIT 2026-04-15 23:40:18 -04:00
Basilisk-Dev db451f41d4 Issue #3049 - Extend minimal LoongArch JIT for cached counted loops 2026-04-15 23:38:35 -04:00
Basilisk-Dev a00c861f3b Issue #3049 - Use standard JSContext declaration in minimal JIT header 2026-04-15 23:18:51 -04:00
Basilisk-Dev 56035186ff Issue #3049 - Qualify ArrayLength in minimal LoongArch JIT 2026-04-15 23:17:10 -04:00
Basilisk-Dev 73cfb5e9e5 Issue #3049 - Sort minimal LoongArch JIT moz.build entry 2026-04-15 22:56:50 -04:00
Basilisk-Dev 9eed22be4f Issue #3049 - Add minimal LoongArch JIT regression coverage 2026-04-15 22:46:53 -04:00
Basilisk-Dev 11d18319bd Issue #3049 - Add minimal LoongArch JS proof-of-concept JIT 2026-04-15 22:45:58 -04:00
Moonchild d07eaa0c68 Merge pull request 'Added a null-argument guard in uriloader/exthandler/nsExternalHelperAppService' (#3048) from Basilisk-Dev/UXP-contrib:fix-crashes into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3048
2026-04-14 21:30:16 +00:00
Moonchild e6f73d578b Merge pull request 'Backport of bug 1350760 - atomization fast-path improvements' (#3046) from Basilisk-Dev/UXP-contrib:1350760-backport into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3046
2026-04-14 21:29:55 +00:00
Basilisk-Dev 0e825b7a8b Issue #3047 - Added a null-argument guard in uriloader/exthandler/nsExternalHelperAppService
setProtocolHandlerDefaults(null, ...) now returns NS_ERROR_INVALID_ARG instead of dereferencing aHandlerInfo and crashing
2026-04-14 00:16:02 -04:00
Basilisk-Dev d3b337c77a Issue #3045 - backport of bug 1350760 - atomization fast-path improvements 2026-04-14 00:05:30 -04:00
Moonchild 19b79bef4b Merge pull request 'Fix ccache builds and clean up Python 3.14 warning spew.' (#3041) from athenian200/UXP:warning-spew-ccache-fixes into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3041
2026-04-13 20:27:58 +00:00
Moonchild cfbe413763 Merge pull request 'Implement support for lch color space' (#3035) from Basilisk-Dev/UXP-contrib:lch-color into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3035
2026-04-13 20:12:27 +00:00
Moonchild 090242a16e Merge pull request 'Fix stack OOB write in nsLocaleService::GetLocaleFromAcceptLanguage bounds checks' (#3044) from Basilisk-Dev/UXP-contrib:nslocaleservice-mem-bug into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3044
2026-04-13 20:04:28 +00:00
Basilisk-Dev 53bc735ee9 Issue #3043 - Fix stack OOB write in nsLocaleService::GetLocaleFromAcceptLanguage bounds checks 2026-04-10 14:31:54 -04:00
Moonchild dc92189c0f Issue #3042 - Add canvas WebGL context powerPreference
Resolves #3042
2026-04-10 10:25:45 +02:00
Jeremy Andrews 3b0aadb95c Issue #3038 - Fix ccache builds and clean up Python 3.14 warning spew.
None of these resulted in build bustage using our default configuration,
but apparently ccache builds were broken due to a bytes/text issue. Wish
the original reporter had mentioned he was using ccache, but he saved me
a lot of busywork. Changes appear safe across whole range of Python
versions we support.
2026-04-08 02:31:52 -05:00
Basilisk-Dev 12ba8bf083 Issue #3027 - completely remove all remaining usages of dbus-glib from our tree 2026-04-07 15:26:28 -04:00
Moonchild 71a061f3ea Merge pull request 'Remove ia64 from WebRTC in old-configure.in. Replace reference with loongarch64' (#3033) from Basilisk-Dev/UXP-contrib:ia64-old-configure-in into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3033
2026-04-03 06:45:30 +00:00
Moonchild c29de91663 Merge pull request 'Replace all uses of dbus-glib in widget/gtk with direct libdbus calls' (#3032) from Basilisk-Dev/UXP-contrib:dbus-glib-widget into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3032
2026-04-03 06:45:09 +00:00
Moonchild 3be43599e2 Merge pull request 'Modify nsGIOService to call libdbus directly instead of using dbus-glib' (#3028) from Basilisk-Dev/UXP-contrib:dbus-glib into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3028
2026-04-03 06:43:58 +00:00
Moonchild 2f07b7f26e Merge pull request 'Follow-up: Fix 32-bit Windows builds.' (#3037) from athenian200/UXP:fix-32bit-windows-build into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3037
2026-04-03 06:42:23 +00:00
Jeremy Andrews b180acefa2 Issue #2974 - Follow-up: Fix 32-bit Windows builds.
Apparently on 32-bit builds, bytes are passed into the build system in exactly
one more place than on 64-bit builds. The fix is trivial and one-line...
hopefully no one minds me doing this as a quick follow-up to the original
issue, it was very small and missed during testing.
2026-04-02 21:32:32 -05:00
Basilisk-Dev 0cd75d7bee Issue #3003 - Add CSS lch() color parsing support 2026-04-02 17:14:03 -04:00
Basilisk-Dev f17894ba65 Issue #3003 prerequisite - Split non-sRGB CSS color helpers out of nsCSSParser 2026-04-02 17:13:51 -04:00
Basilisk-Dev 656a76c24e Issue #3007 - remove unneeded comment 2026-04-02 16:27:52 -04:00
Basilisk-Dev 20a0b94fbf Issue #3007 and #2897 followup - remove ia64 from WebRTC in old-configure.in. Replace reference with loongarch64 2026-04-02 16:19:55 -04:00
Basilisk-Dev c037f1194f Issue #3027 - remove all uses of dbus-glib from widget/ 2026-04-02 15:06:41 -04:00
Moonchild 5fb569520e [network] Ignore non-compliant http server header. 2026-04-02 15:24:32 +02:00
Moonchild 0054f425d9 [NSS] Update NSS to 3.90.9.1 (custom) 2026-04-02 14:35:17 +02:00
Moonchild 60a96d9cd2 [gfx] Use local statics for harfbuzz callback pointers
This ensures thread-safe initialization.
2026-04-02 13:27:11 +02:00
Moonchild 323338eb09 Revert "[network] Ignore non-compliant http server header."
This reverts commit d2a4890384.
2026-04-01 20:57:56 +02:00
Moonchild d2a4890384 [network] Ignore non-compliant http server header. 2026-04-01 16:15:19 +02:00
Moonchild 56a2627104 [XPCOM] Add more validation to SnappyUncompressInputStream 2026-04-01 14:49:47 +02:00
Moonchild 8811a48b8a CLOBBER for python 3 migration 2026-04-01 14:24:42 +02:00
Moonchild 5f03b88dd3 Merge pull request 'Switch to Python 3.' (#3024) from athenian200/UXP:python3-clean into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3024
2026-04-01 11:57:01 +00:00
Moonchild 2e18e11f2b No issue - Add convolver sanity check 2026-04-01 13:52:32 +02:00
Jeremy Andrews 02ec45c715 Issue #2974 - Part 70: Clean up PPC code so we can build on PPC.
Normally we'd want to do this as part of clean-up for Android-related
enums we don't use or making mozbuild syntax more consistent, but
Python 3's strict enforcement of enums kinda forced my hand here.
In principle, it's a little out of scope, but in practice the "scope"
is practically every Python file in the build system at this
point, unfortunately including mozbuild.
2026-03-30 15:03:49 -05:00
Jeremy Andrews 3b21b1bc49 Issue #2974 - Part 69: Attempt to deal with EnumString issues.
Improve logger handling when they happen, also try to keep EnumString
objects out of gyp where we know not all enums will match our internal list.
2026-03-29 16:16:54 -05:00
Basilisk-Dev 663ec3d230 Issue #3027 - modify nsGIOService to call libdbus directly instead of using dbus-glib 2026-03-28 15:41:13 -04:00
Jeremy Andrews c36a9c674e Issue #2974 - Part 68: Fix a regex warning and improve Python check.
Trying to get this cleaned up...
2026-03-28 11:13:48 -05:00
Jeremy Andrews 4ff3a75296 Issue #2974 - Part 67: Last-minute FreeBSD fixes.
Something went wrong on FreeBSD... I hope I don't have to go back
to the drawing board again.
2026-03-28 11:13:20 -05:00
Moonchild 5871ce0b85 Merge pull request 'Implement TypedArray.prototype.toSorted' (#3025) from Basilisk-Dev/UXP-contrib:typedarray-tosorted into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3025
2026-03-28 15:07:05 +00:00
Moonchild 6237c680ca Merge pull request 'Cleanup obsolete XPCOM Support' (#3026) from Basilisk-Dev/UXP-contrib:cleanup-xpcom into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3026
2026-03-28 15:05:35 +00:00
Basilisk-Dev facdbf7bc0 Issue #3007 - remove VERY obsolete HTML files in XPCOM 2026-03-28 09:08:54 -04:00
Basilisk-Dev 8f54050907 Issue #3007 - remove 32-bit SPARC OpenBSD support in XPCOM 2026-03-28 08:50:38 -04:00
Basilisk-Dev 2fbe032ee9 Issue #3007 - remove some obsolete HTML files in xpcom 2026-03-28 08:46:49 -04:00
Basilisk-Dev a8a68383cb Issue #3007 - Remove bitrig support from XPCOM. 2026-03-28 08:44:21 -04:00
Basilisk-Dev e3f67c01a2 Issue #3007 - remove remaining HP-UX references in XPCOM 2026-03-28 08:39:01 -04:00
Moonchild a1fe345c98 No issue - Add 10.4 and 26.* SDK versions to KNOWN_SDK_VERSIONS
For Mac builds as requested by dbsoft.
Sorted the entries by major version for readability.
2026-03-28 08:37:42 +01:00
Basilisk-Dev a1caa316a7 Issue #2551 - implement TypedArray.prototype.toSorted 2026-03-27 13:35:04 -04:00
Moonchild 1011058248 Merge pull request 'Update document.currentScript implementation to align with current spec' (#3021) from currentScript-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3021
2026-03-26 14:59:30 +00:00
athenian200 b9842306a4 merge upstream 2026-03-26 02:29:44 +00:00
Jeremy Andrews 5d63edee09 Issue #2974 - Part 66: client.mk and configure.in shouldn't invoke Python 2.
This was unneeded on my system because I made sure the build system couldn't
find Python 2 on the PATH, forcing it to use Python 3. Many developers may
be in environments with both available, so this should be changed.
2026-03-25 21:06:01 -05:00
Moonchild dc9a5cd350 Merge pull request 'Implement window.MathMLElement global.' (#3022) from dbsoft/UXP:mathmldom-work6 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3022
Reviewed-by: Moonchild <moonchild@palemoon.org>
2026-03-25 21:52:41 +00:00
Jeremy Andrews 017e021c37 Issue #2974 - Part 65: Last-minute Linux fixes.
Forgot to test packaging on Linux this whole time.

Also, kept forgetting to commit these random changes to mozbuild
files that just refer to GNU/kFreeBSD consistently as kFreeBSD.

Not because it's the right thing to call it, but because it's
what we have in the enums that works consistently right now.
And ripping out support entirely would be out of scope.
2026-03-25 11:47:07 -05:00
Jeremy Andrews 12641659e6 Issue #2974 - Part 64: Use venv in VirtualenvManager.
I felt like this was a cheat when I did it in my hacky build, and
seriously thought ChatGPT was just suggesting this because it was too
lazy to figure out how to fix virtualenv. I learned several things:

- The approach virtualenv 15.x uses to simulate a Python environment
  does not work after Python 3.10. So we'd need a newer virtualenv
  anyway, which has different quirks. I got it to "work" on Python 3.11...
  but only by copying (almost) the whole stdlib and a bunch of DLL files to
  bootstrap it. Which is no longer a virtualenv, it's... just an env.

- VirtualenvManager is Mozilla's code, not a part of virtualenv itself.
  Which means everything we need is now contained within our own code,
  no third-party module like virtualenv required.

- Our build system doesn't depend on virtualenv quirks at all. In
  a pinch, if you copy all the .pth files it generates into the
  system's site-packages directory (after turning them all into
  absolute paths), it would even run under system Python. It really
  only "needs" virtualenv to find its own modules because of how it
  was designed.

- I've tested venv extensively across a wide range of Python 3 versions.
  not a single one has any issues or behaves in a noticably different
  fashion from a build based on a repaired virtualenv extended up to
  Python 3.10, which means no regressions were introduced by the switch.

- Python's devs want the venv route over the way virtualenv did things.
  PEP 405 was very critical of virtualenv's design, and PEP 587 created a
  a new configuration mechanism precisely so no application would have to
  do what virtualenv did to get isolation without copying
  the whole interpreter into another directory.

- Mozilla also did something similar in BZ 1766497, so they clearly
  thought venv had enough features for their build system.
2026-03-25 04:33:16 -05:00
Jeremy Andrews 16f351a14c Issue #2974 - Part 63: Bring in lex and yacc from "dirty" migration.
These versions work on 3.14, my attempt at a cleaner solution did not.
Besides, they apparently were designed for Python 3 to start with.
The mid-to-late parts of that migration were mostly correct, it seems.

Ref: https://repo.palemoon.org/athenian200/UXP/commit/4117ccfc36284845cb4c75cf4e3d5a8997417225#diff-48dc6c6013e343ba4e196819d2cd873b3d576140
2026-03-25 01:27:12 -05:00
Brian Smith 80c7d08eee Issue #2548 - Part 5 - Implement the HTMLOrForeignElement mixin.
https://bugzilla.mozilla.org/show_bug.cgi?id=1577660
Add 'preventScroll' option to HTMLElement's, SVGElement's and XULElement's 'focus' method.
https://bugzilla.mozilla.org/show_bug.cgi?id=1374045
2026-03-24 19:38:41 -05:00
Brian Smith a8c59c38d4 Issue #2548 - Part 4 - Fix some missed changes for ElementCSSInlineStyle.
Introduce GlobalEventHandlers/DocumentAndElementEventHandlers/ElementCSSInlineStyle mixin.
https://bugzilla.mozilla.org/show_bug.cgi?id=1579457
2026-03-24 19:38:41 -05:00
Brian Smith 9bf46d80f1 Issue #2548 - Part 3 - Fix some MathML issues encountered since WebIDL works.
Add an nsContentUtils API for getting the CallerType of a JSContext.
https://bugzilla.mozilla.org/show_bug.cgi?id=1316616
Also added a Fetch() change that was not in the Mozilla patch.
2026-03-24 19:38:41 -05:00
Brian Smith 638c7f07f7 Issue #2548 - Part 2 - Collection of WebIDL parsing updates in an attempt to fix partial interface mixin error.
We should ensure, at build-time, that partial interfaces are defined in the same file as the interface they extend.
Since our build system doesn't really support correct dep builds if they're placed in a different file.
https://bugzilla.mozilla.org/show_bug.cgi?id=1333117
WebIDL: Better error message for trying to inherit from a mixin.
https://bugzilla.mozilla.org/show_bug.cgi?id=1575384
Fix webidl identifier conflicts involving typedefs to produce saner exceptions.
https://bugzilla.mozilla.org/show_bug.cgi?id=1531623
Disallow nullable types for WebIDL constants.
https://bugzilla.mozilla.org/show_bug.cgi?id=1535647
Add support for extended attributes on types in Web IDL
https://bugzilla.mozilla.org/show_bug.cgi?id=1359269
Allow LenientFloat to be only in a specific overload
https://bugzilla.mozilla.org/show_bug.cgi?id=1020975
2026-03-24 19:38:41 -05:00
Brian Smith 8e01b2d181 Issue #2548 - Part 1 - Implement MathML DOM and pre-requisites.
https://bugzilla.mozilla.org/show_bug.cgi?id=1571487
Introduce interface mixins.
https://bugzilla.mozilla.org/show_bug.cgi?id=1414372
Switch XPathEvaluator to using IDL mixins and remaining users of IDL "implements" over to mixin syntax.
https://bugzilla.mozilla.org/show_bug.cgi?id=1574195
Introduce GlobalEventHandlers/DocumentAndElementEventHandlers/ElementCSSInlineStyle mixin.
https://bugzilla.mozilla.org/show_bug.cgi?id=1579457
Introduce DocumentAndElementEventHandlers to more closely align with the HTML spec.
https://bugzilla.mozilla.org/show_bug.cgi?id=1330457
Remove the use of IsCallerChrome in FetchRequest.
https://bugzilla.mozilla.org/show_bug.cgi?id=1335368
2026-03-24 19:38:41 -05:00
Jeremy Andrews 235db83ca0 Issue #2974 - Part 62: Replace cgi.escape with html.escape.
The cgi module was removed from Python 3.14. html module has almost
the exact same thing, and this was apparently used to format html
rather than cgi anyway, so it's probably more correct.

Ref: PEP 594
https://peps.python.org/pep-0594/#cgi
2026-03-24 18:39:27 -05:00
Moonchild 3a4dc8de41 Issue #3020 - Clear currentScript after running microtasks
Per HTML spec:

`document.currentScript` Returns null if the Document is not currently
executing a script or SVG script element (e.g., because the running
script is an event handler, or a timeout), or if the currently executing
script or SVG script element represents a module script.

---

It's ambiguous about whether, for micro tasks, it should return null.
(This section is labelled as "non-normative", as well.)
However, mainstream browsers handle this differently and don't return
null after running microtasks, so we need to clear this and not assume
null persistently, and run the auto-updater for it, regardless if
it's a module or not.
2026-03-24 20:44:13 +01:00
Moonchild 18595b01b6 Issue #3020 - Update currentScript when dealing with shadow DOM.
`currentScript` should be null when evaluating scripts from shadow DOM.
2026-03-24 15:53:04 +01:00
Moonchild f7215fc685 Issue #3020 - document.currentScript should be null in modules
This is done correctly in `EvaluateScript`, but `CreateModuleScript` was
still setting currentScript to an element.
2026-03-24 15:50:34 +01:00
Moonchild 08521d4651 Merge pull request 'Remove Itanium/ia64 support from xpcom' (#3018) from Basilisk-Dev/UXP-contrib:xpcom-itanium-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3018
2026-03-24 11:18:04 +00:00
Jeremy Andrews 160e956ab5 Issue #2974 - Part 61: Python 3.14 AST changes.
This was done sloppily in my initial work, this is a bit more clean.

Ref: https://docs.python.org/3/deprecations/pending-removal-in-3.14.html
2026-03-24 05:11:44 -05:00
Jeremy Andrews 2cecbc0e7f Issue #2974 - Part 60: Last fixes for virtualenv.
After 3.10, it won't work anymore... thankfully lack of virtualenv
wasn't the cause of busted symlinks on Linux after all.
2026-03-24 05:04:58 -05:00
Moonchild 00b177d75f Merge pull request 'Fix Shadow DOM spellchecker crash' (#3014) from spellcheck-shadowdom-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3014
2026-03-23 23:48:49 +00:00
Jeremy Andrews 11226f5308 Issue #2974 - Part 59: Make backend file generation more deterministic.
This led to a lot of false positives while trying to resolve the other
issue. The changes don't seem to cause harm, so I'd like to keep them...
they make debugging easier.
2026-03-23 12:14:25 -05:00
Jeremy Andrews 8ff0eb3b1c Issue #2974 - Part 58: Fix regexes and lexer on Python 3.11+
Newest versions of Python 3 do not like lex.py or the regexes used by
xpidl. These workarounds allow it to work anyway.
2026-03-23 12:09:24 -05:00
Jeremy Andrews 2bb084e824 Issue #2974 - Part 57: Prevent backend regeneration loop.
Sometimes Python 3.11+ keeps thinking the backend has changed due to
excessively precise timestamps or something. This workaround makes sure
that make doesn't regenerate the backend more than once per run.
2026-03-23 12:07:25 -05:00
Moonchild a89a071049 Merge pull request 'implement TypedArray.prototype.with' (#3019) from Basilisk-Dev/UXP-contrib:typedarray-with into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3019
2026-03-23 15:18:47 +00:00
Basilisk-Dev f9dc8a091a Issue #2551 - implement TypedArray.prototype.with 2026-03-23 08:50:01 -04:00
Basilisk-Dev 944299ed6c Issue #3007 - Remove Itanium/ia64 support from xpcom 2026-03-23 08:15:51 -04:00
Moonchild 0e1441155c Merge pull request 'Issue #3016 - allow url.CanParse to use custom-scheme bases to match current spec' (#3017) from Basilisk-Dev/UXP-contrib:url-canparse-spec-compliance into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3017
2026-03-23 05:23:18 +00:00
Moonchild 7bf5dfe4e4 Merge pull request 'Modify valgrind logging in libavutil to require MOZ_VALGRIND' (#3010) from Basilisk-Dev/UXP-contrib:ffvpx-valgrind into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3010
Reviewed-by: Moonchild <moonchild@palemoon.org>
2026-03-22 21:23:00 +00:00
Basilisk-Dev d4c34fc9f7 Issue #3009 - updated libavutil to keep HAVE_VALGRIND_VALGRIND_H as the primary gate, with MOZ_VALGRIND added inside it 2026-03-22 16:57:34 -04:00
Basilisk-Dev 6811005551 Issue #3016 - allow url.CanParse to use custom-scheme bases to match current spec 2026-03-22 16:48:43 -04:00
Moonchild 464cefa127 Merge pull request 'Attempt to fix Cloudflare image resizing' (#3012) from wuggy/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3012
Reviewed-by: Moonchild <moonchild@palemoon.org>
2026-03-22 14:42:51 +00:00
Moonchild c94a1ab5d3 Merge pull request 'Issue #3007 - remove itanium support and references from webrtc' (#3015) from Basilisk-Dev/UXP-contrib:webrtc-itanium-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3015
2026-03-22 14:40:10 +00:00
Jeremy Andrews c089567185 Issue #2974 - Part 56: Full Python 3.10 support.
Deal with rU full deprecation and collections.abc move being enforced.
2026-03-22 05:18:14 -05:00
Jeremy Andrews 62397ff43e Issue #2974 - Part 55: Remove pip from build system, fix Linux builds.
pip was apparently breaking Linux builds and I didn't even notice. Turns out
virtualenv doesn't even need pip, and Python ships its own pip so I don't know
why this was even needed...
2026-03-22 04:53:47 -05:00
Basilisk-Dev 8aa5b35605 Issue #3007 - remove itanium support and references from webrtc 2026-03-22 01:05:18 -04:00
Basilisk-Dev 25dd1fb31a Issue #3009 - restore valgrind functionality in libavutil and hide behind MOZ_VALGRIND instead 2026-03-21 22:52:25 -04:00
wuggy d8cf2c8b44 Cloudflare Image Resizing fix take 3 part 2 (all.js) 2026-03-21 13:28:57 +00:00
wuggy 938c5d08d4 Cloudflare Image Resizing fix take 3 part 1 (main fixup) 2026-03-21 13:26:34 +00:00
Moonchild 7fca2b8de3 Issue #2739 - Follow-up: remove missed configure bits.
We still accepted {en|dis}able-jxl as a valid old-configure option and
there were a few leftover pref conditionals.
2026-03-21 11:57:15 +01:00
Jeremy Andrews 458f60d071 Issue #2974 - Part 54: Replace distutils.strtobool with custom implementation.
Another sys.path.append hack in virtualenv made necessary by an stdlib
deprecation. Sigh.

Ref: BZ 1877347
2026-03-20 20:21:45 -05:00
Jeremy Andrews 63752e83a5 Issue #2974 - Part 53: Replace distutils.sysconfig with sysconfig.
Fairly straightforward. Not too many problems here.
2026-03-20 18:09:10 -05:00
Jeremy Andrews 033b7f5219 Issue #2974 - Part 52: Read /etc/os-version manually to fill in missing logic.
There are third-party packages that will do this... but every distro
we support uses /etc/os-version now, and we only check in one place.
2026-03-20 14:36:23 -05:00
wuggy ef19ad3ffd Cloudflare Image Resizing fix take 2
Better documentation and about:config pref controlled (network.url.cloudflare_image_resizing.enabled)
2026-03-20 19:02:52 +00:00
Jeremy Andrews 9c10d36094 Issue #2974 - Part 51: Replace imp with importlib.
imp was actually still available up until Python 3.9 or so. Ripping
it out made me go through the headache of debugging our import logic.
Granted, it was deprecated long ago and there was plenty of warning, but
since we are doing the migration now it's all hitting at once if we want
to support any semi-modern Python.
2026-03-20 13:29:08 -05:00
Moonchild ab88527fe6 Issue #3011 - Part 3: Handle edge case for spellchecking.
Make spellchecking work in Shadow DOM after anchor navigates away from it.
2026-03-20 17:07:55 +01:00
Moonchild 6c0ff1881a Issue #3011 - Part 2: Switch spellchecker root to Shadow DOM.
Set the root for spelling checker to shadow root if the contenteditable
nodes are in the shadow DOM. Bail if the position can't be set properly.
2026-03-20 14:45:11 +01:00
Moonchild 1e7f4c8474 Issue #3011 - Part 1: Add As{Text|Html}Editor() and AsEditorBase()
This adds helper functions to get specific types of content editors (if
possible) through the nsIEditor interface, as opposed to doing manual
casting and the ad hoc `GetHTMLEditor()` function.

Helper functions are spread out over multiple headers due to the
circular dependency issues that would be triggered otherwise.
2026-03-20 13:26:18 +01:00
wuggy fdf491d4ec Cloudflare Image Resizing fix 2026-03-20 10:18:45 +00:00
Jeremy Andrews 19f0115559 Issue #2974 - Part 50: Remove distutils.version and replace.
Python no longer provides any version-related utilities in stdlib.

Did a thorough grep and made absolutely sure to replace every last
use. This was the work I was avoiding during my first port...

Ref: PEP 632, BZ 1777414, BZ 1858065, BZ 1766085
2026-03-20 04:14:03 -05:00
Basilisk-Dev 1f4cceca43 Issue #3009 - Remove valgrind logging in libavutil so that valgrind is no longer required at build time 2026-03-18 19:44:28 -04:00
Moonchild 542eaca577 Merge pull request 'LoongArch Support Followup - Do not hardcode jemalloc page size on LoongArch' (#3006) from Basilisk-Dev/UXP-contrib:loongarchpagesize into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3006
2026-03-18 23:02:13 +00:00
Basilisk-Dev 1cb6f56418 Issue #2897 followup - Do not hardcode jemalloc page size on LoongArch
Loongarch can run on either a 4k or 16k page size
2026-03-18 18:14:27 -04:00
Moonchild a503e883d9 Merge pull request 'Don't attempt on-stack replacement for TLA modules when interpreter loop encounters JSOP_LOOPENTRY' (#3002) from jobbautista9/UXP:2229-jsop_loopentry into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3002
2026-03-18 15:21:31 +00:00
Moonchild 347681c219 Merge pull request 'Implement array.prototype.toSpliced and array.prototype.with' (#3005) from Basilisk-Dev/UXP-contrib:arraybycopy into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/3005
2026-03-17 20:31:34 +00:00
Jeremy Andrews 5188aa4874 Issue #2974 - Part 49: Various logging fixes.
Try to ensure error messages from mozbuild are readable...
2026-03-17 03:42:38 -05:00
Jeremy Andrews 4e11fab9b4 Issue #2974 - Part 48: Python 3.8+ related fixes.
Got everything working under older Python 3, to deal with fewer issues at once.
Now the following had to be done:

- time.clock had to be replaced with time.process_time
- Drive letters now need explicit normalization because they are uppercase
by default (was the reason why I had to turn everything into a relpath before).
- Virtualenv works, but needs a couple extra modules because of new includes
in newer Python 3 versions.
2026-03-17 03:10:33 -05:00
Jeremy Andrews 8cb419166a Issue #2974 - Part 47: Fix packaging.
Tested ./mach package, ./mach mozpackage, ./mach installer, and ./mach mar
Everything should work.
2026-03-16 19:28:14 -05:00
Basilisk-Dev 2984237f4f Issue #2551 - implement array.prototype.toSpliced 2026-03-16 14:33:50 -04:00
Basilisk-Dev 1c4a73de71 Issue #2551 - implement array.prototype.with 2026-03-16 14:27:02 -04:00
Jeremy Andrews e431c0cb13 Issue #2974 - Part 46: Linux-related fixes.
Also moved the Windows version of my NSDISTMODE=copy thing where
I meant to have it in the first place, it was misplaced before.
2026-03-16 05:25:34 -05:00
Job Bautista d27df4d88f Issue #2229 - Follow-up: Don't attempt on-stack replacement for TLA modules
When interpreter loop encounters JSOP_LOOPENTRY, we should not let TLA modules
enter baseline JIT.
2026-03-16 11:28:25 +08:00
Jeremy Andrews 889a1c39c5 Issue #2974 - Part 45: Miscellaneous build system tweaks.
Most notably, these tweaks were needed to fix ./mach build faster.
Also chose to set NSDISTMODE=copy by default for Windows, since
wildcards will be symlinks otherwise. This will always fail
because our binaries have the symlinked MSVC DLLs in their import
tables, and Windows loader silently fails in this situation.
2026-03-15 19:01:00 -05:00
Jeremy Andrews 6c77f329da Issue #2974 - Part 44: Make ppCheck Python 3 compatible.
I also wound up having it point out files that can't be decoded as UTF-8.
Not sure if it was the right move, can remove that feature if it's not wanted.
2026-03-15 18:51:24 -05:00
Jeremy Andrews 0e0823a4df Issue #2974 - Part 43: Import random NSIS installer file from Mozilla.
This file was already ported to Python 3 by them, and hasn't seen breaking
changes, so it was safe to use.

Ref: BZ 1633016, BZ 1751990
2026-03-15 15:58:44 -05:00
Jeremy Andrews f335e05ff6 Issue #2974 - Part 42: Jar and preprocessor changes.
For strings/bytes issue, used a similar strategy to what I saw in our old
layout code, having a flag set to be false by default as it's passed from
function to function, eventually being activated and doing something at
a specific point in the loop if it's ever true. The datetime stuff is
simply because in Python 3, integer comparisons were failing so I had
to make both sides be an integer Unix timestamp.
2026-03-15 15:49:04 -05:00
Jeremy Andrews 74762d6567 Issue #2974 - Part 41: Update configobj to version 5.
This version is compatible with Python 3 already.
2026-03-14 20:12:48 -05:00
Jeremy Andrews 1545a33858 Issue #2974 - Part 40: Miscellaneous build system tweaks prior to new configobj.
More small tweaks mostly related to decoding/encoding, some not even related to
failures but are more anxiously done in anticipation of something going wrong.
Even though these are called commits, I often revise little things several
times because I am not sure what the most robust approach would be.
2026-03-14 19:57:16 -05:00
Jeremy Andrews 1801a9148d Issue #2974 - Part 39: Fix early WebIDL generation issues. 2026-03-14 19:55:21 -05:00
Jeremy Andrews deff79b573 Issue #2974 - Part 38: Fix early IPDL generation issues.
This is fewer issues than I remember encountering last time... 2to3 must have
helped. Though I won't hold my breath that newer Python 3 will be this
forgiving when I get around to that near the end.
2026-03-14 19:54:14 -05:00
Jeremy Andrews 0dbe65d6af Issue #2974 - Part 37: Fix malformed track files.
The issue was essentially that the fourth field was being stripped due to the
way Python 3 handles text. I solved the problem originally with a "pad" hack to
add the extra space back in, since that actually gets interpreted as a reference
to the current directory. The eventual solution mostly involved using . instead of
a blank space to refer to the current directory. Don't know if the other stuff
was needed, may remove later if it causes any issues.
2026-03-14 18:51:21 -05:00
Moonchild 9562888e77 Merge pull request 'Flatten nested CSS to standard CSS before parsing (fix sites using nested CSS)' (#2999) from Basilisk-Dev/UXP-contrib:nested-css into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2999
Reviewed-by: Moonchild <moonchild@palemoon.org>
2026-03-14 18:24:58 +00:00
Moonchild 5536b38401 Merge pull request 'Add AudioNode constructors' (#2988) from audionode-constructors-pr into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2988
2026-03-14 18:19:08 +00:00
Moonchild c011b271a1 Issue #3001 - Restore table reference frame call.
While the result value was only used for debug purposes, the function
`FindReferenceFrameFor` also updates the reference frame for use
outside of debug builds. The opaque double use of this function
was not clear from code inspection and it was erroneously removed.

Resolves #3001
2026-03-14 19:16:41 +01:00
Basilisk-Dev c21fb81d3e Issue #2862 - css nesting pref true by default 2026-03-14 13:23:54 -04:00
Basilisk-Dev 5a3dcf5939 Issue #2862 - Remove unused vars in CSS flattener 2026-03-14 13:22:59 -04:00
Jeremy Andrews 04e6f86a60 Issue #2974 - Part 36: Fix XPIDL and XPT generator.
Most of this is taken from my original port, but I did revisit xpt.py
and rework the way cmp was translated to Python 3 by using a
ComparableMixin class.
2026-03-14 01:27:31 -05:00
Moonchild 1d709fe942 Merge pull request 'Update expat source to 2.7.4 and apply local patches' (#2998) from jobbautista9/UXP:expat-2.7.4 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2998
2026-03-13 17:06:21 +00:00
Moonchild e55c16146f Issue #2993 - Follow-up: Clobber. 2026-03-13 16:19:56 +01:00
Basilisk-Dev 997a9a3e13 Issue #2862 - Change tests from lowering to flattening 2026-03-13 09:01:56 -04:00
Basilisk-Dev 008f38579c Issue #2862 - Change code references from CSS lowering to CSS flattening 2026-03-13 08:58:18 -04:00
Basilisk-Dev d943e86b28 Issue #2862 - handle more edge cases in css lowering 2026-03-12 08:44:03 -04:00
Basilisk-Dev 3f2d707a83 Issue #2862 - more tests files for nested css 2026-03-12 08:43:58 -04:00
Basilisk-Dev b145a93ad6 Issue #2862 - Split the css lowering functionality out to a separate file for easier maintenance 2026-03-12 08:43:53 -04:00
Basilisk-Dev 3056028db4 Issue #2862 - Fix a few nested selectors 2026-03-12 08:43:48 -04:00
Basilisk-Dev b4dac14720 Issue #2862 - Modify the css lowerer so that the lowering pass now recognizes bare type-selector nested rules and combinator-led cases 2026-03-12 08:43:42 -04:00
Basilisk-Dev 76694b956f Issue #2862 - add initial nested css test file 2026-03-12 08:43:33 -04:00
Basilisk-Dev 9fab5b3e3c Issue #2862 - Initial attempt at a css lowering 2026-03-12 08:43:23 -04:00
Job Bautista d54491fdd0 Issue #2997 - Update expat source to 2.7.4 and apply local patches. 2026-03-12 13:50:10 +08:00
Moonchild 00c3c3a546 Merge pull request 'Only use SVE instructions on Apple Silicon (disable on aarch64 Linux)' (#2994) from Basilisk-Dev/UXP-contrib:vpx-sve into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2994
2026-03-11 20:50:08 +00:00
Moonchild 1da5c344be Merge pull request 'Implement TypedArray.prototype.toReversed()' (#2996) from Basilisk-Dev/UXP-contrib:typed-toReversed into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2996
2026-03-11 20:28:21 +00:00
Moonchild 76d66b5dad Merge pull request 'Work around macOS WebGL crash on unconsumed vertex attrib arrays' (#2995) from Basilisk-Dev/UXP-contrib:webgl-crash into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2995
2026-03-11 20:23:20 +00:00
Basilisk-Dev e502735eb2 Issue #2993 - only use SVE instructions on Apple Silicon (disable on aarch64 Linux) 2026-03-11 15:07:09 -04:00
Basilisk-Dev edfebe1b99 Issue #2551 - Implement TypedArray.prototype.toReversed() 2026-03-11 15:04:16 -04:00
Moonchild 250e4f75da Merge pull request 'Avoid empty replacements in macro expansion.' (#2986) from 2978 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2986
2026-03-11 19:03:59 +00:00
Basilisk-Dev 53f1bdd9c2 Issue #2978 - Work around macOS WebGL crash on unconsumed vertex attrib arrays 2026-03-11 14:25:20 -04:00
Jeremy Andrews 214fc9bdfb Issue #2974 - Part 35: FileAvoidWrite changes and other tweaks after new gyp.
Most notable changes are the ugly stuff I had to do in FileAvoidWrite and
everything that interacts with it, which is where I expect a lot future pain
and revision to enter the picture from, if I have to revisit this part of the
work again.
2026-03-11 02:17:23 -05:00
Jeremy Andrews 3dd092c8d8 Issue #2974 - Part 34: Import new version of gyp, ensure it finds six.
Dropping this in actually just works for NSS (no promises this will hold true
with Basilisk), because gyp's design is a lot more conservative and consistent
compared with upstream Mozilla code. For some reason, the new gyp couldn't find
the six library it relies on that's already in our tree, and the library also
needed a small update. Also incorporates a few simple Python 3 tweaks to our
gyp_reader code.
2026-03-11 01:59:39 -05:00
Moonchild ade298d0a7 Merge pull request 'Issue #2990 - implement object.GroupBy' (#2991) from Basilisk-Dev/UXP-contrib:objectgroupby into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2991
2026-03-10 15:24:08 +00:00
Basilisk-Dev 387b01ce14 Issue #2990 - implement object.GroupBy 2026-03-10 10:45:54 -04:00
Moonchild 47d2094329 Merge pull request 'Issue #2926 - Tweak mimalloc performance tunables' (#2989) from Basilisk-Dev/UXP-contrib:mimalloc-tweaks into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2989
2026-03-10 13:48:48 +00:00
Basilisk-Dev 43f9a8e1f0 Issue #2926 - Tweak mimalloc performance tunables:
MI_DEFAULT_PURGE_DECOMMITS=0 - fewer costly kernel operations and fewer immediate recommit/zero-fill penalties on reuse.

MI_DEFAULT_PURGE_DELAY=500 - short-lived allocation bursts can reuse pages directly, avoiding purge/reclaim ping-pong.

MI_DEFAULT_GENERIC_COLLECT=50000 - lower background allocator housekeeping overhead on hot allocation paths.
2026-03-10 09:08:14 -04:00
Moonchild 30e287371f Issue #2987 - Part 19: Add MediaStreamAudioDestinationNode constructor. 2026-03-10 11:19:11 +01:00
Moonchild a9246d7b28 Issue #2987 - Part 18: Add MediaStreamAudioSourceNode constructor. 2026-03-10 11:19:05 +01:00
Moonchild db1d73f05d Issue #2987 - Part 17: Add MediaElementAudioSourceNode constructor. 2026-03-10 11:18:39 +01:00
Moonchild 72b14ea177 Issue #2987 - Part 16: Add AudioBuffer constructor. 2026-03-10 11:18:02 +01:00
Moonchild 430c4a3f79 Issue #2987 - Part 15: Add PeriodicWave constructor. 2026-03-10 11:17:57 +01:00
Moonchild 93ed92f63b Issue #2987 - Part 14: Add OscillatorNode constructor. 2026-03-10 11:17:53 +01:00
Moonchild 4a1312c060 Issue #2987 - Part 13: Add DynamicsCompressorNode constructor. 2026-03-10 11:17:47 +01:00
Moonchild 303e1ecf34 Issue #2987 - Part 12: Add ChannelMergerNode constructor. 2026-03-10 11:17:42 +01:00
Moonchild 57b0e4a65b Issue #2987 - Part 11: Add ChannelSplitterNode constructor. 2026-03-10 11:17:38 +01:00
Moonchild 804a301068 Issue #2987 - Part 10: Add ConvolverNode constructor. 2026-03-10 11:17:32 +01:00
Moonchild aedb8a4d08 Issue #2987 - Part 9: Add StereoPannerNode constructor. 2026-03-10 11:17:27 +01:00
Moonchild 93072ab51e Issue #2987 - Part 8: Add PannerNode constructor. 2026-03-10 11:17:22 +01:00
Moonchild ca11a325bd Issue #2987 - Part 7: Add WaveShaperNode constructor. 2026-03-10 11:17:17 +01:00
Moonchild 3b088af0b1 Issue #2987 - Part 6: Add IIRFilterNode constructor. 2026-03-10 11:17:12 +01:00
Moonchild 09e52646e9 Issue #2987 - Part 5: Add BiQuadFilterNode constructor. 2026-03-10 11:17:07 +01:00
Moonchild 26ca6f4fcc Issue #2987 - Part 4: Add DelayNode constructor. 2026-03-10 11:17:02 +01:00
Moonchild b467d710ac Issue #2987 - Part 3: Add GainNode constructor. 2026-03-10 11:16:56 +01:00
Moonchild f4f11fada8 Issue #2987 - Part 2: Add AudioBufferSourceNode constructor. 2026-03-10 11:16:49 +01:00
Moonchild 43b3b47426 Issue #2987 - Part 1: Add AnalyserNode constructor. 2026-03-10 11:16:43 +01:00
Jeremy Andrews cb559a5eb2 Issue #2974 - Part 33: Miscellaneous build system tweaks prior to new gyp.
Not really sure how to categorize these, except they are either
language-related cleanups, small bug fixes, or are careful to decode
things using the preferred OS encoding where reasonable. A lot of UTF-8 only
worked by luck because it only tried to decode ASCII bytes, or had good
replacements for bad chars due to explicit error handling.

I'm basically just commiting the last state before I update gyp, because
I can't really proceed without updating it, and that's a big enough step I want
it to have its own commit... and also don't want it mixed in with other stuff.
2026-03-09 23:28:50 -05:00
Jeremy Andrews 313dcc69fa Issue #2974 - Part 32: Fix configure sandbox builtins, update encoding guards. 2026-03-09 18:40:53 -05:00
Jeremy Andrews 367505a1b0 Issue #2974 - Part 31: Fix indented_repr and TypedTuple, remove encode.
indented_repr and encode were introducing corruption into config.status
blocking the build. TypedTuple's logic needed to change a bit due to Python 3.
encode can just be removed because it does more harm than good now.
indented_repr was fixed. Note it was always limited to ASCII range because
that's the "safe zone" CP1252 and UTF-8 have in common. Investigate replacing
this with pprint and repr if we ever need Unicode in config.status...
2026-03-09 17:44:33 -05:00
Jeremy Andrews fb669b392c Issue #2974 - Part 30: Address strict EnumString handling in OS_ARCH/OS_TARGET. 2026-03-09 17:16:11 -05:00
Jeremy Andrews b818d7905a Issue #2974 - Part 29: More fixes to virtualenv.
Wasn't as hard as I expected to get this working. Mostly just missing imports,
and they are only missing because Mozilla added a couple to the base import
that caused no issues on Python 2, but require an additional slew of imports
on Python 3.
2026-03-09 16:13:55 -05:00
Jeremy Andrews 827b1052ea Issue #2974 - Part 28: Further fixes to processhandler and winprocess.
This is apparently the one place we can't use UTF-8 on Windows, we absolutely
need CP1252 here. Mozilla originally avoided a lot of these encoding issues by
treating everything as bytes. That trick won't fly in Python 3, so we now
have to deal with text streams and face Windows and Unicode issues.

Ref: BZ 1585702
2026-03-09 16:01:44 -05:00
Moonchild 77f8cae06e Issue #2978 - Avoid empty replacements in macro expansion.
If the replacements array is empty, don't attempt to do any work on the
existing macro, and return. This should prevent infinite recursion in
some cases.
Order matters here: we're relying on the `if` statement shortcut so
`collectMacroArgs()` doesn't get called.
2026-03-09 16:04:57 +01:00
Moonchild daa31cfd59 No issue - Fix some fatal printing assertions.
- Turn a fatal assert into a warning if we can't guarantee a drawTarget.
  This should not be fatal since the DrawTarget is checked later.
- Remove a fatal assertion if a display table background is cross-document
  since non-display iframes may cause this situation without it being an
  error.
2026-03-09 11:30:38 +01:00
Moonchild b4ad4b7293 Issue #2981 - Add nullcheck in GetPointerCapabilities
Resolves #2981
2026-03-09 11:27:25 +01:00
Moonchild a2947909e8 Merge pull request 'Issue #2982 - Implement oklab/oklch' (#2983) from Basilisk-Dev/UXP-contrib:oklab-oklch into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2983
2026-03-08 07:27:26 +00:00
Jeremy Andrews 04b9a2f949 Issue #2974 - Part 27: Actually fix processhandler.py.
This is the work I was trying to avoid in my initial port... now it's time to
actually do it.

Ref: BZ 1473498, BZ 1428713, BZ 1799483
2026-03-07 22:49:29 -06:00
Jeremy Andrews d9821226cf Issue #2974 - Part 26: Clean up more bytestrings and fix busted logging system.
Also modified virtualenv.py just enough to see the next failure mode.
2026-03-07 22:20:02 -06:00
Moonchild bc2d0521e7 Merge pull request 'Implement ES2022 error.cause property' (#2984) from dbsoft/UXP:error-cause-2304 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2984
2026-03-07 21:17:22 +00:00
Moonchild 95ca42dd06 Merge pull request 'Handle special cases for certain MacOS system fonts.' (#2985) from dbsoft/UXP:mac-variation-fonts into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2985
2026-03-07 21:00:44 +00:00
Brian Smith 0c0dfca015 Issue #2304 - Part 5 - Add cause property when a cause is present.
I thought this was just to check whether it should be added, but is necessary.
2026-03-07 01:41:07 -06:00
Brian Smith 17cd2e4d07 Issue #2304 - Part 4 - Add xray support for the Error cause property.
https://bugzilla.mozilla.org/show_bug.cgi?id=1679653
2026-03-07 01:17:18 -06:00
Brian Smith f305547835 Issue #2304 - Part 3 - Implement the error cause proposal.
https://bugzilla.mozilla.org/show_bug.cgi?id=1679653
2026-03-07 00:41:42 -06:00
Brian Smith 5ee86104a8 Issue #2304 - Part 2 - Prerequisite: Teach GCPolicy about Maybe.
https://bugzilla.mozilla.org/show_bug.cgi?id=1377008
2026-03-06 23:47:55 -06:00
Jeremy Andrews 17e3d48201 Issue #2974 - Part 25: Logic changes in decorators and string_version.
In decorators.py, the original logic fails because cls.__init__ is now a
function instead of a method in Python 3.

In string_version.py, the issue is that str.__init__(self, args) is no longer a
valid way of referencing the parent class of the function, the no-argument
super() can do that in Python 3 properly by using the __class__ cell variable.

Ref: PEP 3135
https://peps.python.org/pep-3135/
2026-03-06 21:35:00 -06:00
Jeremy Andrews 151ca2805b Issue #2974 - Part 24: Stop encoding strings to bytes in configure and clobber. 2026-03-06 20:06:10 -06:00
Jeremy Andrews 93272b0ac0 Issue #2974 - Part 23: Clean up old string logic in configenvironment/mozinfo.
No real logic changes here, just obvious work.
2026-03-06 19:57:51 -06:00
Jeremy Andrews 763e812c4c Issue #2974 - Part 22: Fix-up main.py and config.py.
The bytestrings seem to break the build system. Also, get_hex is no longer a
thing, those two basestrings can become str (had to check), and
also noticed load_settings was ignoring its own argument.

Ref: BZ 1473498, BZ 1739556
https://hg-edge.mozilla.org/mozilla-central/rev/fa5e23975029
2026-03-06 18:39:10 -06:00
Basilisk-Dev 0ab247bee9 Issue #2982 - Fix regressions in the previous regression fix commit. 2026-03-06 16:27:12 -05:00
Basilisk-Dev 5370edc560 Issue #2982 - Fix regression in previous commit by handling possible floating point issues 2026-03-06 16:27:12 -05:00
Basilisk-Dev f27b6cbd21 Issue #2982 - clamp oklab/oklch to [0,1] before conversion to closer match spec 2026-03-06 16:27:12 -05:00
Basilisk-Dev de3485ed67 Issue #2982 - Make gradients work in oklch 2026-03-06 16:27:12 -05:00
Basilisk-Dev 7f8489bc11 Issue #2982 - Initial oklch test implementation 2026-03-06 16:27:07 -05:00
Brian Smith 8c1cf4cc02 Issue #2304 - Part 1 - Prerequisite: Make Handle<Maybe<>> more convenient.
This is required to implement JS::NothingHandleValue.
https://bugzilla.mozilla.org/show_bug.cgi?id=1631114
2026-03-06 13:13:21 -06:00
Moonchild b8fbac6365 Merge pull request 'Futureproof Internal ICU Whitespace' (#2980) from RealityRipple/UXP:alt-space-ex into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2980
2026-03-06 12:53:00 +00:00
Andy c7cc4ef650 Support All White Spaces in ICU Replacement from PR #2921
In case Unicode adds additional alternate spaces to formats in the future, the wsCompat argument will be ready.
I also switched over to the `u_isUWhiteSpace` alias, which is functionally identical to `UCHAR_WHITE_SPACE` at present, just in case the alias ever expands beyond the const.
2026-03-06 03:36:27 -08:00
Moonchild 9d1789b62f Merge pull request 'Stop exposing plugin preferences if support isn't built' (#2975) from 2879 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2975
2026-03-06 09:52:50 +00:00
Jeremy Andrews 6433d1d7a4 Issue #2974 - Part 21: Disable old Win32 hack on Python 3.4+
The issue requiring this only affected older versions of Python 3.
Newer Python 3 no longer requires this. Mozilla also did this in their
initial Python 3 support, after moving the hack itself from mach to
somewhere in mozbuild. This commit also unblocks newer Python versions.

Ref: BZ 1473498
https://hg-edge.mozilla.org/mozilla-central/rev/fa5e23975029
2026-03-06 03:14:53 -06:00
Moonchild 9a1c99e1a2 Issue #2879 - Stop exposing additional prefs
This stops exposing some additional preferences that are NPAPI-only.
2026-03-06 09:44:41 +01:00
Moonchild abc435f18e Merge pull request 'Futureproof ParseDate Whitespace' (#2979) from RealityRipple/UXP:alt-space into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2979
2026-03-06 08:38:44 +00:00
Jeremy Andrews ae877638e8 Issue #2974 - Part 20: Use last few fixers.
Just rush through the last ones I semi-trust...

2to3 . --fix methodattrs -wpn
''           funcattrs   ''
''           has_key     ''
''           renames     ''
''           types       ''
''           nonzero     ''

Ref:
https://docs.python.org/3/whatsnew/3.0.html
2026-03-06 02:08:07 -06:00
Jeremy Andrews e12d6ebd5e Issue #2974 - Part 19: Use various fixers.
Mostly exec and execfile, but also StandardError and sys_exc.

2to3 . --fix exec -wpn
''           execfile ''
''           sys_exc  ''
''           standarderror ''

Ref:
https://docs.python.org/3/whatsnew/3.0.html
2026-03-05 22:10:28 -06:00
Jeremy Andrews 7abb343363 Issue #2974 - Part 18: Use str instead of unicode.
The standard str is unicode now...

2to3 . --fix unicode -wpn

Ref:
https://docs.python.org/3/whatsnew/3.0.html
2026-03-05 21:38:47 -06:00
Jeremy Andrews af6ae6a1d3 Issue #2974 - Part 17: Use new unittest names.
2to3 . --fix asserts -wpn

Ref:
https://docs.python.org/3.11/library/unittest.html#deprecated-aliases
2026-03-05 21:11:31 -06:00
Jeremy Andrews 69d2d3f47d Issue #2974 - Part 16: Adapt apply.
Syntax change, also cleaning up stuff from previous change.

2to3 . --fix apply -wpn

Ref:
https://docs.python.org/3/whatsnew/3.0.html
2026-03-05 20:00:40 -06:00
Jeremy Andrews 0ce9d8f121 Issue #2974 - Part 15: Adapt itertools.
Ordinary versions of these functions are iterators now,
rather than lists...

2to3 . --fix itertools -wpn
2to3 . --fix itertools_imports -wpn

Ref:
https://docs.python.org/3/whatsnew/3.0.html#range
2026-03-05 19:46:43 -06:00
Andy 2e6dab8672 Support Unicode White Spaces in ParseDate() 2026-03-05 17:32:10 -08:00
Jeremy Andrews 0c61ee391c Issue #2974 - Part 14: Moved libraries and imports.
reduce is moved to functools, urllib reogranized.

2to3 . --fix urllib -wpn
2to3 . --fix reduce -wpn
2to3 . --fix import -wpn
2to3 . --fix imports -wpn
2to3 . --fix imports2 -wpn

Ref: PEP 3108, PEP 3100
https://peps.python.org/pep-3108/
https://peps.python.org/pep-3100/
2026-03-04 20:24:12 -06:00
Jeremy Andrews 5fdc8dd723 Issue #2974 - Part 13: Adapt octal number syntax.
Used to be like C, with 0755 or something, now it's
0o755. Also, long and int are the same type now.

2to3 . --fix numliterals -wpn
2to3 . --fix long -wpn

Ref: PEP 3127, PEP 237
https://peps.python.org/pep-3127/
https://peps.python.org/pep-0237/
2026-03-04 20:03:01 -06:00
Jeremy Andrews 5af8e3ba5c Issue #2974 - Part 12: Adapt metaclass syntax.
It seems to have moved out of the body of the function,
into the class definition. Hit this a couple times...

2to3 . --fix metaclass -wpn

Ref: PEP 3115
https://peps.python.org/pep-3115/
2026-03-04 18:55:13 -06:00
Jeremy Andrews 2f37a44b8f Issue #2974 - Part 11: Adapt iterator.next().
2to3 . --fix next -wpn

Ref: PEP 3114
https://peps.python.org/pep-3114/
2026-03-04 18:39:49 -06:00
Jeremy Andrews 6454d7492f Issue #2974 - Part 10: Adapt tuple unpacking.
2to3 . --fix tuple_params -wpn

They actually had a fixer for this?! Anyway... yeah,
Py2 allowed tuple parameter unpacking. Py3 doesn't.
However, the adaptations are fairly mechanical.

Ref: PEP 3113
https://peps.python.org/pep-3113/
2026-03-04 15:52:40 -06:00
Jeremy Andrews c77e0a8cec Issue #2974 - Part 9: Adapt input and raw_input
2to3 . --fix input -wpn
2to3 . --fix raw_input -wpn

Py2 input is the new Py3 input wrapped in eval tags.
The new input is the old raw_input.
This lets you have the old behavior. Mechanical.

Ref: PEP 3111
https://peps.python.org/pep-3111/
2026-03-04 15:16:45 -06:00
Jeremy Andrews 46f126c10c Issue #2974 - Part 8: Adapt except
2to3 . --fix except -wpn

Python 3 exception syntax is different. Comma-based syntax is gone,
much like print syntax is changed.
This lets you have the old behavior. Mechanical.

Ref: PEP 3110
https://peps.python.org/pep-3110/
2026-03-04 15:00:58 -06:00
Jeremy Andrews 4906a75883 Issue #2974 - Part 7: Adapt raise
2to3 . --fix raise -wpn

Python 3 raise syntax is different. Three-argument raise is
deprecated, much like print syntax is changed.
This lets you have the old behavior. Mechanical.

Ref: PEP 3109
https://peps.python.org/pep-3109/
2026-03-04 14:16:18 -06:00
Jeremy Andrews 8c0f0ccdcf Issue #2974 - Part 6: Adapt dict
2to3 . --fix dict -wpn

Py2 dict was a list by default, the iterator versions
were switched around to be the default.
This lets you have the old behavior. Mechanical.

Ref: PEP 3106
https://peps.python.org/pep-3106/
2026-03-04 13:56:53 -06:00
Jeremy Andrews 112c119477 Issue #2974 - Part 5: Adapt zip
2to3 . --fix zip -wpn

Py2 zip was a list, now zip is an iterator.
This lets you have the old behavior. Mechanical.

Ref:
https://www.artima.com/weblogs/viewpost.jsp?thread=208549
2026-03-04 13:29:40 -06:00
Jeremy Andrews ec4f21e5e3 Issue #2974 - Part 4: Adapt map
2to3 . --fix map -wpn

Py2 map was a list, now map is an iterator.
This lets you have the old behavior. Mechanical.

Ref:
https://www.artima.com/weblogs/viewpost.jsp?thread=208549
2026-03-04 13:22:20 -06:00
Jeremy Andrews 42fbdd74fd Issue #2974 - Part 3: Adapt filter.
2to3 . --fix filter -wpn

Py2 filter was a list, now filter is an iterator.
This lets you have the old behavior. Mechanical.

Ref:
https://www.artima.com/weblogs/viewpost.jsp?thread=208549
2026-03-04 13:13:03 -06:00
Moonchild e0b95b12da Merge pull request 'Implement ES2018 Proxy ownKeys duplicate-key invariant and update affected conformance tests.' (#2977) from Basilisk-Dev/UXP-contrib:es2018-proxy-updates into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2977
2026-03-04 17:19:08 +00:00
Basilisk-Dev 722ecd0d97 Issue #2976 - Implement ES2018 Proxy ownKeys duplicate-key invariant and update affected conformance tests. 2026-03-04 10:37:58 -05:00
Jeremy Andrews 49615281cd Issue #2974 - Part 2: Adapt range/xrange.
2to3 . --fix xrange -wpn

range takes the place of Py2 xrange.
Py2 range was a list. Mechanical, did
it by hand several times...

Ref:
https://docs.python.org/3/whatsnew/3.0.html#range
2026-03-04 08:33:16 -06:00
Moonchild e72cc38641 Issue #2879 - Remove obsolete crash reporter prefs. 2026-03-04 15:31:41 +01:00
Moonchild ae227b8743 Issue #2879 - Do not expose plugin-specific prefs if support isn't built.
- Puts prefs behind conditional defines
- Removes obsolete plugin finder pref
- Removes obsolete unrestricted xpconnect plugin pref
2026-03-04 14:54:13 +01:00
Moonchild a268e57967 Merge pull request 'Issue #2957 - make WeakRefObject finalize on main thread (no background finalize)' (#2973) from Basilisk-Dev/UXP-contrib:weakref-crash into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2973
2026-03-04 11:11:57 +00:00
Moonchild 9f05dad78c Merge pull request 'Fix clang builds on 32-bit ARM Linux.' (#2972) from dbsoft/UXP:clang-arm-linux into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2972
2026-03-04 11:10:57 +00:00
Jeremy Andrews e11fc9b4cf Issue #2974 - Part 1: Adapt all print statements.
2to3 . --fix print -wn
Essentially, print is a function instead of statement.
Ref:
PEP 3105
https://peps.python.org/pep-3105/
2026-03-04 03:48:01 -06:00
Basilisk-Dev ba0112d574 Issue #2957 - make WeakRefObject finalize on main thread (no background finalize) 2026-03-02 00:01:39 -05:00
Moonchild 5b449bc031 Merge pull request 'Issue #2551 - toSorted followup to be 100% ECMA compliant' (#2971) from Basilisk-Dev/UXP-contrib:toSortedSpec into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2971
2026-03-01 21:54:23 +00:00
Basilisk-Dev b823c130c1 Issue #2551 - toSorted followup to be 100% ECMA compliant 2026-03-01 16:33:09 -05:00
Moonchild 437d9da605 Merge pull request 'Implement ES2023 array.Prototype.toReversed()' (#2970) from Basilisk-Dev/UXP-contrib:toReversed into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2970
2026-03-01 19:07:21 +00:00
Basilisk-Dev f49a57006f Issue #2551 - Implement ES2023 array.Prototype.toReversed() 2026-02-28 16:34:04 -05:00
Brian Smith 18096194f5 No Issue - Fix clang builds on 32-bit ARM Linux.
The clang integrated assembler can't handle these files.
2026-02-28 11:45:35 +00:00
Job Bautista 8ca0f22841 Issue #2903 - Follow-up: Make types consistent with method used.
Fixes inconsistent use of XML_Error, uint32_t and int32_t.
2026-02-27 18:48:06 +01:00
Brian Smith b4e9888d91 No Issue - Handle special cases for MacOS system fonts.
Work done by Jazzzny based on the following bugs:
https://bugzilla.mozilla.org/show_bug.cgi?id=1321031
https://bugzilla.mozilla.org/show_bug.cgi?id=1349308
Example page:
http://codepen.io/dangayle/pen/RpMVqY
2026-02-26 19:14:46 -06:00
Moonchild 30b01396b4 Merge pull request 'Update libtheora to 1.2.0' (#2966) from jobbautista9/UXP:theora-1.2.0 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2966
2026-02-26 21:29:17 +00:00
Moonchild 9343129fbb Merge pull request 'Follow up to address libvpx issues on older MacOS and PowerPC platforms.' (#2969) from dbsoft/UXP:libvpx-mac-fixes into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2969
2026-02-26 20:34:19 +00:00
Moonchild e79ddda9de No issue - Fix build issue.
Unified build deprot on some targets causing issues with the recently
added `mozilla:KnownNotNull` without this header.
2026-02-26 20:15:45 +01:00
Moonchild f84c92881d [parser] Account for some corner-case structural document issues. 2026-02-26 09:48:23 +01:00
Moonchild aeafa7fef8 [MFBT] Reduce size() calls in subspan. 2026-02-26 08:21:45 +01:00
Moonchild ff3db332fe [libjar] Throw when we know a file was truncated. 2026-02-26 07:51:57 +01:00
Brian Smith 68d53612af Issue #2925 - Follow-up: Fix Mac Intel and PowerPC 10.5-10.11 builds.
clock_gettime() is not available prior to 10.12, so use Mach's clock_get_time().
pthread_setname_np() is not available prior to MacOS 10.6, so guard that.
libvpx does not support big endian, so only use VPX acceleration on ppc64le.
2026-02-25 23:35:33 -06:00
Moonchild 0fb9b4abbf [WebAudio] Gracefully handle mid-stream audio changes. 2026-02-26 00:03:19 +01:00
Moonchild ab442f72b9 Merge pull request 'Issue #2925 followup 2 - Restore previous GlobalFree behavior from before SCTP upgrade in sctp_bsd_addr.c' (#2968) from Basilisk-Dev/UXP-contrib:sctp-followup-2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2968
2026-02-25 19:49:05 +00:00
Moonchild b85d16b615 [WebRTC] Ensure valid image size.
Extremely small encoded image sizes should be considered corrupt data.
Drive-by improvement: make sure to cast the encoded image data length
to uint32_t for use with `CreateEmptyFrame`
2026-02-25 20:01:52 +01:00
Moonchild cc7d9550bc No issue - Modernize nsWindowWatcher
Get rid of old hacky conditional code and use weak references.
2026-02-25 18:48:56 +01:00
Basilisk-Dev bc2d2edbef Issue #2925 followup 2 - Restore previous GlobalFree behavior from before SCTP upgrade in sctp_bsd_addr.c 2026-02-25 12:29:13 -05:00
Moonchild bc5c6c7563 [WASM] Make sure to assign module 2026-02-25 17:13:33 +01:00
Moonchild 0d971f0c5a [WASM] Improve WasmModuleObject handling in WasmJS.cpp 2026-02-25 16:45:20 +01:00
Moonchild 99d225ae7f Merge pull request 'Issue #2925 followup - Fix intermittent Windows crashes after SCTP upgrade' (#2967) from Basilisk-Dev/UXP-contrib:2925-sctp-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2967
2026-02-25 13:59:07 +00:00
Moonchild 4bb7951324 No issue - Don't assign non-live hash table entry.
The problem here is that we use move assignment on a hash table entry that
is not live. Although all entries are constructed by
`HashTable::createTable`, they may subsequently be destroyed by
`HashTableEntry::destroyStoredT()`.

Therefore it is not safe to call any methods on a non live entry.
This causes a problem for GC barrier wrappers which assume that the object
state is valid (and presumably anything that does more than just write the
assigned data into memory).

The fix is to construct a new entry in-place.

Based on work by Jon Coppeard <jcoppeard@mozilla.com> in Bug 2009608
2026-02-25 14:53:42 +01:00
Basilisk-Dev 20c29f74b4 Issue #2925 followup - Fix intermittent Windows crashes after SCTP upgrade 2026-02-25 08:30:18 -05:00
Job Bautista d9a4414ef0 Issue #2965 - Update libtheora to 1.2.0. 2026-02-25 20:55:00 +08:00
Moonchild 56be1ceaef Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2026-02-24 20:28:44 +01:00
Moonchild fd0ddefa03 Merge pull request 'Issue #2925 - Uprade libvpx to 1.16.0' (#2963) from Basilisk-Dev/UXP-contrib:libvpx-upgrade into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2963
2026-02-24 19:27:39 +00:00
Brad Werth 00e3d12e1d [gfx] Use gzip stream total_out for SVG document parsing.
With this change, the assert is no longer necessary, because the stream
tells us how many elements to process.
2026-02-24 19:15:41 +01:00
Basilisk-Dev 3a81d02c0f Issue #2925 - Fix Windows x64 2026-02-24 09:34:18 -05:00
Basilisk-Dev 5fbb929250 Issue #2925 - Work around x86 bug in libvpx 2026-02-24 09:33:16 -05:00
Moonchild 4cb28647fe Merge pull request 'Text Cluster Optimization' (#2962) from RealityRipple/UXP:better-grapheme into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2962
2026-02-24 09:45:51 +00:00
Basilisk-Dev 002240592a Issue #2925 - Upgrade libvpx to 1.16.0 2026-02-23 16:10:38 -05:00
Andy 8f95d938d5 Optimize ClusterIterator::Next
This is based on BZ 1820504, which notes that running `GetEmojiPresentation()` before checking `prevWasZwj` adds load time to all text, as opposed to more efficiently making `prevWasZwj` the precursor to categorizing the character.
The original patch uses an enum for `baseIsEmojiStatus`; I figured I'd simplify things with numeric values (0 = unset, 1 = yes, 2 = no).
2026-02-23 11:02:02 -08:00
Moonchild c66294c51a Merge pull request 'Issue #2925 - Upgrade usrsctp library to latest version' (#2948) from Basilisk-Dev/UXP-contrib:sctp-upgrade into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2948
2026-02-22 15:50:40 +00:00
Moonchild abc96cf444 No issue - Fix cairo warnings
This fixes warning spew because warnings are thrown in case of mixed use
of cairo_status_t and cairo_int_status_t, which is a hack in cairo
because C99 doesn't support real enums (it's mapped to uint8 internally).
The "register" storage type is no longer a thing in C++17, which would
also warn; just letting the compiler decide is best, so just removing
the keyword is the proper solution in cairoint.h
2026-02-22 14:20:37 +01:00
Moonchild a3019dddc1 Merge pull request 'Implement HTMLFormElement.requestSubmit(element)' (#2956) from 2955 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2956
2026-02-22 09:46:55 +00:00
Moonchild bd03f965a3 Issue #186 - Follow-up: Remove AIX references from moz.build.
This should not be kept around because AIX is not a valid OS_TARGET.
2026-02-22 07:06:12 +01:00
Moonchild 358d39d4bf Merge pull request 'Remove remaining AIX specific code' (#2960) from 186 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2960
2026-02-22 05:59:51 +00:00
Moonchild 77571794a3 Merge pull request 'Remove iOS support' (#2959) from 190 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2959
2026-02-22 05:58:29 +00:00
Jeremy Andrews a935ef810c Issue #186 - Remove AIX references from moz.build.
This should not be kept around because AIX is not a valid OS_TARGET and I've seen mach fail at least once because of these. Meant to clean them up years ago.
2026-02-21 15:43:48 -06:00
Moonchild eb731d1377 Issue #186 - Remove various AIX leftovers in 1st party code. 2026-02-21 21:30:08 +01:00
Moonchild c275325fbf Issue #186 - Remove an ancient workaround for AIX.
This was missed before in a rather typical "do it 3/4 of the way" fashion.
2026-02-21 21:11:38 +01:00
Moonchild 84da3d4817 Issue #190 - Fix incorrectly applied patch.
For some reason the rebase removed the endif in the wrong place...
2026-02-21 19:23:42 +01:00
Jeremy Andrews c868ea1f58 Issue #190 - Remove MOZ_IOS conditional code and ios.m4 2026-02-21 18:58:35 +01:00
Jeremy Andrews d5e385dc73 Issue #190 - Remove UIKit conditional code. 2026-02-21 18:55:44 +01:00
Moonchild d49758ace1 Issue #2955 - Implement form.requestSubmit(element) 2026-02-20 09:57:46 +01:00
Moonchild f3ee6e294f Merge pull request 'Ensure decoding the first frame of a video always succeeds' (#2954) from jobbautista9/UXP:mFirstFrameTime into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2954
Reviewed-by: Moonchild <moonchild@palemoon.org>
2026-02-19 16:54:03 +00:00
Job Bautista dea96fe9d3 Issue #2949 - Part 2 Follow-up: Check if first frame has been decoded for software fallback.
Now that we can check if the first frame has been decoded thanks to Issue #2953
we should ensure that the first frame actually has not been decoded before
checking if the media errored out.
2026-02-20 00:23:31 +08:00
Job Bautista 29a5e8df12 Issue #2953 - Part 4: Don't attempt to skip to next keyframe if there are none.
Demuxers don't typically return an error when they don't have a future
keyframe, they return infinity.
2026-02-20 00:23:27 +08:00
Job Bautista 51941fd085 Issue #2953 - Part 3: Assert that no error can occur while an internal seek is pending.
An internal seek occurs when we've reached a data gap, EOS or a previous error got skipped.

During this time, the decoder has been either flushed or shut down.
2026-02-20 00:23:21 +08:00
Job Bautista 64ea5dd93a Issue #2953 - Part 2: Don't attempt to continue decoding if no next keyframe.
When we have no future keyframe and an error occurred, we can't skip over
anything and we shouldn't try to simply decode the next video frame; so we
abort early.
2026-02-20 00:23:15 +08:00
Job Bautista a42d420ee5 Issue #2953 - Part 1: Attempt to decode the first frame again if error occurred. 2026-02-20 00:23:00 +08:00
Basilisk-Dev 060995dfff Issue #2925 - Incorporate FreeBSD patch from dbsoft after usrsctp upgrade 2026-02-19 07:46:37 -05:00
Moonchild 991bd7b460 Merge pull request 'Update libjxl to 0.11.2 for security fixes and spot fix for Big Endian issue.' (#2951) from dbsoft/UXP:jxl-updates into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2951
2026-02-19 12:00:19 +00:00
Moonchild db503078d0 Merge pull request 'Allow fallback to software decoding when WMF VP9 hardware decoding fails' (#2950) from jobbautista9/UXP:wmf-vp9-blank-hwa-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2950
2026-02-19 08:42:52 +00:00
Job Bautista 8ee58d2591 Issue #2949 - Part 4: Don't attempt to use WMF VP9 decoder for profiles 1 and 3.
The Windows VP9 hardware decoder currently does not support anything else than
profiles 0 and 2 (YUV420) and return garbage when decoding.

We error on those streams allowing to fall back on the ffvp9 software decoder.
2026-02-19 14:31:47 +08:00
Job Bautista c340a1dcd2 Issue #2949 - Part 3: Add method to read a VP9 profile from a VP9 bitstream
We haven't moved BitReader out of stagefright yet (BZ 1417011), but the reader
there works.
2026-02-19 14:27:10 +08:00
Job Bautista 774a6aa4dd Issue #2949 - Part 2: When hardware decoding fails, fall back to software
Unlike the original patch we don't have the infrastructure provided by Mozilla
BZ 1363668 yet to determine if we've decoded the first frame. This is not
required for checking whether we've errored out on hardware decoding though.
2026-02-19 14:22:39 +08:00
Job Bautista b2566429fc Issue #2949 - Part 1: Add option to disable hardware decoding. 2026-02-19 14:20:23 +08:00
Basilisk-Dev f66bcb4f23 Issue #2925 - Upgrade usrsctp library to latest version 2026-02-18 18:34:59 -05:00
Brian Smith 0e7430735e Issue #2697 & #2051 - Follow-up: Spot fix a JPEG-XL big endian issue.
Rewrote the patch from the main branch because it requires newer Highway versions.
Original patch needs Highway Endian and ARM64 MulOdd() Vec128<int32_t> support.
2026-02-18 17:08:33 -06:00
Brian Smith 905c7e8785 Issue #2697 - Follow-up: Update libjxl to 0.11.2 for security updates.
Fix tile dimension in low memory rendering pipeline.
CVE-2025-12474 - https://www.cve.org/cverecord?id=CVE-2025-12474
Fix number of channels for gray-to-gray color transform.
CVE-2026-1837 - https://www.cve.org/cverecord?id=CVE-2026-1837
And one security fix without a CVE.
2026-02-18 15:33:19 -06:00
Moonchild 9d91a43142 Merge pull request 'Fix WMF hardware decoding for VP9 and enable it by default' (#2947) from jobbautista9/UXP:wmf-vp9-videomft-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2947
2026-02-17 08:23:02 +00:00
Job Bautista 53bac56f36 Issue #2946 - Enable WMF VP9 decoder by default. 2026-02-17 16:07:14 +08:00
Job Bautista e85fff2f10 Issue #2946 - Override sample duration if unknown.
Based on Mozilla bug 1371290's part 2.

The VP9 decoder doesn't properly set the sample duration, leading to all
samples being marked as having a zero duration. The compositor drops those
frames incorrectly.
2026-02-17 16:03:44 +08:00
Moonchild 839236c912 Merge pull request 'Manual Tibetan Word Wrap' (#2945) from RealityRipple/UXP:tibetan-wrap into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2945
Reviewed-by: Moonchild <moonchild@palemoon.org>
2026-02-17 07:57:34 +00:00
Moonchild 1e3fddbe14 Merge pull request 'Add Special Lithuanian Casing' (#2943) from RealityRipple/UXP:lithuanian-1322992 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2943
2026-02-17 07:56:04 +00:00
Andy b5576d1485 Remove Android from Mozilla Import 2026-02-16 14:55:34 -08:00
Andy 524b466197 Nit: Drop clang-format 2026-02-16 14:49:47 -08:00
Moonchild 7d1b245754 Merge pull request 'CLDR Pluralities' (#2944) from RealityRipple/UXP:plural-forms into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2944
Reviewed-by: Moonchild <moonchild@palemoon.org>
2026-02-16 22:31:37 +00:00
Andy 64a0846a1c Add Manual Tibetan Line Breaking
https://bugzilla.mozilla.org/show_bug.cgi?id=1647377
and
https://bugzilla.mozilla.org/show_bug.cgi?id=1736393
2026-02-16 12:57:03 -08:00
Andy 118bd414d4 Add Special Lithuanian Casing
https://bugzilla.mozilla.org/show_bug.cgi?id=1322992
2026-02-16 11:10:31 -08:00
Andy 3f319c5f29 Update CLDR Plural Forms
Move Macedonian to 15 - https://bugzilla.mozilla.org/show_bug.cgi?id=1415906
Add Shuar (17) - https://bugzilla.mozilla.org/show_bug.cgi?id=1396724
Add Welsh (18) - https://bugzilla.mozilla.org/show_bug.cgi?id=1428366
Add Slavic (19) - https://bugzilla.mozilla.org/show_bug.cgi?id=1533435
2026-02-16 00:58:32 -08:00
Jazzzny 8b06eaa8fc Issue #2051 - Follow-up: Reverse filter channel order on big-endian. 2026-02-15 17:58:31 +01:00
Moonchild e62bd7c533 Merge pull request 'Fix for runtime problems with Pale Moon and others on FreeBSD 15.' (#2942) from dbsoft/UXP:freebsd15-rpath-fix3 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2942
2026-02-14 19:58:49 +00:00
Brian Smith 0839a82f80 Issue Pale-Moon#2009 - Add $ORIGIN to the runtime path on FreeBSD.
Following what we do on Solaris, add $ORIGIN using MOZ_FIX_LINK_PATHS.
Also change the mode to copy from symbolic links so it finds the libs.
2026-02-14 11:40:45 -06:00
Moonchild 4cbaf927d9 Bump goanna version 2026-02-14 12:14:29 +01:00
Moonchild b4f364c385 Merge pull request 'Issue #2229 - Fix assertions in top-level await on x86_64' (#2941) from Basilisk-Dev/UXP-contrib:2229-x86-assert-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2941
2026-02-13 14:50:21 +00:00
Basilisk-Dev 6ede629146 Issue #2229 - Fix assertions in top-level await on x86_64 2026-02-13 09:06:59 -05:00
Moonchild c684599599 Merge pull request 'Restore MacOS 10.6 32-bit support, WebRTC support on 10.5 and other (Snow) Leopard fixes.' (#2940) from dbsoft/UXP:mac-leopard-fixes2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2940
2026-02-13 11:15:22 +00:00
Moonchild c9bfd79ae0 Merge pull request 'Issue #2229 - Fix debug builds when visiting pages that utilize top-level await' (#2939) from Basilisk-Dev/UXP-contrib:2229-fix-debug into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2939
2026-02-12 19:52:44 +00:00
Basilisk-Dev 6d3f71d200 Issue #2229 - Fix debug builds when visiting pages that utilize top-level await
Fix JSOP_AWAIT stack modeling for top‑level await in modules.
Ensure yield/await offsets are emitted for TLA scripts.
Allow interpreter prologue for resumed TLA module frames.
Fix MediaQueryList invariant for onchange handler.
2026-02-12 14:38:25 -05:00
Brian Smith 620e391be7 Issue #1829 - Follow-up Part 8: Add a pref to enable the resize grip/thumb.
MacOS prior to Lion 10.7 had an area in the bottom right of the window used for resizing.
With the resize indicator enabled, a grip or thumb is drawn in the corner over the contents.
This may or may not be desirable based on the application. So this preference allows the
application to choose the default which the user can override in about:config using the pref:
ui.mouse.resize_grip
2026-02-11 23:58:12 -06:00
Brian Smith 532a1355ce Issue #1829 - Follow-up Part 7: Restore support for scrollbar arrows on Leopard and Snow Leopard. 2026-02-11 18:02:20 -06:00
Brian Smith 03367d9c41 Issue #2051 - Follow-up Part 3: Fix ycbcr display issues on Big Endian. 2026-02-11 15:35:55 -06:00
Brian Smith 6ebd205c8e Issue #1829 - Follow-up Part 6: Fix font recursion problems on Leopard and Snow Leopard. 2026-02-11 15:35:55 -06:00
Brian Smith 7276ea00a7 Issue #1829 - Follow-up Part 5b: Remove Radeon X1000 from the block list.
This is reported working.
2026-02-11 15:35:55 -06:00
Brian Smith 7a5c56bc58 Issue #1829 - Follow-up Part 5a: Add Getforce FX to the MacOS block list. 2026-02-11 15:35:55 -06:00
Brian Smith 9e064c7045 Issue #1829 - Follow-up Part 5: Update driver blocklist handling for Leopard.
Disable WebGL on 10.5.
2026-02-11 15:35:55 -06:00
Brian Smith 6933bfe783 Issue #1829 - Follow-up Part 4: Restore draw in titlebar support for Leopard. 2026-02-11 15:35:55 -06:00
Brian Smith 5e81fb065a Issue #1829 - Follow-up Part 3: Restore WebRTC support for Leopard.
Restore QTKit based video capture for 10.5 which does not have AVFoundation.
Add -fpermissive to CXXFLAGS in the build system for Mac 32-bit PowerPC.
This works around a type issue with Atomic32 and AtomicWord.
These two types should be interchangeable.
2026-02-11 15:35:54 -06:00
Brian Smith f08b4276ea Issue #1829 - Follow-up Part 2: Restore 32-bit Intel Mac builds.
Add ffvpx configuration for 32-bit Intel Mac.
Replace PPC checks with 10.5 or 10.6 checks.
2026-02-11 15:11:10 -06:00
Brian Smith 45d7dda330 Issue #1829 - Follow-up Part 1: Restore MacOS 10.6 support.
Also update Leopard and Snow Leopard scrollbar handling.
Fixes menu icon scaling.
Hide the resize thumb on Leopard and Snow Leopard so it looks the same as Lion.
Fixes from Jazzzny.
2026-02-11 15:11:10 -06:00
Moonchild a8f1878ff3 Merge pull request 'Issue #2229 Followup - Handle re-entrant module instantiation/evaluation during async module loads' (#2938) from Basilisk-Dev/UXP-contrib:2229-top-level-await-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2938
2026-02-11 16:30:22 +00:00
Basilisk-Dev d0ec80aa86 Issue #2229 Followup - Handle re-entrant module instantiation/evaluation during async module loads 2026-02-11 09:46:46 -05:00
Moonchild a9257dea7d Merge pull request 'Implement pointer and hover @media queries' (#2935) from pointer-hover-mediaqueries into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2935
2026-02-10 21:19:31 +00:00
Moonchild af5d12a154 Merge pull request 'Implement top level await functionality' (#2937) from Basilisk-Dev/UXP-contrib:2229-top-level-await into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2937
2026-02-10 21:17:11 +00:00
Basilisk-Dev fb4ebd7838 Issue #2229 - Add top level await tests 2026-02-10 14:59:26 -05:00
Basilisk-Dev 7ace23060a Issue #2229 - Add comment regarding JIT to top level await code 2026-02-10 14:59:26 -05:00
Basilisk-Dev 19504eed91 Issue #2229 - add better comments on top level await code 2026-02-10 14:59:26 -05:00
Basilisk-Dev 7c72b41e2c Issue #2229 - Initial implementation of top level await functionality 2026-02-10 14:59:04 -05:00
Moonchild 6fc971d8c0 Issue #2909 - Fix build issues when targeting Windows 7.
Despite Windows 7 supporting Tablet Mode and screen orientation just fine
(I had a Win 7 tablet PC back when), Microsoft decided that starting with
the Windows SDK 10.0.22621.0, the enum and types for auto-rotation should
no longer be defined, so we have to define them ourselves.
2026-02-07 13:27:39 +01:00
Moonchild a410f9e553 Issue #2909 - Base implementation of media interaction features.
This implements `hover`, `pointer`, `any-hover` and `any-pointer` and
the values `course`/`fine` (pointer) and `hover`.
A best effort is made to get capabilities from the system but if unknown
always falls back to assuming a mouse is present.
2026-02-07 13:24:34 +01:00
Moonchild a00f48f894 Merge pull request 'Solve imgLoader crashes' (#2929) from imgLoader-crash-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2929
2026-02-07 08:31:08 +00:00
Moonchild 699d64c8f3 Merge pull request 'Ensure that CancelAndForgetObserver removes itself from the cache validator' (#2933) from mittorn/UXP:2932 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2933
2026-02-07 08:00:05 +00:00
mittorn c6bc9d5a8c Issue #2932 - Ensure that imgRequestProxy::CancelAndForgetObserver removes itself from the cache validator
https://hg-edge.mozilla.org/releases/mozilla-beta/rev/af82d0c33427
2026-02-06 23:14:54 +00:00
Moonchild e96431e1c1 Merge pull request 'Issue #2551 Part 1 - Implement ES2023 array.prototype.toSorted()' (#2931) from Basilisk-Dev/UXP-contrib:array-to-sorted into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2931
Reviewed-by: Moonchild <moonchild@palemoon.org>
2026-02-06 14:20:36 +00:00
Basilisk-Dev 773aa9dcc3 Issue #2551 - comment toSorted implementation 2026-02-06 06:54:54 -05:00
Moonchild 998086ca31 No Issue - Remove redundant OS check for toolkit/fonts
This is already guarded by MOZ_BUNDLED_FONTS one level higher and blocks
--enable-bundled-fonts from working on other OSes
2026-02-06 10:44:03 +01:00
Basilisk-Dev 7abbbc6cf4 Issue #2551 - Add toSorted test and do some final tweaks to toSorted to be compliant 2026-02-05 10:33:42 -05:00
Basilisk-Dev 1873f5df88 Issue #2551 - Ensure toSorted is 100% spec compliant per multiple tests 2026-02-05 09:53:39 -05:00
Moonchild f39980b4c7 Issue #2928 - Add extra checks to nsExpirationTracker.
Turn some asserts into early exits and add sanity checks.
Also check main thread access for the fake mutex and report.
2026-02-05 13:44:21 +01:00
Basilisk-Dev 40ac200988 Issue #2551 - Initial attempt at toSorted implementation 2026-02-04 09:55:14 -05:00
Moonchild 4344b62a3a Issue #2928 - Improve imgLoader cache queue handling.
- Convert the imgCacheQueue to nsTArray from Vector
- Avoid marking the queue dirty when element operations are performed
that don't upset the sort order. This should improve performance as well.
2026-02-04 09:40:22 +01:00
Moonchild 3267ae2ef7 Issue #2928 - Avoid searching the image cache queue for an entry after we just popped it off the queue. 2026-02-04 09:07:23 +01:00
Moonchild 1eb24b9f9c Issue #2928 - Always refresh dirty queue. 2026-02-03 10:17:19 +01:00
Moonchild a9e11bdca7 Issue #2928 - Re-order imgLoader::RemoveFromCache
Remove from tracker first before removing from cache, and if the cache
queue is dirty, refresh it (causes a re-heap) before manipulating further.
2026-02-03 08:51:06 +01:00
Moonchild 02fb8a4ca3 Issue #2928 - Check mCacheQueue size before removing entries.
Resolves #2928
2026-02-03 08:10:37 +01:00
Moonchild d62f6b37bf Revert "Issue #2928 - Check mCacheQueue size before removing entries."
This reverts commit aaae14d111.
2026-02-03 07:52:14 +01:00
Moonchild aaae14d111 Issue #2928 - Check mCacheQueue size before removing entries.
Resolves #2928
2026-02-02 18:43:28 +01:00
Moonchild 672c153d73 No issue - Enable performance observers by default in the platform.
Performance observers have shown to be stable in daily use, so we should
enable this by default. Any applications building on UXP can decide for
themselves whether to explicitly enable or disable this API.
2026-02-01 19:26:11 +01:00
Basilisk-Dev a1a2a6f9ce Issue #2403 - Implement SubmitEvent functionality (#2919)
# Summary

Added SubmitEvent support (constructor, submitter attribute) and wired form submit events to produce SubmitEvent instances.

Implemented SubmitEvent DOM class, WebIDL, and build hooks.

Added a test file (logs to console).

# Notes

Form submissions already carry the originating control in `InternalFormEvent::mOriginator`, so `SubmitEvent.submitter` can be populated directly from the existing event data without invasive changes to form submission logic.

`EventDispatcher` now returns `SubmitEvent` specifically for `eFormSubmit`, keeping other form events (e.g., reset) unchanged.

`event.submitter` is set for user-initiated submits via the originating submit control.

`new SubmitEvent("submit", { submitter })` returns the provided submitter (or `null` if omitted).

# Ways to test
Go to repo.palemoon.org. You will no longer see the message `This browser doesn't have "SubmitEvent" support, use a tricky method to polyfill` in the console. The site will work as expected without loading this polyfill anymore.

Go to GitHub. You will now be able to mark notifications as read.

Open the test file submitted in this PR. You will see the results of the test in the browser console.

Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2919
Co-authored-by: Basilisk-Dev <basiliskdev@protonmail.com>
Co-committed-by: Basilisk-Dev <basiliskdev@protonmail.com>
2026-01-29 00:40:09 +00:00
Moonchild 006caf963a Merge pull request 'More fixes for MacOS 10.5 and PowerPC' (#2907) from WolfReiser/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2907
2026-01-28 22:35:33 +00:00
Moonchild b314539aa8 Merge pull request 'Issue #2351 - Fix WebRTC video encode/decode on MacOS/Linux/Windows' (#2920) from Basilisk-Dev/UXP-contrib:webrtc-fix-video into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2920
2026-01-28 22:32:54 +00:00
Moonchild aac26aa7fa Merge pull request 'Return Standard Space to Formatted Times with Day Periods' (#2921) from RealityRipple/UXP:space-time into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2921
2026-01-28 22:24:32 +00:00
Andy aefe484468 Whitespace Compatibility for ICU 72+
ICU replaced the space prefixing the period with a narrow, non-breaking space, and occasionally, a thin space.
Until the rest of the world's scripts are ready to support this new convention, we un-replace these two whitespace characters with spaces again, but only in formatted dates and times.
This is not an ideal solution, as it could be possible that a custom format using one or both of these characters may be requested intentionally elsewhere in the string, but for now, this appears to be what other browsers do, so we're at least in parity with their edge case behavior.
2026-01-28 13:49:42 -08:00
Basilisk-Dev f9b633adcd MoonchildProductions/UXP#2351 - Fix webrtc for Windows and Linux based on MacOS fix 2026-01-28 09:15:19 -05:00
Basilisk-Dev a5f3d76fda MoonchildProductions/UXP#2351 - Fix webrtc video encoding on macos 2026-01-28 00:58:06 -05:00
Moonchild 2098629f2d Issue #2895 - Follow-up: Fix whitespace. (no code changes)
The Xoroshgiro128++ MFBT header file was initially committed with CRLF.
2026-01-27 11:45:55 +01:00
Moonchild c67dc90bb8 Issue #2895 - Implement 32-bit compatible Xoroshiro128++
This puts in a reduced-register version of Xoroshiro128++ which /just/
fits in our x86 7-register space by making use of an extra mState to
temporarily store the result to be passed back.

Resolves #2895
2026-01-27 11:43:43 +01:00
Moonchild 69945a779c Merge pull request 'Update eventPtr/eventEndPtr for XML_ParseBuffer' (#2918) from FranklinDM/UXP-contrib:work_expat-2_7_3-xmlparse-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2918
2026-01-27 07:28:31 +00:00
Francis Dominic Fajardo f8de26bf0c Issue #2889 - Follow-up: Add patch for XML_ParseBuffer. 2026-01-26 23:43:21 +08:00
Francis Dominic Fajardo 603cc43e14 Issue #2889 - Follow-up: Update eventPtr/eventEndPtr for XML_ParseBuffer 2026-01-26 23:43:21 +08:00
Moonchild 4b4d734897 Merge pull request 'Restore the ability to set a default log level when using MOZ_LOG' (#2917) from FranklinDM/UXP-contrib:work_log-restore-default-log-level-support into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2917
2026-01-26 12:14:40 +00:00
Moonchild cb629d38aa Merge pull request 'Issue #2911 - Add optional mimalloc allocator support (build-time)' (#2910) from Basilisk-Dev/UXP-mimalloc:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2910
2026-01-26 12:14:04 +00:00
Francis Dominic Fajardo 07b05ebc21 Issue #2916 - Restore the ability to set a default log level when using MOZ_LOG 2026-01-26 19:04:37 +08:00
Moonchild 6debbcd228 Merge pull request 'Follow-up: Simplify rule node tracking and ensure rule walker state isn't reset for the first child processor' (#2915) from FranklinDM/UXP-contrib:work_css-simplify-rn-tracking-no-reset into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2915
2026-01-25 10:30:32 +00:00
Francis Dominic Fajardo 6258c24c8c Issue #2828 - Follow-up: Simplify rule node tracking and ensure rule walker state isn't reset for the first child processor
Styles contained in NAC shouldn't be tracked with their own rule node (as opposed to what was done in https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2859) because it causes precedence issues. This should now more closely imitate the original behavior where NAC and regular document styles (at least, the "unlayered" layer) are grouped together.

This also gets rid of the manual last rule node checks against null, since they are now consistently handled by the separate function.
2026-01-25 16:49:55 +08:00
Moonchild b5a5ea161a Issue #2895 - Follow-up: adjust jit on 32-bit platforms to use Xorshift
The jit assembly implementation of Xoroshiro128++ on 64-bit platforms is
unsuitable for 32-bit because it requires more registers than our jit
can reasonably provide (7 usable/8 total), causing run-time issues.
As a workaround for this, this commit splits the jit version of PRNG up
into Xorshift128+ for 32-bit targets and Xoroshiro128++ everywhere else.
The C++ version in MFBT remains Xoroshiro128++ on all platforms.

While not ideal, the PRNG on 32-bit will still be suitably performant and
with small enough deviations for all practical purposes in Math.random()
in JavaScript. Since this is a PRNG, there are no concerns about
reproducibility of results, only proper statistical distribution of values.

Also some drive-by corrections to comments in MFBT:
- Incorrect statement that the period is 2^256-1. It is 2^128-1
- More readable comments by using standard operator characters for power.

Resolves #2895 (again)
2026-01-24 14:50:57 +01:00
Moonchild 1462612e3c Issue #2914 - Explicitly allow mixed content websockets on localhost.
This carves out an exception for hard-coded loopback addresses to allow
`ws:` connections from `https:` to allow mixed-mode from secure pages.

Resolves #2914
2026-01-23 23:09:58 +01:00
Basilisk-Dev 75d0cedb1a Incorporate patch by dbsoft to fix mimalloc build on freebsd 2026-01-21 16:41:08 -05:00
Basilisk-Dev f660e617a3 Fix issues with Windows segfaulting when building with mimalloc 2026-01-19 00:15:52 -05:00
Basilisk-Dev a454e08683 Define MI_WIN_NOREDIRECT on Windows to avoid linker error 2026-01-16 22:08:13 -05:00
Basilisk-Dev 5bbc63d590 Update mimalloc readme 2026-01-16 22:06:14 -05:00
Basilisk-Dev b514d09a14 Fix segfaults when running with mimalloc on Linux 2026-01-16 16:42:19 -05:00
Basilisk-Dev d828b69cd1 Fix building mimalloc in Linux 2026-01-16 14:40:22 -05:00
Basilisk-Dev 067ec2edd4 Add mimalloc as optional allocator
Vendors mimalloc sources and adds --enable-mimalloc as a mutually exclusive alternative to jemalloc, wiring it through mozalloc/mozglue and build config.
2026-01-16 11:42:28 -05:00
Sergey Larin 01719ee5c5 Fix crash in nsContainerFrame::GetChildLists on 32-bit Big Endian platforms
Happens when going into fullscreen when playing a video.
There is a conflict between reinterpret_cast and memcpy
when using uint64_t as a storage. When memcpy'ing a pointer
into uint64_t value, and then reinterpret_cast'ing it back
on Big Endian, you'll get a null pointer value because
pointer was stored in top uint64_t bits, and reinterpret_cast
works on lower bits. Fix makes ReinterpretHelper public -
this is not a good practice to make implementation detail
accessible, but ForEach is already bad anyway providing raw
uint64_t value to the user. I don't think that
std::visit-like interface is possible because there's no
direct link between property and parameter stored. Also
upstream Firefox has this bug too.
2026-01-16 12:37:45 +02:00
Sergey Larin 5e4e7df657 Fix assertion failure in audiounit_close_stream on PPC MacOS
Happens when audiostream is destroyed, i.e. when sound
playback stops. This is because stm->mutex should be locked,
as this is checked inside audiounit_close_stream.
2026-01-16 12:37:42 +02:00
Sergey Larin 0c1671073e Fix crash in trackingAreaView on MacOS 10.5
Happens on exit when deallocating trackingAreaView.
Possibly after playing a video.
Fix from Mozilla upstream:
https://phabricator.services.mozilla.com/D212949
https://bugzilla.mozilla.org/show_bug.cgi?id=1880582
2026-01-16 12:37:40 +02:00
Sergey Larin 3a42d26c36 Use CoreGraphics backend on Big Endian MacOS 2026-01-16 12:37:20 +02:00
Moonchild fb1a7e64b5 [gfx] Add some additional sanity checks to cairo surface creation. 2026-01-15 11:20:10 +01:00
Moonchild fa7638a731 [XPCOM] Add hashkey helper classes for future use.
These aren't currently used but will be good to have in case we need them
for future porting from Mozilla.
2026-01-15 10:27:53 +01:00
Moonchild d9228b5517 Merge pull request 'MacOS PowerPC Support Fixes' (#2905) from dbsoft/UXP:macppc-fixes10 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2905
2026-01-14 22:04:29 +00:00
Moonchild b9e6492480 [NSS] Update NSS to 3.90.9 2026-01-14 22:30:19 +01:00
Moonchild 28e6fad462 [Auth] Only set GSS_C_DELEG_FLAG flag when we confirm server supports delegation. 2026-01-14 21:50:24 +01:00
Moonchild c2ae3266c2 [DOM] Check worker script size
Abort loading worker scripts if they are ridiculously huge.
2026-01-14 19:50:08 +01:00
Moonchild 195251fc12 [gfx] Fix typo in 9b52703451 2026-01-14 19:46:11 +01:00
Moonchild 9b52703451 [gfx] Use better types for cairo image surface manipulations. 2026-01-14 16:15:09 +01:00
Moonchild 84d42d8177 [gfx] Be more explicit when converting to cairo formats. 2026-01-14 15:01:37 +01:00
Brian Smith 5de43abff5 Issue #2051 - Follow-up Part 2j: Fix VPx rendering on Big Endian. 2026-01-13 22:30:11 -06:00
Moonchild 8112ed2e6c Issue #2895 - Follow-up: Fix JIT code generator for 32-bit targets.
Register64 isn't natively supported on 32-bit targets (ARM, MIPS32, x86)
so they require initializers with 2 32-bit register components.
Also, `rotateLeft64()` requires a temp register on 32-bit targets.
2026-01-13 20:24:41 +01:00
Brian Smith 25daa465a4 Issue #2051 - Follow-up Part 2i: Fix font problems with more TenFourFox code.
Add Phony Core Text header, and an old qcms function required by the older code.
Thank you Sergey Larin for doing this work.
2026-01-13 11:58:50 -06:00
Moonchild 4302ad6302 Merge pull request 'Remove Support for Gconf' (#2904) from trav90/UXP-contrib:remove-gconf into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2904
2026-01-13 13:49:28 +00:00
Brian Smith 9d1148e322 Issue #2051 - Follow-up Part 2h: Various MacPPC fixes.
Fix builing with optimization level 2 or higher.
Fix some mouse handling, in particular with the scollbars.
Fix keyboard input of normal characters. Thank you Sergey Larin.
2026-01-13 07:34:24 -06:00
Moonchild 42bb4f8ec8 Merge pull request 'Switch JavaScript PRNG to Xoroshiro128++' (#2901) from Xoroshiro128++ into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2901
2026-01-13 09:27:01 +00:00
Brian Smith bc4751b2e9 Issue #2051 - Follow-up Part 2g: Readd CoreGraphics support to native rendering.
This support was removed when SKIA was added, so it just bailed out.
Also add scrollbar drawing code from TenFourFox to support the old style.
2026-01-12 15:52:05 -06:00
Brian Smith 046b73ad98 Issue #2051 - Follow-up Part 2f: Miscellaneous fixes.
Fix compile issue with MacPorts GCC 14.
Fix null pointer dereference in OpenGL compositor.
Fix recurcursive font loading due to TenFourFox code drift.
Fix LazyScript size mismatch in debug builds.
Fix crash due to missing auto release pool in debug builds.
Fix keyboard input crash due to incorrect code disabling.
Fix mouse events never having button pressed state.
2026-01-12 15:52:04 -06:00
Brian Smith f12b423797 Issue #2051 & #2777 - Follow-up Part 3: Add MacOS PPC config.h file. 2026-01-12 15:52:03 -06:00
Brian Smith 81767f49a9 Issue #2051 - Follow-up Part 2e: Force fallback to raster with CoreGraphics. 2026-01-12 15:52:02 -06:00
Brian Smith cb7d1bff90 Issue #2051 - Follow-up Part 2d: Fix missing or misplaced #ifdefs.
Also handle missing modifierFlags selector on 10.5.
2026-01-12 15:52:01 -06:00
Brian Smith 65655a7ac6 Issue #2051 - Follow-up Part 2c: No IOSurface support on 10.5 so disable for PPC. 2026-01-12 15:52:00 -06:00
Brian Smith e61da23175 Issue #2051 - Follow-up Part 2b: Even more safety checks in the older font code. 2026-01-12 15:51:59 -06:00
Brian Smith 0065d53b4d Issue #2051 - Follow-up Part 2: Add additional safety checks in the older font code. 2026-01-12 15:51:58 -06:00
Brian Smith 179c73c90c Issue #2051 - Follow-up Part 1b: Fix building on later MacOS versions.
Clang complains about duplicate definition of GfxMatrixToCGAffineTransform().
CGFontGetGlyphPath() is non-public and removed in later MacOS versions.
CTFontCreatePathForGlyph() is the CoreText replacement in 10.5 and later.
2026-01-12 15:51:57 -06:00
Brian Smith 1653009fe5 Issue #2051 - Follow-up Part 1: Various fixes for Mac PowerPC support.
This commit gets Mac PowerPC to initialize and shows the menubar.
Hangs in font code before showing the window, but this is progress.
Remove workaround for a GCC structure packing bug, use fixed GCCs.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110044
Fix linking altivec code with some compiler versions.
Restore the old "CoreGraphics" GFX backend; SKIA unsupported 10.5.
https://bugzilla.mozilla.org/show_bug.cgi?id=1258751
Similarly restore code to display popups/panels with "CoreGraphics"
https://bugzilla.mozilla.org/show_bug.cgi?id=1274720
2026-01-12 15:51:56 -06:00
Moonchild 753dffd122 Merge branch 'master' into Xoroshiro128++ 2026-01-12 21:48:31 +01:00
Moonchild c05e5e4373 Merge pull request 'Properly vendor and update Expat to 2.7.3' (#2903) from jobbautista9/UXP:expat-2.7.3 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2903
2026-01-12 15:22:01 +00:00
trav90 93883d5823 Issue #1636 - Part 3 - Remove Gconf 2026-01-12 08:01:44 -06:00
Job Bautista a22613d3e0 Issue #2889 - Follow-up: Remove fix for BZ 569229.
Seems this workaround is no longer relevant for Expat 2.7.x, with upstream's
elimination of recursion.
2026-01-12 08:34:34 +08:00
Job Bautista 073378ec92 Issue #2889 - Follow-up: Adjust Expat 2.7.3 local patches for removal of 3rd patch. 2026-01-12 08:33:33 +08:00
Job Bautista a00c890a9d Merge branch 'expat-2.6.4' into expat-2.7.3 2026-01-12 08:31:49 +08:00
Job Bautista 8f57a215b5 Issue #2889 - Follow-up: Allow generate_hash_secret_salt to be used.
Part 1 erroneously imported the 3rd patch from Mozilla assuming that we're also
already generating our salt with XML_SetHashSalt in our nsExpatDriver. Turns out
this is not the case.
2026-01-12 07:53:34 +08:00
Moonchild 12821ae90a Issue #2895 - Part 1b: Update license block.
Adjust the BSD 2-clause license in `ExecutableAllocator.h` to reflect
multiple authors.
2026-01-11 21:24:53 +01:00
Job Bautista 112abdc25a Issue #2889 - Part 7: Apply patches to Expat 2.7.3. 2026-01-11 21:34:24 +08:00
Job Bautista 627fdf8fe4 Issue #2889 - Part 6: Import Expat 2.7.3 source. 2026-01-11 21:33:28 +08:00
Job Bautista 0f1faad9a3 Issue #2889 - Part 5: Rewrite patches for Expat 2.7.3.
- Skipped the fix for BZ 569229 because I don't know where to apply that; the
  processInternalEntity method no longer exists. Hopefully the bug doesn't re-
  appear.
- Previous fixes for 3rd and 13th patches have been merged to their respective
  patches as well.
- 15th patch is now a fix for the 13th and 14th since somewhere between 2.6.4
  and 2.7.3 has made use of a debugging method we don't want to use as well as
  a new boolean method called parserBusy which got mistakenly excluded as an
  unused API while rewriting the 14th patch.
2026-01-11 21:26:25 +08:00
Moonchild 66dbfca54a Issue #2895 - Part 3: Add manual test.
To visually verify random uniformity and make a quick check on performance.
2026-01-11 10:35:37 +01:00
Job Bautista 647a1ab5f0 Issue #2889 - Follow-up: void methods shouldn't return a value. 2026-01-11 16:10:10 +08:00
Job Bautista e284ffab6c Issue #2889 - Follow-up: Avoid conflicts with system version of libexpat 2026-01-11 16:04:00 +08:00
Job Bautista ef1532cab2 Issue #2889 - Part 4: Fix build and runtime issues.
- The 3rd patch causes MSVC to error out on an empty typedef struct.
- The 13th patch is causing the application to abort on startup.
- Fixed header issues as well as resolved the necessary symbols for gkmedias.
2026-01-11 15:07:33 +08:00
Job Bautista 2ae8833092 Issue #2889 - Part 3: Apply Mozilla's patches to Expat 2.6.4. 2026-01-11 14:47:35 +08:00
Job Bautista e7cacf4642 Issue #2889 - Part 2: Import Expat 2.6.4 source. 2026-01-11 14:47:18 +08:00
Job Bautista 6c7850482f Issue #2889 - Part 1: Prepare Mozilla's changes and extensions for Expat 2.6.4. 2026-01-11 13:47:55 +08:00
Job Bautista f93d0fadf2 Issue #2889 - Part 0: Relocate Mozilla-specific files from Expat source. 2026-01-11 11:40:13 +08:00
Moonchild 7ec3c640e7 Merge pull request 'Disable Gconf by default and always build gio with GTK' (#2900) from trav90/UXP-contrib:disable-gconf into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2900
2026-01-10 19:28:45 +00:00
Moonchild 97786271f9 Issue #2895 - Part 2: Remove incorrect debug asserts.
x86/x64 MacroAssembler front-end rotate functions had comparison asserts
that do not seem to be correct; values being the same doesn't mean the
same regs were used.
2026-01-10 15:37:34 +01:00
Moonchild c90df0c332 Issue #2895 - Part 1: Replace XorShift128+ with Xoroshiro128++
Surrounding structures remain the same because the bit width remains 128.
The more complicated algorithm requires more temp registers in LRandom
to account for intermediate result placeholders in the JITed version of
this algorithm.
2026-01-10 15:32:22 +01:00
trav90 f5a3099344 Issue #1636 - Part 2 - Disable Gconf by default 2026-01-09 10:31:53 -06:00
trav90 fe7ca5276f Issue #1636 - Part 1 - Decouple Gio from GConf and always build it with GTK
Also removes the ancient and unused --enable-gnomeui option.
2026-01-09 10:30:54 -06:00
Moonchild b439067975 Issue #2898 - Don't unroll to large stack probe loops.
Resolves #2898
2026-01-09 15:08:10 +01:00
Moonchild b2f2e54167 Merge pull request 'Implement Loongarch64 CPU Architecture Support' (#2899) from Basilisk-Dev/UXP-loongarch:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2899
2026-01-08 23:38:44 +00:00
Basilisk-Dev 55285b1c50 MoonchildProductions/UXP#2897: Undo mistakenly overwritten file in libavutil 2026-01-08 13:09:08 -05:00
Basilisk-Dev af96fc79e1 MoonchildProductions/UXP#2897: Import upstream libyuv fixes to fix Clang compilation on Loongarch64 2026-01-08 13:01:25 -05:00
Basilisk-Dev 1c9c79ef24 MoonchildProductions/UXP#2897: Modify webrtc to compile on loongarch64 2026-01-08 12:30:36 -05:00
Basilisk-Dev 741604f78d MoonchildProductions/UXP#2897: Specify 16k pagesize for loongarch64 in jemalloc 2026-01-08 11:49:17 -05:00
Basilisk-Dev 5cb08bb658 MoonchildProductions/UXP#2897: Added a loongarch atomic-ops implementation 2026-01-08 11:12:24 -05:00
Basilisk-Dev 969217dc2f MoonchildProductions/UXP#2897: backport upstream xptcinvoke and xptcstubs for Loongarch64 2026-01-08 10:27:45 -05:00
Basilisk-Dev fb438829b5 MoonchildProductions/UXP#2897: Fix ffvpx build on loongarch64 2026-01-07 17:49:32 -05:00
Basilisk-Dev d7c1f4a6b4 MoonchildProductions/UXP#2897: Add LA64 to webrtc build config 2026-01-07 14:46:33 -05:00
Basilisk-Dev e35267d62c MoonchildProductions/UXP#2897: Allow mfbt/double-conversion to compile on LA64 2026-01-07 14:46:15 -05:00
Basilisk-Dev 1779669120 MoonchildProductions/UXP#2897: Fix IPC to compile on LA64 2026-01-07 14:32:31 -05:00
Basilisk-Dev 97a4baf4bf MoonchildProductions/UXP#2897: Allow mach configure to pass on loongarch64 2026-01-07 14:22:05 -05:00
Moonchild 4aadf14fb0 Issue #2858 - keep type in line with definition.
Depending on target platform, `AddRef()` returns either `unsigned long` or
`uint32_t`. Make the resulting type match for better optimization.
2026-01-06 10:01:16 +01:00
Moonchild 64509fb557 Issue #2858 - Hack around the circular calls to nsPrincipal::Write()
This employs an ugly refcounting hack as a stop-gap measure. This isn't a
fix, but we avoid appcrashes in the meantime.
2026-01-05 23:44:11 +01:00
Moonchild 91c979623c Merge pull request 'Improve Extended_Pictographic Support in Clusters' (#2894) from RealityRipple/UXP:2871 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2894
2026-01-04 22:01:51 +00:00
Andy 95240de023 Issue #2871 - Addendum - Code Comments
https://www.unicode.org/reports/tr51/#Emoji_Properties_and_Data_Files
2026-01-04 13:54:15 -08:00
Andy 7f3970cc2d Issue #2871 - Restructure GetEmojiPresentation() for Extended_Pictographic clusters 2026-01-03 16:14:47 -08:00
Moonchild fa40bd3d05 Merge pull request 'Convert use of -moz-appearance to appearance in platform code' (#2892) from 2887 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2892
2026-01-02 19:24:06 +00:00
Moonchild 87ddc5d6bb Issue #2887 - Convert use of -moz-appearance to appearance 2026-01-02 19:46:40 +01:00
Moonchild d4fcc2899c Merge pull request 'Make clearing of passwords prefable, and disable by default.' (#2891) from 2856 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2891
2026-01-02 16:43:44 +00:00
Moonchild 95279d8e20 Issue #2856 - Make clearing of passwords prefable, and disable by default.
New pref to control clearing of domain passwords for "Forget about site"
privacy function.

Resolves #2856
2026-01-02 17:32:12 +01:00
Moonchild fc231d8c29 Merge pull request 'Leverage viewport-only logic to ensure overflow propagation.' (#2890) from 2853 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2890
2026-01-02 16:08:24 +00:00
Moonchild f8f288b1c6 Merge pull request 'Un-prefix -moz-appearance' (#2886) from unprefix-appearance into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2886
2026-01-02 16:08:03 +00:00
Moonchild f6b5a81bcf Merge pull request 'Minor CLDR Update Process Improvements' (#2888) from RealityRipple/UXP:auto-cldr into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2888
2025-12-30 15:22:46 +00:00
Moonchild 75cc3b1766 Issue #2853 - Leverage viewport-only logic to ensure overflow propagation.
Resolves #2853
2025-12-30 16:19:40 +01:00
Andy 2f4b425613 Sort replacements per language and per script to ensure the generated file has stable contents.
From BZ 1651032
2025-12-27 18:19:02 -08:00
Andy 97d35566cd Automatically determine current CLDR version when updating langtags.
From BZ 1642934
2025-12-27 18:05:54 -08:00
Moonchild ee673e2a51 Issue #1791 - Part 3: Add manual test for unprefixed appearance. 2025-12-25 16:27:41 +01:00
Moonchild a66233d638 Issue #1791 - Part 2: Stop force-styling checkboxes/radio buttons.
Unclear why this was done. Let websites choose their own style overrides
if they want to, in combination with `appearance: none`
2025-12-25 16:27:41 +01:00
Moonchild a208d718cf Issue #1791 - Part 1: Un-prefix -moz-appearance
Keep an alias (preffed) `-moz-appearance` for `appearance`
This should keep all previous behaviour intact.
2025-12-25 16:27:40 +01:00
Moonchild 9dae73cd9d Merge pull request 'Allow build on NetBSD/alpha' (#2885) from nia/UXP:alpha into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2885
2025-12-24 11:48:52 +00:00
nia fac94604c4 ffvpx: Add pregenerated config for Alpha. 2025-12-24 12:39:24 +01:00
Moonchild c64aa83a09 Issue #2857 - Implement inset-block and inset-inline CSS shorthand
Resolves #2857
2025-12-23 11:09:23 +01:00
Moonchild 55db23f665 Merge pull request 'Emoji 17.0 Support' (#2884) from RealityRipple/UXP:emoji-17.0 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2884
2025-12-22 18:03:44 +00:00
Andy 6d7da863a9 emoji-17.0 - Update Twemoji font to unicode 17.0.0 2025-12-22 09:50:51 -08:00
Moonchild a559de3cc6 Merge pull request 'Update ICU to v78.1' (#2878) from RealityRipple/UXP:icu-78 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2878
2025-12-22 14:22:41 +00:00
nia f48fc9774d Teach mozbuild that Alpha is 64-bit. 2025-12-22 00:41:21 +01:00
Andy 0d1a0a4460 Issue #2863 - Part 25 - Clobber 2025-12-20 01:41:20 -08:00
Andy 48310b0921 Issue #2863 - Part 24 - Remove special-casing for Etc/UCT
From BZ 1543641 Part 3
2025-12-20 01:07:52 -08:00
Andy 5a6008ba14 Issue #2863 - Part 23 - Update tzdata in Spidermonkey 2025-12-20 01:07:24 -08:00
Andy 19832cc0dd Issue #2863 - Part 22 - Update tzdata source to 2025c 2025-12-20 01:05:17 -08:00
Andy 70cb6fad3b Issue #2863 - Part 21 - Update Unicode property data in Gecko 2025-12-20 01:01:45 -08:00
Andy 1c12932f17 Issue #2863 - Part 20 - Update special casing in Gecko 2025-12-20 00:57:03 -08:00
Andy b8073ff355 Issue #2863 - Part 19 - Update CLDR to 48 2025-12-20 00:54:46 -08:00
Andy ad45885155 Issue #2863 - Part 18 - Update Unicode in Spidermonkey 2025-12-20 00:51:31 -08:00
Andy 7a3da8cc91 Issue #2863 - Part 17 - Update ICU source to 78.1 2025-12-20 00:43:40 -08:00
Andy c88f57529b Issue #2863 - Part 16 - Update locale canonicalization algorithm for changes from CLDR 39
From BZ 1718198
2025-12-19 02:18:04 -08:00
Andy e140607d40 Issue #2863 - Part 15 - Update special casing script 2025-12-19 02:17:50 -08:00
Andy c7d76b16e1 Issue #2863 - Part 14 - Update switch to handle new UNumberFormatFields entries. 2025-12-19 02:17:39 -08:00
Andy 42bd942380 Issue #2863 - Part 13 - Remove non-IANA Zones
Adapted from BZ 1673027
2025-12-19 02:17:32 -08:00
Andy b3f7187493 Issue #2863 - Part 12 - Filter SCRIPT_CODE extensions from CLDR 2025-12-19 02:17:26 -08:00
Andy 1e4d492d18 Issue #2863 - Part 11 - Remove no longer needed locale maximization when removing likely subtags.
Adapted from BZ 1686052 Part 9
2025-12-19 02:16:37 -08:00
Andy 186f1531c7 Issue #2863 - Part 10 - Add New Line Breaker Entries 2025-12-19 02:16:21 -08:00
Andy 513fc2034b Issue #2863 - Part 9 - Retain util_props.cpp 2025-12-19 02:16:11 -08:00
Andy b126de3dcd Issue #2863 - Part 8 - Add note to run make_intl_data.py langtags 2025-12-19 02:16:04 -08:00
Andy 6aad65b27a Issue #2863 - Part 7 - Don't delete files now that they're filtered 2025-12-19 02:15:49 -08:00
Andy 7ac730f424 Issue #2863 - Part 6 - Make ICU with multiple jobs for faster rebuilds.
Adapted from BZ 1533481
2025-12-19 02:15:37 -08:00
Andy 1c6748286c Issue #2863 - Part 5 - Update reading source objects
Adapted from BZ 1645779
2025-12-19 02:15:23 -08:00
Andy a3fea2c220 Issue #2863 - Part 4 - Use recommended ICU build options flags.
Adapted from BZ 1429776 and 1672353.
2025-12-19 02:15:05 -08:00
Andy 99691ee61a Issue #2863 - Part 3 - Patch in non-dll suppression
This is stupid, but more specific than a broad silencing directive.
2025-12-19 02:14:42 -08:00
Andy 44e1b7c01b Issue #2863 - Part 2 - Filter ICU data for build 2025-12-19 02:14:01 -08:00
Andy db4b354d9b Issue #2863 - Part 1 - Update patches for ICU 78.1 2025-12-19 02:13:38 -08:00
Moonchild 105d703629 Merge pull request 'Issue MoonchildProductions/UXP#2306: Implement WeakRef functionality' (#2881) from Basilisk-Dev/UXP-weakref:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2881
2025-12-19 08:51:44 +00:00
Basilisk-Dev 6ce83ee1f0 Issue MoonchildProductions/UXP#2306: Add test js 2025-12-18 21:13:06 -05:00
Basilisk-Dev d4c1ffda76 Issue MoonchildProductions/UXP#2306: Remove unneeded addition of streams_ in ContextOptions() 2025-12-17 18:40:39 -05:00
Basilisk-Dev 0ec21adf21 Issue MoonchildProductions/UXP#2306: Fix spacing 2025-12-17 16:56:25 -05:00
Basilisk-Dev 7533c4ede0 Issue MoonchildProductions/UXP#2306: Add pref-gated WeakRef with safe stub when disabled
* Add javascript.options.weakrefs and plumb it through context options, XPConnect, and workers
* Keep referents alive via strong tracing when the pref is off so deref() still returns the target
* Retain weak-edge semantics when the pref is enabled
2025-12-17 16:35:41 -05:00
Basilisk-Dev 0dc7782727 Issue MoonchildProductions/UXP#2306: Implement WeakRef functionality 2025-12-16 22:43:47 -05:00
Moonchild a17b54921c Merge pull request 'Issue Pale-Moon#2002 - Remove FreeBSD compat13x dependency on 15.x.' (#2880) from dbsoft/UXP:freebsd15fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2880
2025-12-16 20:50:42 +00:00
Moonchild 7dddd4282b Issue #2865 - Implement URL.canParse()
Implemented URL.canParse() static function for checking if a URL can be
parsed (instead of having to try wrap the constructor).

This avoids using an ErrorResult/Throws, since it is not in the spec,
and this makes it also more performant.

See https://github.com/whatwg/url/pull/763

Resolves #2865
2025-12-16 12:23:45 +01:00
Brian Smith 4a4ddda621 Issue Pale-Moon#2002 - Remove FreeBSD compat13x dependency on 15.x.
Remove the 2 libutil OS_LIBS and dynamically load libutil.so instead.
2025-12-16 01:26:00 -06:00
Moonchild 74398ca61c Update NSS version to 3.90.8 2025-12-15 20:32:01 +01:00
Moonchild 02abee0980 [NSS] Destroy certificate on error paths 2025-12-15 19:54:00 +01:00
Moonchild e518f846b3 [image] Use the TriggeringPrincipal if we have one, not the SystemPrincipal 2025-12-15 18:00:45 +01:00
Moonchild 0ec89257db [devtools] Further improve "Copy as cURL"
Don't escape unicode control characters. While these characters would
break commands if present (i.e. non functional cURL) and could potentially
be sanitized to spaces, that would likely just move the goalposts again.
Following Mozilla here.
2025-12-15 17:21:18 +01:00
Moonchild e2ddc59a8e [DOM] Add stride check for canvas tex conversion from blob. 2025-12-15 17:01:29 +01:00
Moonchild 0552fa9353 [js] Append InstSize factor for secondary range veneers.
Ensure branch padding is correct on ARM64/M*SoC
2025-12-15 16:26:33 +01:00
Moonchild d7ae6c9f06 [devtools] Further improve "Copy as cURL"
Collapse whitespaces.
2025-12-15 16:00:02 +01:00
Moonchild 0c1afdf111 Merge pull request 'Remove obsolete mention of DRM content playback in about:rights' (#2877) from jobbautista9/UXP:aboutrights-removedrm into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2877
2025-12-11 12:00:59 +00:00
Moonchild ccedf2d3cf Merge pull request 'Restore support for in-process NPAPI plugins in non-GTK3' (#2875) from jobbautista9/UXP:npapi-inprocess into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2875
2025-12-11 11:57:34 +00:00
Job Bautista ce7e4b4369 Issue #2876 - Remove obsolete mention of DRM content playback in about:rights
We've removed EME code in Issue #2346; UXP applications will never download
content decryption modules on their own.
2025-12-11 15:31:17 +08:00
Job Bautista 59ed319449 Issue #2861 - Part 2 Follow-up: nsIPluginHost.isPluginOOP should not always return true.
Actually restore the method as it was when it was added in Mozilla bug 1178896.
2025-12-10 11:08:59 +08:00
Job Bautista 37a95044bc Issue #2861 - Bring back forced OOPP for GTK3.
Per discussion in PR #2875 our NPAPI implementation doesn't support plugins
using GTK3 anyway so there's no point in keeping this footgun for a GTK3 setup.
2025-12-09 11:16:19 +08:00
Job Bautista 0e3a84fc2d Issue #2875 - Ensure OOP for plugins by default even if pref couldn't be found. 2025-12-09 10:56:42 +08:00
Moonchild 45efa06dc8 Merge pull request 'Don't let toolkit override colors of autofilled form elements.' (#2874) from jobbautista9/UXP:autofill-styling into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2874
2025-12-08 13:58:33 +00:00
Job Bautista af2315d588 Issue #2861 - Remove Mac-specific ifdefs.
macOS should now use the "dom.ipc.plugins.enabled" pref, like every other OS.
2025-12-07 20:24:06 +08:00
Job Bautista c3c0d6f8c3 Issue #2875 - Cleanup: Remove leading whitespace in nsPluginHost.cpp. 2025-12-06 20:20:55 +08:00
Job Bautista 1100ea5eba Issue #2861 - Remove checks that forcibly enable or disable OOP.
The pref should not be conditional on which plugin or GTK version is in use. If
Windows users want Flash in-process, or GTK3 users want in-process plugins, we
should let them. If it breaks, they at least have half a browser.

While at it the checks for accessibility hardware support have also been taken
out, because they're only relevant for Flash anyway. Being able to disable OOP
should not depend on whether you use a11y.
2025-12-06 16:53:38 +08:00
Job Bautista eda712503e Issue #2861 - Part 2: Restore nsIPluginHost.isPluginOOP.
This effectively reverts Part B of Mozilla bug 1194780.
2025-12-06 15:01:28 +08:00
Job Bautista b4743e3a3a Issue #2861 - Part 1: Allow nsNPAPIPlugin::RunPluginOOP to be made false.
This effectively reverts Part A of Mozilla bug 1194780.
2025-12-06 14:58:39 +08:00
Job Bautista da8387e80a Issue #2873 - Don't let toolkit override colors of autofilled form elements.
Currently there's no way for the toolkit's overrides to be removed by users and
websites. In the case of Issue #2872 our current colors also harshly clash with
the usual dark mode of webpages.

It's best to let them write their own CSS targetting the :autofill psuedo-class
of form elements if they want the indication.

This effectively makes Issue #2790 only implement :autofill and nothing else.
2025-12-05 13:05:36 +08:00
Moonchild 905b050aa1 Merge pull request 'ffvpx: sparc64: Fix for generated config.h' (#2870) from nia/UXP:ffvpx-sparc64 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2870
2025-11-23 10:42:35 +00:00
nia 349be237d7 ffvpx: sparc64: Fix for generated config.h
Turns out UXP needs an extra define which ffmpeg7 isn't
providing.

Signed-off-by: Nia Alarie <nia@NetBSD.org>
2025-11-23 11:32:23 +01:00
Moonchild b4fbbdc29a Issue #2869 - Make Purple Buffer additions check if cell is tenured.
This should avoid a CTD if `cell` is not tenured by moving this check to
CC instead of having it fatally fail at marking grey.

Resolves #2869
2025-11-22 17:46:36 +01:00
Moonchild 87bbdc0acd Merge pull request 'ffvpx: Add generated config for sparc64' (#2868) from nia/UXP:ffvpx-sparc64 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2868
2025-11-22 12:05:19 +00:00
nia 670b251652 ffvpx: Add generated config for sparc64
Related to #2584, but should work just as well on Solaris

Signed-off-by: Nia Alarie <nia@NetBSD.org>
2025-11-22 12:41:31 +01:00
Moonchild 49f4dad4fa Issue #2489 - Re-implement color-mix implementation with fixes.
This includes a hack to avoid fatal recursion when either color resolves
to NS_COLOR_CURRENTCOLOR, avoiding #2854

Resolves #2489
2025-10-27 23:08:41 +01:00
Moonchild da7dff0437 Issue #2847 - Update tests and toolkit CSS to account for windows-win11 2025-10-25 17:46:17 +02:00
Moonchild 2c321e2baf Issue #2847 - Extend -moz-os-version media query with win11. (re-land) 2025-10-25 15:53:23 +02:00
Moonchild 8b9323b330 [devtools] Remove newline kludge from "Copy as cURL" on Windows 2025-10-14 21:06:33 +02:00
Moonchild 94959894ba Merge pull request 'Fix rule node tracking for NAC' (#2859) from FranklinDM/UXP-contrib:work_css-fix-rn-tracking-for-nac into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2859
2025-10-14 07:53:10 +00:00
Francis Dominic Fajardo 3e88d97cbd Issue #2855 - Fix rule node tracking for NAC
This refactors rule node tracking code into an inline function and uses that for rules from NAC.
2025-10-11 19:20:38 +08:00
Moonchild 75a1d79076 Issue #2489 - Revert color-mix implementation
Resolves #2854
2025-10-02 21:19:54 +02:00
Moonchild fe301ae7ff No issue - Improve compiler compatibility.
Include <limits> in a few places.
2025-10-02 19:39:09 +02:00
Moonchild 4c53908cd2 No issue - Set title for about:logopage
See forum topic 32784
2025-10-01 18:22:45 +02:00
Moonchild b19387b292 Issue #2258 - Make sure we favor sniffing when the content-type header is empty. 2025-09-24 10:32:50 +02:00
Moonchild 206afa0642 Revert "Issue #2258 - Part 1: Support XCTO:nosniff when navigating."
This reverts commit f48c770701.
2025-09-23 18:17:52 +02:00
Moonchild 32be60a48f Revert "Issue #2258 - Part 2: Move XCTO:nosniff check into sniffers."
This reverts commit 51e1650d42.
2025-09-23 18:17:45 +02:00
Moonchild fd232c1468 Revert "Issue #2258 - Part 3: Allow sniffing with XCTO:nosniff + empty MIME type."
This reverts commit a56f978f70.
2025-09-23 18:17:39 +02:00
Moonchild bd475e1a66 Revert "Issue #2258 - Part 4: Clean up unused pointers."
This reverts commit 9e52953e54.
2025-09-23 18:17:33 +02:00
Moonchild 2ae979cdc7 Issue #2790 - Follow-up: Ensure both text and background are set.
The common issue of needing to set both foreground and background for dark
themes.
2025-09-19 21:03:13 +02:00
Moonchild 98abdcc2b3 Issue #2852 - Follow-up: Add comment and fix formatting. 2025-09-18 12:00:05 +02:00
Moonchild 155d5c2962 [gfx] Use std::size rather than hardcoding an array size 2025-09-18 11:42:40 +02:00
Moonchild e944757741 Issue #2852 - Parse full cache-control headers.
This makes sure we parse the merged/stored version of `cache-control`
instead of just the latest-received header.
`ResponseHead::ParseHeaderLine_locked` parses each header as it comes in.
It then updates its member variables based on that header.
For `cache-control`, it's important to reparse the merged (updated)
version of the header instead of the most recent one, otherwise we'll miss
directives present in previously received headers.

Resolves #2852
2025-09-18 09:55:13 +02:00
Moonchild ccb6e13fd4 Revert "Issue #2847 - Extend -moz-os-version media query with win11."
This reverts commit 1ff84675f8.
2025-09-03 16:40:45 +02:00
Moonchild d709575043 [gfx] Clarify comments.
There may be other situations where putting a font entry in the cache
table may fail that are perfectly valid.
2025-08-27 17:20:22 +02:00
Moonchild 36a1957d0a Revert "[gfx] Guard against possible race via gfxFontEntry::GetFontTable."
This reverts commit a1cf966815.
2025-08-27 15:53:56 +02:00
Moonchild 723866726d No issue - Clarify Azure Back-end info.
Only mention OpenGL accelerated canvas flag when it's relevant, and rename
the entry to be more descriptive, to prevent confusion for users looking
at Troubleshooting Information.
2025-08-22 01:28:16 +02:00
Moonchild 4f9775b779 [NSS] Avoid leak in pkcs12 decoder. 2025-08-20 16:20:53 +02:00
Moonchild 70a52e4c04 [js] Error-check pthread calls
These calls return error states (int) that weren't checked for success.
Failures here are fatal, so using MOZ_RELEASE_ASSERT to safely crash.
2025-08-20 00:29:38 +02:00
Moonchild a1cf966815 [gfx] Guard against possible race via gfxFontEntry::GetFontTable. 2025-08-19 22:05:22 +02:00
Moonchild 6c08355e6a Issue #2850 - Alias :focus-visible to :-moz-focusring
Band-aid to have it be parsed as valid with reasonably-expected behaviour.
2025-08-17 09:13:02 +02:00
Moonchild 83a017f13d Merge pull request 'Add support for libavcodec61 (FFmpeg 7)' (#2849) from trav90/UXP-contrib:libavcodec61-support into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2849
2025-08-16 06:19:20 +00:00
trav90 91a33538ab Issue #2523 - Part 3 - Fix function declarations for libavcodec 2025-08-15 14:08:08 -05:00
Moonchild c82a4f147c Merge pull request 'Add XCTO:nosniff for navigation requests and deal with nosniff+empty MIME type' (#2846) from 2258-nosniff-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2846
2025-08-15 15:16:06 +00:00
Moonchild fa27001ab2 Merge pull request 'Report 24 instead of 32 as the colorDepth (and pixelDepth) on Linux' (#2848) from fix-linux-colordepth into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2848
2025-08-15 12:52:24 +00:00
trav90 ef7c0d6b46 Issue #2523 - Part 2 - Update audio & video decoders to work with FFmpeg 7.0 2025-08-14 12:42:54 -05:00
trav90 63572780f1 Issue #2523 - Part 1 - Import headers from FFmpeg 7.0 2025-08-14 12:40:56 -05:00
Moonchild dd0042fc70 Bug 1875345 - Report 24 instead of 32 as the colorDepth (and pixelDepth) on Linux (assuming 8 of 32 bits are for the alpha channel).
This now matches the logic in our equivalent Windows code, and this is
also per spec ("number of bits...excluding the alpha channel"):
https://drafts.csswg.org/cssom-view/#dom-screen-colordepth
With this change, the WPT test starts passing on Ubuntu 22.04
(which was previously flagged as an unexpected failure).
2025-08-14 17:50:18 +02:00
Moonchild 1ff84675f8 Issue #2847 - Extend -moz-os-version media query with win11.
Resolves #2847
2025-08-13 21:14:47 +02:00
Moonchild de0eb45320 Issue #1843 - Refactor IsWindowsBuildOrLater()
Further dedupes Windows checking, updating the single caller in the
platform to simply check for the minimum supported version.
This reintroduces being able to check directly for a numeric version
like before to future-proof or use fine granularity without having
to rely on known build numbers in the enum.

Resolves #1843
2025-08-13 15:05:23 +02:00
Moonchild b2ddd84ac6 Issue #1843 - Clean up WindowsVersion.h
This gets rid of all the unnecessary named functions to be replaced with
a straightforward check `IsWindows10BuildOrLater(WinBuild::{build})`
Where `WinBuild` is an enum with common `{build}` names of Win 10+
versions: `Win10v1809`, `Win10v21H2`, `Win11RTM`, `Win11v24H2`, etc.

None of these named functions were actually in use, so no other changes
should be necessary in the platform.
2025-08-13 12:34:13 +02:00
Moonchild 9e52953e54 Issue #2258 - Part 4: Clean up unused pointers. 2025-08-12 19:09:07 +02:00
Moonchild a56f978f70 Issue #2258 - Part 3: Allow sniffing with XCTO:nosniff + empty MIME type.
This moves the checking code back to NS_SniffContent and specifically
checks requests for either:
- Empty `Content-type` header, OR
- A known JSON MIME type

If present, sniffing is allowed despite `nosniff` because in the first
case this is webmaster error (conflicting `nosniff` without MIME type
would always fail, so sniff it), and in the second case we need this
carveout or our json viewer will break.
2025-08-12 19:04:34 +02:00
Moonchild 51e1650d42 Issue #2258 - Part 2: Move XCTO:nosniff check into sniffers.
This fixes a regression for the JSON viewer from part 1 as it relies on
sniffing to prettify (and should carve out the exception even if `nosniff`
headers are sent).
No real functional changes otherwise. Just catering to a corner case.
2025-08-12 17:01:36 +02:00
Moonchild f48c770701 Issue #2258 - Part 1: Support XCTO:nosniff when navigating. 2025-08-12 16:18:38 +02:00
Moonchild 1a415bb8ca Issue #1899 - Remove MDN docs tooltip and link code from devtools.
Resolves #1899
2025-08-09 22:16:17 +02:00
Moonchild 3325b35f89 Issue #2837 - Implement prefers-reduced-motion media query.
Resolves #2837
2025-08-08 10:59:59 +02:00
Moonchild 0621acfb57 Merge pull request 'Align TypedArray CTOR error handling with ES2017' (#2845) from typedarray-toindex-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2845
2025-08-08 01:17:33 +00:00
Moonchild 73a1e5aec0 Issue #2838 - Update tests 2025-08-04 17:17:45 +02:00
Moonchild ad4823f53b Issue #2838 - Use ToIndex in TypedArray CTORs
Also adjusts index handling to be more accurate/spec compliant.
2025-08-04 17:16:57 +02:00
Moonchild a3918b822b Merge pull request 'Implement Visual Viewport API' (#2832) from visualviewport-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2832
2025-08-04 08:55:20 +00:00
Moonchild 9ae5534d5b Merge pull request 'Rewrite assembler check configure logic for ffvpx.' (#2843) from 2842-ffvpx-assemblercheck into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2843
2025-08-04 08:54:46 +00:00
Moonchild 76c9a8a09f Merge pull request 'Follow-up: Guard against import rules with no attached style sheet' (#2844) from FranklinDM/UXP-contrib:work_css-import-null-sheet-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2844
2025-08-04 08:38:41 +00:00
Francis Dominic Fajardo 5fccc6ec3d Issue #2835 - Follow-up: Guard against import rules with no attached style sheet 2025-08-04 00:02:36 +08:00
Moonchild 6e9501b7ae Issue #2842 - Rewrite assembler check configure logic for ffvpx. 2025-08-02 17:32:57 +02:00
Moonchild 8ea6155ea1 [DOM] Simplify <object> scheme check code and fix plugin handling.
Trying to do a positive check on nested URIs apparently doesn't work,
but the handling could be simplified to just check for non-null mURI
instead - this also fixes plugin loading (which broke with the previous
check).
2025-07-31 01:41:33 +02:00
Moonchild 1befbb4fbb [DOM] Fix crash in <object> scheme checking code.
If a website would nor supply a URI for object loading code, the browser
would crash on a null deref.
This reintroduces the nestedURI check to make sure we have a valid URI.
2025-07-30 09:29:26 +02:00
Moonchild 1ff0a21ee9 Issue #2489 - Follow-up: Add color-mix() manual test. 2025-07-29 21:49:00 +02:00
Moonchild 39fd993c54 Merge pull request 'Implement :autofill CSS pseudo-class' (#2841) from janjan/UXP:implement-autofill-css into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2841
2025-07-28 21:06:39 +00:00
MeladJM 38686dbb00 Issue #2790 - Cleanup: Correct whitespaces 2025-07-29 04:55:57 +08:00
MeladJM f0ba16f55f Issue #2790 - Part 7: Setting of contrasting color and fixing of last commit's issues 2025-07-29 04:53:45 +08:00
Moonchild aa564908c4 Merge pull request 'Implement CSS color-mix()' (#2839) from erx_ld1/UXP:implement-color-mix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2839
2025-07-28 11:02:31 +00:00
MeladJM e33e98ff32 Issue #2790 - Part 6: Highlight color change and remove important 2025-07-28 03:52:16 +08:00
MeladJM f5cd8b5417 Issue #2790 - Cleanup: Remove whitespaces 2025-07-28 01:01:27 +08:00
Moonchild ac9ed616b9 No issue - Regenerate devtools CSS database
To pick up new public use of clip, addition of overflow-inline and
addition of overflow-block.
2025-07-27 13:11:28 +02:00
Moonchild b156c32def Merge pull request 'Process @import rules based on order of appearance in the style sheet' (#2840) from FranklinDM/UXP-contrib:work_css-import-rule-order-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2840
2025-07-27 00:09:29 +00:00
MeladJM dad41636ad Merge with latest commits 2025-07-26 22:34:41 +08:00
Francis Dominic Fajardo 2ba24302d9 Issue #2835 - Part 2: Implement processing of import rules based on order of appearance 2025-07-26 14:55:22 +08:00
Francis Dominic Fajardo 618f62e753 Issue #2835 - Part 1: Expose nsCSSRuleProcessor::CascadeSheet 2025-07-26 14:55:22 +08:00
erixreyes a48b046c36 Issue #2489: Produce more accurate computations 2025-07-26 06:16:30 +08:00
erixreyes 6298bfeb3d Issue #2489: Disallow percentage overflow and underflow 2025-07-26 05:51:57 +08:00
MeladJM 06a857bdb3 Issue #2790 - Cleanup: Remove debugging lines 2025-07-26 04:07:54 +08:00
MeladJM 9b03c84201 Issue #2790 - Part 5: Persistent highlight despite blur click 2025-07-26 03:06:37 +08:00
erixreyes 073e3adb0c Issue #2489: Allow SRGB with alpha mixing 2025-07-26 01:13:18 +08:00
erixreyes d8060a0296 Issue #2489: Allow HSL with alpha mixing 2025-07-26 01:00:17 +08:00
Moonchild 3b29cd7f19 Merge pull request 'Implement cascade layer registration and processing' (#2833) from FranklinDM/UXP-contrib:work_css-cascade-layer-registration into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2833
2025-07-25 11:27:54 +00:00
MeladJM 7c8591f911 Issue #2790 - Part 4: Working non persistent autofill highlight 2025-07-25 11:14:35 +08:00
erixreyes caaa037d42 Issue #2489: Allow color-mix() to differentiate color spaces 2025-07-25 10:41:30 +08:00
erixreyes 72f1715ba5 Issue #2489: Adding RGB to HSL function 2025-07-25 10:40:39 +08:00
Moonchild d866c8d5c7 [DOM] Make object loading use an explicit scheme whitelist. 2025-07-25 01:16:23 +02:00
erixreyes 02267e9a4a Issue #2489: Improve color-mix() computation algorithm 2025-07-25 04:49:35 +08:00
erixreyes 55254b80fd Issue #2489: Remove unnecessary initializations 2025-07-25 04:48:50 +08:00
erixreyes c4a6eba91d Issue #2489: Fix CSS color-mix() percentage parsing 2025-07-25 04:47:13 +08:00
Moonchild 2b3ad2f082 [network] Stop accepting nameless cookies. 2025-07-23 23:08:52 +02:00
Moonchild ee06d385a2 [js] Align br_table limits with V8/Gecko. 2025-07-23 20:40:50 +02:00
Moonchild 04775c4123 [gfx] Hold a stronger reference to gfxFontEntry. 2025-07-23 14:34:41 +02:00
Moonchild 3a6d7f624f No issue - Adjust CSP URI reporting more closely with the spec.
According to the W3C discussion we should allow websocket URIs to be
reported aside from http/https/ftp ones.
This rewrites things slightly and updates comments to clarify.
We do retain the non-standard reduction to origin only in case the
report is for cross-origin URIs (stops leaking full URIs to the CSP
reported destination).
See https://github.com/w3c/webappsec-csp/issues/735
2025-07-23 07:40:45 +02:00
MeladJM e5146624ea Issue #2790 - Part 3: Address BZ bug 1849122 and resolve build issues 2025-07-22 23:14:40 +08:00
Francis Dominic Fajardo 038c5a95fc Issue #2828 - Part 14: Clobber required for CSS rule processor refactoring 2025-07-22 22:41:16 +08:00
Francis Dominic Fajardo e82fa3450a Issue #2828 - Part 13: Exclude strong layers-related code from release builds
I'll be leaving this in here for future use. CSSWG hasn't defined how this will be exposed to CSSOM yet. The parser bits are also not yet implemented.
2025-07-22 22:39:49 +08:00
Francis Dominic Fajardo 5ef79e303f Issue #2828 - Part 12: Implement cascade layer SizeOfIncludingThis 2025-07-22 22:39:49 +08:00
Francis Dominic Fajardo b1c19137ad Issue #2828 - Part 11: Detach weighted rule data from cascade layer 2025-07-22 22:39:48 +08:00
Francis Dominic Fajardo 047458a002 Issue #2828 – Part 10: Clean up cascade layer constructor
This also renames mIsWeak to mIsStrong. Cascade layers are weak by default and there's no point in always setting this to true.
2025-07-22 22:39:47 +08:00
Francis Dominic Fajardo ebb0ae456c Issue #2828 - Part 9: Rename CascadeEnumData to CascadeLayer 2025-07-22 22:39:47 +08:00
Francis Dominic Fajardo 5fda071898 Issue #2828 - Part 8: Extract RuleProcessorGroup (formerly ResolvedRuleCascades) into separate file
The struct no longer holds rule cascades since part 5 anyway, and extracting it to a separate file allows it to be reused in the future.
2025-07-22 22:39:46 +08:00
Francis Dominic Fajardo c3e12fe822 Issue #2828 - Part 7: Walk child rule processors separately and ensure inverted cascade layer order is enforced for important rules
Excluding @layers declared in scoped styles because those aren't specced and are in an entirely separate cascade origin.
2025-07-22 22:39:46 +08:00
Francis Dominic Fajardo be7a231579 Issue #2828 - Part 6: Assert rules were added to the rule cascade data 2025-07-22 22:39:45 +08:00
Francis Dominic Fajardo bc45ec4f57 Issue #2828 - Part 5: Implement child rule processors 2025-07-22 22:39:44 +08:00
Francis Dominic Fajardo 202e354f87 Issue #2828 - Part 4: Move cache key storage to ResolvedRuleCascades 2025-07-22 22:39:44 +08:00
Francis Dominic Fajardo 211aa6d652 Issue #2828 - Part 3: Refactor selector matching and rule cascade data into separate files/classes 2025-07-22 22:39:43 +08:00
Francis Dominic Fajardo a91b385f68 Issue #2828 - Part 2: Collect and hold rule cascade data per cascade layer 2025-07-22 22:39:42 +08:00
Francis Dominic Fajardo 253ec6706a Issue #2828 - Part 1: Build and store the array of layer name tokens in the layer at-rules 2025-07-22 22:39:37 +08:00
MeladJM 8b579a0151 Issue #2790 - Part 2: Address BZ bugs: 1355438 and 1341230 2025-07-22 03:23:45 +08:00
Moonchild 405182e8c6 Issue #2714 - Enable the Visual Viewport API by default.
Flip the pref. We want this on by default for web compat.
Users can disable it if they really want to, but it doesn't expose
anything of note to web content anyway that can't already be determined.
2025-07-21 11:11:00 +02:00
Moonchild d59ffe50bf Issue #2714 - Implement the Visual Viewport API
This DOM/Web API is entirely irrelevant for desktop use.
We give back the width/height of the root scrollframe of content and
for scale we pass forward our dpp resolution (usually 1.0).
Since we have no "no touch" zones in our content on desktop,. the rest
(origin and offset) is hard-coded to (0,0).
2025-07-21 11:08:16 +02:00
Moonchild 7cd5d4c623 Merge pull request 'Set up fontconfig on XRE startup (GTK only)' (#2827) from FranklinDM/UXP-contrib:work_linux-fontconfig-init-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2827
2025-07-19 22:55:45 +00:00
Francis Dominic Fajardo 6f2ee41663 Issue #2826 - Set up fontconfig on XRE startup (GTK only) 2025-07-19 21:39:05 +08:00
Moonchild 465c019783 Issue #2691 - Follow-up: Add manual tests 2025-07-19 13:58:45 +02:00
erixreyes 3654fa5444 Issue #2489: color-mix function parsing 2025-07-19 12:32:43 +08:00
erixreyes 1e7ca24d65 Issue #2489: Create ColorMixValue structure 2025-07-19 12:22:06 +08:00
erixreyes 6b9556259e Issue #2489: Update enum class syntax 2025-07-19 12:19:39 +08:00
erixreyes b8a6819b91 Issue #2489: Include color-mix to avoid filtering 2025-07-19 12:13:58 +08:00
erixreyes d4db7bf21b Issue #2489: Add color-mix computation support 2025-07-19 07:50:34 +08:00
erixreyes 5c6e1a3416 Issue #2489: Add color-mix serialization support 2025-07-19 07:49:42 +08:00
erixreyes 485de4985c Issue #2489: ColorMixValue support and structure 2025-07-19 07:45:24 +08:00
erixreyes aab2c3f490 Issue #2489: Add CSS color-mix keyword support 2025-07-19 07:20:29 +08:00
Moonchild e01b2390b8 Merge pull request 'Implement ParseSupportsSelector' (#2794) from erx_ld1/UXP:implement-at-support-selector into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2794
2025-07-18 09:54:27 +00:00
erixreyes 679c4f4075 Issue #2691: Repositioning comments 2025-07-18 07:13:31 +08:00
MeladJM 8605014f0d Issue #2790 - Part 1: Add: event state, pseudo-class mapping, SetAutofilled methods 2025-07-18 06:28:23 +08:00
erixreyes 0a6a588b0c Issue #2691: Utilize regex for spacing rules 2025-07-18 02:33:53 +08:00
Moonchild 335e0612df Merge pull request 'Implement overflow-inline and overflow-block CSS properties' (#2793) from janjan/UXP:implement-overflow-inline-and-overflow-block into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2793
2025-07-17 09:11:01 +00:00
erixreyes d49896cd01 Issue #2691: Refactored ParseSupportsSelector 2025-07-17 17:10:50 +08:00
MeladJM 6640effacb Issue #2792 - Cleanup: Remove unnecessary files 2025-07-17 16:05:09 +08:00
erixreyes ca28df8d02 Issue #2691: Improve Parser State Handling 2025-07-17 12:44:53 +08:00
MeladJM 857421f523 Issue #2792 -Implements parsing, computed style, and writing mode mapping for overflow-block and overflow-inline properties 2025-07-17 05:09:50 +08:00
Moonchild a92ea8d233 Merge pull request 'VPX PowerPC fixes' (#2786) from WolfReiser/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2786
2025-07-16 20:13:14 +00:00
Moonchild 8b7b609659 Merge pull request 'implement-css-clip-overflow' (#2788) from janjan/UXP:implement-css-clip-overflow into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2788
2025-07-15 21:19:17 +00:00
MeladJM bf7638c751 Issue #2499 - Align overflow computed values with CSS spec 2025-07-16 04:31:29 +08:00
Moonchild 45ae330bca Merge pull request 'Fix ASan/Debug builds on MacOS.' (#2791) from dbsoft/UXP:macasanfix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2791
2025-07-14 21:23:00 +00:00
MeladJM ee670eb701 Issue #2499 - Fix behavior of hidden and visible properly 2025-07-15 04:33:52 +08:00
Brian Smith afef40234b No Issue - Fix ASan/Debug builds on MacOS.
Not sure why we didn't run into this before, but...
Make sure MacOS versioning macros are defined before using them.
2025-07-14 12:39:49 -05:00
Francis Dominic Fajardo f1f6c5b5cf Issue #2736 - Follow-up: Stop using worker thread-only functions for checking if CSP is enabled
Should stop the barrage of worker thread assertions on debug builds.
2025-07-14 17:40:12 +02:00
Moonchild c7cb351ad3 Issue #2720 - Follow-up: Use temp value for duplicate color stop 2025-07-14 17:24:44 +02:00
MeladJM dd2a805fe5 Issue #2499 - Part 10: Fixed logic for overflow and removed unrelated additions 2025-07-13 08:08:23 +08:00
MeladJM 1cdd1103ec Issue #2499 - Clean up: Remove test files from root 2025-07-13 02:20:52 +08:00
MeladJM e7253a8594 Issue #2499 - Clean up: Recover bundle.js and remove test files from root 2025-07-13 02:19:22 +08:00
MeladJM 60d582acb4 Issue #2499 - Fix CSS overflow mixed-axis behavior 2025-07-12 02:26:42 +08:00
erixreyes 9b1247c628 Issue #2691: Adjusted missing structure 2025-07-11 19:03:13 +08:00
erixreyes 97cae6fc0f Issue #2691: Add special handling for nth-child expressions 2025-07-11 10:46:20 +08:00
erixreyes 299cddb361 Issue #2691: Enhance spacing logic for selector formatting 2025-07-11 10:41:52 +08:00
erixreyes 824a39a562 Issue #2691: Improve token handling for selectors 2025-07-11 10:34:37 +08:00
erixreyes e49ad49053 Issue #2691: Add basic parentheses tracking to ParseSupportsSelector 2025-07-11 10:28:28 +08:00
MeladJM ccdf828489 Issue #2499 - Correct overflow-x/y computed style 2025-07-10 21:59:47 +08:00
erixreyes 7560f59163 Issue #2691: Adjusted the function to use ParseSelectorGroup 2025-07-10 09:33:49 +08:00
MeladJM 53a22cbf9a Merge branch '2499-clip-overflow' 2025-07-09 23:03:50 +08:00
MeladJM 540a9c680b Issue #2499 - Store overflow-inline and overflow-block so computed style returns correct values 2025-07-09 22:32:14 +08:00
Sergey Larin 50d8f81ba0 No Issue - Disable VSX extensions
There is no detection script for them as for AltiVec, and
it's breaking older machines (PowerMac G5 in particular).
2025-07-09 08:18:47 +00:00
Sergey Larin 8bceafeb60 Issue #2777 - Fix ffvpx build on PPC64 2025-07-09 08:18:41 +00:00
erixreyes af37e5c0ad Issue #2691: Implement ParseSupportsSelector 2025-07-09 06:44:26 +08:00
Moonchild d2e52f4317 Bump Goanna milestone 2025-07-08 09:20:32 +02:00
Moonchild 89f43c5551 Issue #2757 - Follow-up: Add clip-path test (manual QA) 2025-07-08 09:13:34 +02:00
Moonchild 7b3d78963d Merge pull request 'Add support for clip-path:<geometry-box>' (#2784) from erx_ld1/UXP:implement-clip-path-geomBox into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2784
2025-07-08 07:09:47 +00:00
erixreyes 408595a609 Issue #2757: Fixed Indentations 2025-07-08 07:19:22 +08:00
erixreyes d1c07d8bd2 No Issue - Fixed Indentation 2025-07-08 06:43:12 +08:00
erixreyes 4506180129 Issue #2757: Create a new basicShape of type inset then set inset coords to zero. 2025-07-08 06:08:31 +08:00
MeladJM bb45d38314 Issue #2499 - Part 3: Add CSS clip overflow support with serialization fixes 2025-07-08 05:46:54 +08:00
erixreyes cb727ebf70 Issue #2780: Add back the mismatch overflow handling in nsRuleNode.cpp 2025-07-07 23:32:10 +02:00
Moonchild 55b97b4932 Merge pull request 'Follow-ups for Un-prefix -moz-user-select' (#2782) from RealityRipple/UXP:2106b into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2782
2025-07-07 18:09:47 +00:00
Moonchild da8beb084c Merge pull request 'Rebuild devtools Properties DB after Disinheriting scrollbar-width' (#2781) from RealityRipple/UXP:2765-dpdb into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2781
2025-07-07 18:09:24 +00:00
Andy e986a1a58c Issue #2106 - Clean-up: Un-prefix -moz-user-select in Comments 2025-07-07 10:46:13 -07:00
Andy 5e969ef750 Issue #2106 - Clean-up: Remove Defunct -moz-user-select CSS Directives 2025-07-07 10:45:55 -07:00
Andy 841d2b672f Issue #2106 - Follow-up: Additional contain Keyword Entries 2025-07-07 10:45:42 -07:00
Andy bb881f41d7 Issue #2106 - Follow-up: Un-prefix DOM Attribute MozUserSelect 2025-07-07 10:45:22 -07:00
Andy b09e94c651 Issue #2106 - Follow-up: Additional Un-prefixing 2025-07-07 10:43:13 -07:00
Andy 1ae509c852 Issue #2765 - Follow-up: Rebuild devtools Properties DB 2025-07-07 10:40:15 -07:00
MeladJM ac1b4f8ed9 Issue #2499 - Part 2: Fix overflow shorthand serialization for mixed clip values 2025-07-06 05:56:06 +08:00
MeladJM 3ac22b0edf Issue #2499 - Part 1: Add overflow: clip support and tests 2025-07-06 04:37:31 +08:00
Moonchild f983d7e6f7 Merge pull request 'improved-implement-axis-shorthand-parsing-overflow-and-make-css-overflow-parse-2-values-as-a-shorthand' (#2778) from janjan/UXP:improved-implement-axis-shorthand-parsing-overflow-and-make-css-overflow-parse-2-values-as-a-shorthand into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2778
2025-07-05 17:36:17 +00:00
MeladJM 872bc4c1a1 Issue #2124/2662: Cleaning of code 2025-07-05 22:22:57 +08:00
erixreyes 542a28588e Issue #2124/2662: Optimize overflow shorthand parsing and serialization 2025-07-05 05:47:31 +08:00
erixreyes b19c48957b Issue #2662 - Implement axis-shorthand parsing 2025-07-05 05:41:47 +08:00
erixreyes 48a8d9e9e8 Issue #2124 - Adjust overflow parser to handle two values 2025-07-05 05:39:25 +08:00
erixreyes 5d4084ea32 No Issue - Add detection for medium in border shorthand 2025-07-05 05:38:01 +08:00
Moonchild e91be25a86 [devtools] Further improve special character escaping in "copy as curl".
Follow-up to 15335ce39d

Trying to cross-platform sanitize causes issues escaping too much and
as a result mangling the curl commands that get spit out.
This reverts previously added Windows-specific escaping on POSIX and
vice versa.
Since we do not offer cross-platform copying as a curl command in devtools
anyway, it makes little sense to sanitize for the O.S. we're not running on
as we would not be using the command processor in such environments that
could trip over characters for the other O.S. This was previously added
as a defense-in-depth in case we would start offering this, but I see no
real reason to do so, anyway.

Also decided to in-line comments for readability instead of a bulleted
list in the function head.

Mozilla has taken similar steps because of fall-out, but they do offer
cross-platform "copy as curl" for corner cases, so they will have to
find solutions for a problem we won't have.
2025-07-04 22:41:03 +02:00
Moonchild a3c33fa529 Merge pull request 'Un-prefix -moz-user-select and align other value names with CSS4' (#2772) from jdsanchez/UXP-contrib:unprefix-mozselect-align-valuenames-css4 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2772
2025-07-04 11:17:21 +00:00
Moonchild 2f524bd8bd Merge pull request 'Implement CSS4 revert keyword' (#2775) from FranklinDM/UXP-contrib:work_css-revert into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2775
2025-07-04 09:33:34 +00:00
Jerico 5e29f281df Issue #2106 - Part 3: Add 'contain' as user-select value, retain 'element' 2025-07-04 17:31:53 +08:00
Francis Dominic Fajardo 26da47d7ce Issue #2045 - Part 10: Regenerate devtools CSS database and include the revert keyword in related devtools code 2025-07-03 19:37:14 +08:00
Francis Dominic Fajardo 8b18091b0f Issue #2045 - Part 9: Include the revert keyword in the list of accepted values for CSS properties returned by inDOMUtils 2025-07-03 19:37:14 +08:00
Moonchild 05bae9bb72 Merge pull request 'Issue #2773 - Fix issues when building FFVPX on architectures without assembly routines' (#2774) from Basilisk-Dev/UXP-contrib:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2774
2025-07-03 11:23:34 +00:00
Francis Dominic Fajardo 44736c7db9 Issue #2045 - Part 8: Remap revert keyword values to a higher cascade level 2025-07-03 18:02:50 +08:00
Francis Dominic Fajardo 47266a6381 Issue #2045 - Part 7: Override revert values during presentation hint cascade 2025-07-03 18:02:50 +08:00
Francis Dominic Fajardo f76e834a32 Issue #2045 - Part 6: Treat "revert" values as the same as "unset" when encountered in the rule node 2025-07-03 18:02:49 +08:00
Francis Dominic Fajardo d3a647fbfb Issue #2045 - Part 5: Serialize shorthands using "revert" like those containing "unset" 2025-07-03 18:02:49 +08:00
Francis Dominic Fajardo 204d263577 Issue #2045 - Part 4: Parse "revert" in property values wherever "unset" is allowed 2025-07-03 18:02:48 +08:00
Francis Dominic Fajardo d4b9bb1c87 Issue #2045 - Part 3: Implement cascade origin tracking to CSS parser
The CSS parser already knows the cascade origin, but it is using a different enum for storing it.
2025-07-03 18:02:48 +08:00
Francis Dominic Fajardo bb309f6d0b Issue #2045 - Part 2: Add handling and storage for the revert unit and value 2025-07-03 18:02:40 +08:00
Francis Dominic Fajardo a7d6166b4c Issue #2045 - Part 1: Revert "Temporarily force hidden elements to be actually hidden."
This reverts commit 1692fa5291.
2025-07-03 17:47:04 +08:00
Francis Dominic Fajardo a356649786 No issue - Fix mixing of tabs with space-indented code. 2025-07-03 17:47:03 +08:00
Basilisk-dev 4a2df933dc Issue #2773 - accurately reflect status of FFVPX assembly routines on 32-bit arm in comments 2025-07-02 16:11:13 -04:00
Basilisk-dev f538975196 Issue #2773 - Allow building FFVPX on all architectures, even without assembly routines 2025-07-02 16:08:46 -04:00
Basilisk-dev 7f7b08591e Issue #2773 - Build ffvpx on 32-bit x86 Linux 2025-07-02 15:27:34 -04:00
Moonchild 38d4f89b0b Merge pull request 'Unprefix CSS -moz-read-write / -moz-read-only' (#2770) from RealityRipple/UXP:un-moz-read into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2770
2025-06-30 15:48:41 +00:00
Jerico c2a9f541ff Issue #2106 - Part 2: Align value names 2025-06-30 22:32:54 +08:00
Jerico 65c3b14ca4 Issue #2106 - Part 1: Un-prefix -moz-user-select 2025-06-30 22:32:37 +08:00
Andy d65b5cbca6 Unprefix -moz-read-write / -moz-read-only 2025-06-29 02:10:26 -07:00
Moonchild 09815f438f Merge pull request 'Follow-up: Fix UAF when returning the non-NAC style context from a frameless node' (#2768) from FranklinDM/UXP-contrib:work_css-scrollbar-width-uaf-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2768
2025-06-28 09:42:44 +00:00
Francis Dominic Fajardo 3aa8907d6a Issue #2765 - Follow-up: Avoid declaring RefPtr in the return statement 2025-06-28 16:15:37 +08:00
Francis Dominic Fajardo d4a327c694 Issue #2765 - Follow-up: Fix UAF when returning the non-NAC style context from a frameless node 2025-06-28 11:05:45 +08:00
Moonchild 68f176da71 Merge pull request 'Follow-up: Make scrollbar width checks use the originating non-NAC style context on Linux and Mac' (#2767) from FranklinDM/UXP-contrib:work_css-inheritance-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2767
2025-06-27 08:31:10 +00:00
Francis Dominic Fajardo d71911df9c Issue #2765 - Follow-up: Make scrollbar width checks use the originating non-NAC style context on Linux and Mac 2025-06-27 12:25:01 +08:00
Moonchild e56b2cb539 Merge pull request 'Several inheritance-related fixes for scrollbar-width and other properites.' (#2766) from FranklinDM/UXP-contrib:work_css-inheritance-fixes-for-scrollbar-width-and-related into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2766
2025-06-26 17:06:29 +00:00
Francis Dominic Fajardo 767afca38a Issue #2764 - Fix several properties to return NeutralChange hint
This excludes the removal of the mBorderImageOutset change condition from triggering a repaint which doesn't make sense.
2025-06-26 23:00:16 +08:00
Francis Dominic Fajardo 72f61e87b5 No issue - Refactor nsStyleUIReset::CalcDifference to accumulate change hints
This was patched in m-c via an unrelated bug (bug 1370034).

Noted by dbaron in this comment: https://bugzilla.mozilla.org/show_bug.cgi?id=1370034#c69
2025-06-26 23:00:07 +08:00
Francis Dominic Fajardo 37c462a7b3 Issue #2765 - Part 3: Make scrollbar width checks use the originating non-NAC style context 2025-06-26 22:59:55 +08:00
Francis Dominic Fajardo cd32e19c91 Issue #2765 - Part 2: Create a helper function for resolving the non-NAC style context of a given NAC 2025-06-26 22:55:44 +08:00
Francis Dominic Fajardo 0c5885b853 Issue #2765 - Part 1: Scrollbar width should be treated as a non-inherited property
Note: non-inherited properties are stored in "reset" style structs.

Previous implementation treats it as an inherited property, which
doesn't match the spec.

This also fixes the incorrect behavior when using the `unset` value
for this property by specifying SETVAL_UNSET_INITIAL in the mask.
2025-06-26 22:55:19 +08:00
Moonchild 1e6ede5663 [XPCOM] Add Mac-specific executable extensions 2025-06-26 01:51:02 +02:00
Moonchild 87de004003 [Layout] Hold stronger references to FontFaces. 2025-06-25 23:47:56 +02:00
Moonchild 2973939451 [DOM] Update YouTube embed rewrites.
Youtube's usage patterns have changed regarding video embeds, so we can
remove special handling for the enablejsapi flag.
Applies YouTube embed URL replacement to the path component only.
2025-06-25 22:48:12 +02:00
Moonchild 4558785beb Issue #2762 - Remove SVGZoomEvent interface.
Resolves #2762
2025-06-24 12:18:13 +02:00
Moonchild 8b96b297a4 Merge pull request 'Follow-up: Ensure container is initialized for cloned declaration blocks' (#2763) from FranklinDM/UXP-contrib:work_css-declaration-block-init-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2763
2025-06-24 10:15:02 +00:00
Francis Dominic Fajardo efb0f9c13c Issue #2488 - Follow-up: Ensure container is initialized for cloned declaration blocks 2025-06-24 13:02:06 +08:00
Moonchild b526a3ecc2 No issue - Roll forward root cert data update.
Include manually-added intermediate cert (like Mozilla) to deal with
SSL.com cross-signed and AAA broken trust chain.
2025-06-23 15:41:43 +02:00
Moonchild f66803171e No issue - NSS 3.90.7.1: Roll back root cert data update.
This reverts the root certificate refresh performed in 3.90.5.1 due to
root certificate trust issues seen on the 'net. Apparently the certdata
Mozilla uses is incorrect or not fully compatible with our code.
2025-06-21 18:27:20 +02:00
Moonchild bfc09b8185 No issue - Escape < and > in element attribute values.
Per spec, extend escaping of attribute value characters to include
`<` and `>`. We already did this for text fragments, and it makes sense
to apply the same to attribute values. We are at parity with mainstream
that default-escape attribute values this way in current releases.
2025-06-19 12:55:54 +02:00
Moonchild a02860fe46 Issue #2723 - Remove obsolete NPN prefs and callbacks.
NPN was removed from NSS a long time ago, this effectively does nothing.
ALPN also should be default-enabled (we do this by pref but the component
itself should have a sane default) so this was flipped as a drive-by fix.

Resolves #2723
2025-06-16 20:33:16 +02:00
Moonchild 69410b84e1 Issue #2734 - Add base-64 grammar check to CSP nonces where applicable.
Resolves #2734
2025-06-16 13:19:51 +02:00
Moonchild 80f96f3715 No issue - Update SQLite lib to 3.50.1 and require it as syslib. 2025-06-14 23:19:12 +02:00
Moonchild d6e308710d Merge pull request 'Allow Click() events on document-less anchors' (#2761) from 2721-docless-anchor into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2761
2025-06-14 19:09:24 +00:00
Moonchild 455f26987e Issue #2752 - Change DOMMatrix Rotate{Self}() to the current spec.
This changes Rotate{Self}(angle, translateX, translateY) to
Rotate{Self}(rotateX, rotateY, rotateZ) per the spec.
The resulting matrix will be a 3DMatrix

Resolves #2752
2025-06-13 22:25:56 +02:00
Moonchild e2178a8f7e Issue #2751 - Use rounded interpolation value when interpolating the
Integer type and Font stretch type, per spec.

Resolves #2751
2025-06-13 11:40:49 +02:00
Moonchild c6a8c16f73 [devtools] Stop escaping special characters in cURL URLs.
Follow-up to [c117ee9d29]
2025-06-11 12:14:32 +02:00
Moonchild c273d9d56e Issue #2721 - Remove nsILinkHandler include from /mailnews 2025-06-10 02:31:12 +02:00
Moonchild d611dfcd90 Issue #2721 - Simplify CheckHandleEventForAnchorsPreconditions.
The special case check is no longer necessary after our changes in this
issue and #2732 where <A> no longer applies as a link inside image maps.
2025-06-10 02:23:53 +02:00
Moonchild d6575ba929 Issue #2721 - Remove nsILinkHandler.
This interface inly has a single implementation behind it, which is also
only used in 2 places after the previous commit. That's a lot of
additional complexity and compiler indirection for no good reason.
This change removes the interface and uses direct nsDocShell::Cast calls
instead of going through the interface in the few places left now that
we no longer build on a presentation context for links.
2025-06-10 01:51:14 +02:00
Moonchild fc84231371 Issue #2721 - Create special case exception for <A>.Click() outside of DOM
This removes the requirement for there to be a non-null PresShell to
dispatch `Click()` events on `<A>` elements (only), since the exception
to the rule has propagated to the spec.

With these changes it should now be possible do create an anchor and
`Click()` on it from JS without actually first attaching it to the DOM
of the presented document, as abused by scripted downloads in pages
(instead of using the A attribute to custom-name downloads).
2025-06-09 23:45:31 +02:00
Moonchild 0ccac0674a Update docs/UXP Coding Style.md
Clarify doc and remove leftover reference to GitHub
2025-06-09 13:16:17 +00:00
Moonchild 4c8ef01f45 Update docs/CONTRIBUTING.md
Update code style and refer to separate doc
2025-06-09 13:12:02 +00:00
Moonchild 43a0b75c72 Merge pull request 'Directly use FFmpeg's tx interface for FFT functions' (#2760) from trav90/UXP-contrib:ffmpeg-tx into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2760
2025-06-06 19:47:58 +00:00
trav90 333f970628 Issue #2749 - Part 3a - Correctly scale inverse FFT result 2025-06-05 08:12:43 -05:00
trav90 37cbaba0ab Issue #2749 - Part 9 - Don't consume packet when decoding audio using ffvpx and getting EAGAIN 2025-06-02 13:48:50 -05:00
trav90 400c7dba5e Issue #2749 - Part 7 - Cleanup some symbols and defines 2025-06-02 11:43:14 -05:00
trav90 33d6d9a21b Issue #2749 - Part 5 - Fix typos breaking the build. 2025-06-02 11:43:01 -05:00
trav90 1fd72ead24 Issue #2749 - Part 4 - Gracefully handle deleted mozavutil.so when initializing an AudioContext 2025-06-02 11:42:52 -05:00
trav90 a261e14afd Issue #2749 - Part 3 - Scale the inverse FFT result using tx instead of pre- or post-processing the data
This skips a copy at the expense of having to do a `const_cast`.
2025-06-02 11:42:38 -05:00
trav90 db80a2b5a3 Issue #2749 - Part 2 - Directly use tx instead of the older avfft interface 2025-06-02 11:42:24 -05:00
trav90 8f3cd0b2fb Issue #2749 - Part 1 - Remove MOZ_LIBAV_FFT
We'll be using FFmpeg's new tx interface directly for FFT functions going forward. Also simplify the yasm check while we're here.
2025-06-02 11:42:13 -05:00
yup 310b682b43 Fix loop for column picker's drop-down menu (#2758)
This fixes an oversight in the loop going over column enumeration for column selection.

Resolves #2759

Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2758
Co-authored-by: yup <yup@no-reply.palemoon.org>
Co-committed-by: yup <yup@no-reply.palemoon.org>
2025-05-31 07:54:18 +00:00
Moonchild c117ee9d29 [devtools] Improve special character escaping for curl 2025-05-28 13:28:07 +02:00
Moonchild 7b859595b9 No issue - Set device contrast to an acceptable value if OOB. follow-up
Actually use the correct formula >.<
2025-05-28 12:31:57 +02:00
Moonchild 336c1dfec8 No issue - Set device contrast to an acceptable value if OOB.
On Mac and Win+DW, enhanced device contrast can possibly not be set.
This throws Skia for a loop by passing in an OOB scalar to its init.
Work around this by setting an accepted average value that helps
prevent font wash-out while not causing fringing.
2025-05-28 12:27:24 +02:00
Moonchild deb6e22bd3 No issue - Force C++ run-time type information on protobuf
Protobuf uses `dynamic_cast` on polymorphic types which cannot be
inferred properly at compile-time, which can lead to unexpected behavior.
As a code safety measure, enable C++ RTTI for protobuf.
2025-05-23 00:56:19 +02:00
Moonchild 1ec0782589 Issue #2725 - Follow-up: Only include dummy_funcs.c in debug builds. 2025-05-23 00:51:30 +02:00
Moonchild d0fa41e25a Issue #2736 - Follow-up: Remove erroneous workerthread CSP check.
In `OnStreamCompleteInternal` an incorrect workerthread CSP enabled check
was added. This was a duplicate check and this is actually on the main
thread so asserts the wrong thread for a `WorkerPref`.
2025-05-22 13:18:43 +02:00
Moonchild 789291da5a Issue #2725 - Follow-up: Fix debug builds
This reintroduces a much-cut-down version of dummy_funcs.c
This is necessary because otherwise the confusing function linkage inside
libavcodec will cause linking failures on MSVC debug builds.
2025-05-22 11:47:05 +02:00
trav90 ecfa8e4630 Issue #2749 - Part 8 - Put mfbt/casting.h pragmas behind GCC conditional. 2025-05-22 10:01:54 +02:00
trav90 640699d588 Issue #2749 - Part 6 - Teach mfbt/casting.h to deal with floating point values
This now uses `if constexpr (...)` which is a lot more readable, and still compiles to almost no assembly instructions, as expected. Floating point casting assert when casting an integer that's too large to be represented exactly as a floating point (e.g. UINT64_MAX to double, since double have less than 64 bytes of mantissa), or when casting a double that's too large to be represented in a float.
2025-05-22 10:00:48 +02:00
Moonchild d0f4ea6ee1 Merge pull request 'No issue - Remove obsolete pref.' (#2753) from Shadow/UXP-contrib:unused-pref into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2753
2025-05-22 00:46:40 +00:00
Moonchild cf0950ec11 Merge pull request 'Several minor platform fixes and updates' (#2754) from dbsoft/UXP:platform-updates into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2754
2025-05-22 00:44:50 +00:00
Brian Smith ef7335d497 No Issue - Fix building on Linux 32-bit ARM with clang.
Need to have system definitions before defining the overrides.
The sytem definitions have additional attributes that conflict.
clang 14 that I am using also requires -fno-integrated-as for
several files, but I left that out since it is probably fixed
in newer versions of clang.
2025-05-21 18:24:32 +00:00
Brian Smith affd7fe525 No Issue - MacOS fixes and updates.
stroucki reported on the forum a libary not loading. This corrects the path.
It still loads with the incorrect path on most systems, but fixing it anyway.
https://github.com/joseluisq/macosx-sdks
Update the SDK list with the SDKs available here.
2025-05-21 13:14:11 -05:00
Shadow 740f309189 No issue - Remove obsolete pref.
Bug 1356751

Remove unused pref `layout.frame_rate.precise`
2025-05-21 15:17:40 +00:00
Moonchild 655f9466a7 No issue - Don't support modulo math space in ExtractLinearSum. 2025-05-20 00:56:00 +02:00
Moonchild 5e7b266609 No issue - Fix promise combinator function state. 2025-05-19 22:50:01 +02:00
Moonchild abad456132 Merge pull request 'Update ffvpx lib to 6.1.2' (#2748) from trav90/UXP-contrib:ffvpx-update into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2748
2025-05-19 16:34:33 +00:00
trav90 d6360454d5 Issue #2741 - Part 3 - Clamp rolloff factor appropriately in PannerNodeEngine 2025-05-17 14:01:34 -05:00
trav90 8b0d20ab49 Issue #2741 - Part 2 - Don't pass a UTF-8 string to system vsnprintf 2025-05-17 14:01:17 -05:00
trav90 4ce9b76a60 Issue #2741 - Part 1 - Import FFmpeg 6.1.2 source files for ffvpx 2025-05-17 14:00:42 -05:00
Moonchild 5568acf108 Issue #2739 - Default-enable libjxl and image/jxl format
This removes the build option and pref, supporting JPEG-XL as an
ubiquitous format for all UXP applications.
Resolves #2739
2025-05-15 21:21:52 +02:00
Moonchild 1e15fb7ecf Merge pull request 'No Issue - Fix a typo in DOMSVGPoint constructor.' (#2746) from Shadow/UXP-contrib:dom-svg-point-1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2746
2025-05-15 16:53:23 +00:00
Shadow 23db4391d6 No Issue - Fix a typo in DOMSVGPoint constructor.
Bug 1442972

DOMSVGPoint constructor checked mX is finite twice, leaving out mY finite.

-- Stupidly rushed.  Shambles.
2025-05-15 14:09:07 +00:00
Moonchild 0aaed26309 Merge pull request 'Re-work principals and improve CSP evaluation based on it' (#2743) from 2736-CSP-improvements into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2743
Reviewed-by: Travis W. <trav90@no-reply.palemoon.org>
2025-05-13 18:32:28 +00:00
Moonchild ca34a2ba47 Issue #2736 - Part 14: Make CSP-enabled available to workers. 2025-05-13 16:35:35 +02:00
Moonchild 4cca52dfcb Issue #2736 - Follow-up: Fix line endings in nsGenericHTMLFrameElement.h 2025-05-11 13:16:49 +02:00
Moonchild 189d73bbc2 Issue #2736 - Part 13: Override page CSP for loads by expanded principals.
Per the CSP specification, content injected by extensions is meant to
be exempt from page CSP. This patch takes care of the most common case
of content injected by extension content scripts, which always have
expanded principals which inherit from the page principal.

To make this easier, de-virtualize BasePrincipal::Kind(), using CTOR
initializers instead.
2025-05-09 23:08:54 +02:00
Moonchild 224287a11e Merge branch 'master' into 2736-CSP-improvements 2025-05-09 21:27:12 +02:00
Moonchild 951e739938 Merge pull request 'No Issue - Remove obsolete pref.' (#2742) from Shadow/UXP-contrib:llvmpipe-pref-1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2742
2025-05-08 11:45:44 +00:00
Shadow 1f15176b70 No Issue - Remove obsolete pref.
Bug 1193695

Removes obsolete preference "gfx.prefer-mesa-llvmpipe"

The code which made use of it was removed.
2025-05-08 10:03:06 +00:00
Moonchild 6115554c5c No issue - Bump general.useragent.compatMode.version to 128.0 2025-05-07 16:54:26 +02:00
Moonchild 7528917ad3 Merge pull request 'Fixes for building with LLVM 19 included with FreeBSD 13.5.' (#2740) from dbsoft/UXP:llvm19-fixes into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2740
2025-05-06 09:15:49 +00:00
Brian Smith 6571624431 No Issue - Fixes for building with LLVM 19 included with FreeBSD 13.5.
Fix a conflict with libc++ 19 and the old Mozilla (re)alloc macros.
LLVM 18+ does not allow std::char_traits<unsigned char> so avoid it.
https://bugzilla.mozilla.org/show_bug.cgi?id=1849070
Partial NSS upgrade to replace ByteString with a class.
https://bugzilla.mozilla.org/show_bug.cgi?id=1851092
2025-05-05 13:12:42 -05:00
Moonchild fa071a7f2d Issue #2736 - Part 12: Re-work style <link> href attribute.
Use subject principal as triggering principal in style <link> "href"
attribute.
2025-05-04 21:58:17 +02:00
Moonchild 11c89d4c2d Issue #2736 - Part 11: Re-work <input> src attribute.
Use subject principal as triggering principal in <input> "src" attribute.
2025-05-04 15:36:51 +02:00
Moonchild 7e7fea3d06 Issue #2736 - Part 10: Re-work <source> srcset attribute.
Use subject principal as triggering principal in <source> "srcset"
attribute for <picture>.
2025-05-04 14:39:03 +02:00
Moonchild c9bb1ffc9c Issue #2736 - Part 9: Re-work <source> src attribute.
Use subject principal as triggering principal in <source> "src" attribute
for <audio>/<video> elements.
2025-05-03 23:32:48 +02:00
Moonchild 0157ea494a No issue - Explicitly indicate image/apng in Accept: header 2025-05-03 13:49:28 +02:00
Moonchild 31a184894a Merge pull request 'No Issue - Fix incorrectly written pref name' (#2738) from Shadow/UXP-contrib:spdy-pref-1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2738
2025-05-02 15:23:08 +00:00
Shadow 620e38658b No Issue - Fix incorrectly written pref name
Bug 1481096
"spdy.default-hpack-buffer" was incorrectly written as "spdy.hpack-default-buffer".
2025-05-02 15:07:00 +00:00
Moonchild a76ea915df No issue - Include all non-ubiquitous image and media types in nav Accept:
See: https://github.com/whatwg/fetch/issues/274#issuecomment-2841053461
Considering the ubiquitous nature of gif, jpg, png, mp4, avi, etc. those
are left out, leaving just jxl, webp, x-matroska (mkv) and webm as
explicitly mentioned supported formats for conneg.

Note: it's not clear where network.http.accept.image is used in practice
because our normal place to use the image override (imgloader) uses
a different pref (image.http.accept).
2025-05-01 16:20:08 +02:00
Moonchild 2243a2f026 [devtools] Escape some more characters for copying as cURL on Posix. 2025-04-30 11:42:20 +02:00
Moonchild c9c6c7a7ec [NSS] Update NSS version to 3.90.7 2025-04-30 00:54:40 +02:00
Moonchild 679971833e [NSS] Update built-in data 2025-04-30 00:54:15 +02:00
Moonchild c97f283b25 [NSS] Improve locking in nssPKIObject_GetInstances. 2025-04-29 23:52:20 +02:00
Moonchild b1382e247b Issue #2736 - Part 8: Re-work <video> and <audio> src attribute.
Use subject principal as triggering principal in <video>/<audio> "src"
attribute. We deviate from Mozilla here because we do not worry
about content isolation principals in Page Info.
2025-04-29 21:28:50 +02:00
Moonchild 74f038e9b0 Issue #2736 - Part 7: Re-work <frame> and <iframe> src attribute.
Use subject principal as triggering principal in <iframe>/<frame> "src" attribute.
2025-04-29 13:00:46 +02:00
Moonchild 7d5bb477dd Issue #2736 - Part 6: Re-work <script> src attribute.
Use subject principal as triggering principal in <script> "src" attribute.
2025-04-29 09:47:42 +02:00
Moonchild 5160be7559 Issue #2736 - Part 5: Re-work img <srcset> attribute.
Use subject principal as triggering principal in <img> "srcset" attribute.
2025-04-28 19:15:02 +02:00
Moonchild 744c507460 Issue #2736 - Part 4: Re-work img <src> attribute.
Use subject principal as triggering principal in <img> "src" attribute.
Also get rid of the `BeforeMaybeChangeAttr`/`AfterMaybeChangeAttr` dance:
It makes more logical sense for these effects to happen _after_ the
attribute has actually been changed.
2025-04-28 14:37:08 +02:00
Moonchild 7b537e0b8c Issue #2736 - Part 3: Use TriggeringPrincipal for image loads.
The imgLoader code consistently uses the term `loadingPrincipal` for
the principal that is called the `triggeringPrincipal` everywhere else.
This aligns the naming to avoid confusion in later changes.
2025-04-28 10:04:07 +02:00
Moonchild 365015426f Issue #2736 - Part 2: Pass subject principal to SetAttribute and friends.
In order to tailor certain security checks to the caller that is
attempting to load a particular piece of content, we need to be able to
attach an appropriate triggering principal to the corresponding requests.

Since most HTML content is loaded based on attribute values, this means
capturing the subject principal of the caller who sets those attributes,
which in turn means we need to make it available to `AfterSetAttr` hooks
on all relevant element types.
2025-04-27 20:42:29 +02:00
Moonchild 138dc4eef6 Merge branch 'master' into 2736-CSP-improvements 2025-04-27 19:52:07 +02:00
Moonchild b0cb25c556 Merge branch '2737-SVGGeometryInterface' 2025-04-27 19:42:35 +02:00
Moonchild 721b1cdbd3 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-27 18:03:48 +02:00
Moonchild ace69a4d32 Issue #2736 - Part 1: Provide more consistent principals to CSP.
We're currently fairly vague and inconsistent about the values we provide to
content policy implementations for requestOrigin and requestPrincipal. In some
cases they're the triggering principal, sometimes the loading principal,
sometimes the channel principal.

Our existing content policy implementations which require or expect a
loading principal currently retrieve it from the context node.
Since no current callers require the principal to be the loading
principal, and some already expect it to be the triggering principal
(which there's currently no other way to retrieve), a choice was made
to pass the triggering principal whenever possible, but use the loading
principal to determine the origin URL.
2025-04-26 20:07:16 +02:00
Moonchild 49ab33bfda Merge pull request 'Add support for FFVPX on ARM.' (#2735) from dbsoft/UXP:ffvpx-arm-2725-squashed into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2735
2025-04-26 15:59:16 +00:00
Moonchild a81d54f8a0 Merge pull request 'ImageMap cleanup' (#2733) from imagemap-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2733
2025-04-25 19:25:43 +00:00
Moonchild b0206cc87a 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-25 20:29:05 +02:00
Brian Smith b7daf5a773 Issue #2725 - Add support for FFVPX on ARM.
Add 32 and 64 bit ARM FFMPEG support files.
Don't use YASM on non-Intel target platforms.
Add ARM config for Mac, Windows and Unix platforms.
Remove no longer needed dummy_funcs.c files.
2025-04-25 11:34:27 -05:00
Moonchild d023a6508e No issue - restore nullptr-check 2025-04-25 09:34:34 +02:00
Moonchild 1be5ac6cfd No Issue - Modernize nsImageFrame/nsImageMap
Primarily flow control improvements, and removing unused `nsresults`.
2025-04-25 09:11:18 +02:00
Moonchild ef8c81f823 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-24 15:43:32 +02:00
Moonchild 61133d340d Issue #2732 - Part 1: Rename mContainsBlockContents to mConsiderWholeSubtree
It is more descriptive of what it actually does.
2025-04-24 14:38:33 +02:00
Moonchild 52f31a682d Issue #2728 - Remove obsolete CSP referrer policy.
This has been superseded by the dedicated Referrer-policy header.
Resolves #2728
2025-04-24 14:27:39 +02:00
Moonchild bf9c1936d5 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-22 15:26:41 +02:00
Moonchild c1a975c0d5 Issue #2729 - Add missing jsonifier interfaces to DOM{Matrix|Rect|Point}
Resolves #2729
Resolves #2705
2025-04-16 16:07:57 +02:00
Moonchild 087616d12d No issue - Update Twemoji font to unicode 16.0.0 2025-04-14 01:48:50 +02:00
Moonchild a95d4f44e0 No issue - Windows-specific style cleanup.
Just css cleanup for media queries we haven't supported for quite a while.
2025-04-13 23:26:46 +02:00
Moonchild a629ec94bf No issue - Stop trying to preload EME .dll files in GMP
We don't support EME, so this entire chunk of code can go.
2025-04-13 23:25:17 +02:00
Moonchild 57a89fbdf0 Issue #2726 - Remove obsolete FirefoxOS MMS prefs
These aren't referenced anywhere.
Resolves #2726
2025-04-12 01:22:51 +02:00
Moonchild 4565465271 Merge pull request 'Drop support for libavcodec versions below 58' (#2727) from trav90/UXP-contrib:ffvpx-update into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2727
2025-04-11 10:20:41 +00:00
trav90 add1128709 Issue #2527 - Part 3 - Remove additional checks and prefs for LibAV 2025-04-10 10:11:42 -05:00
trav90 533489d0c2 Issue #2527 - Part 2 - Remove support for libavcodec < 58
This removes all support for LibAV and FFmpeg 3.x and below.
2025-04-10 09:49:17 -05:00
trav90 5bbdb4c5e7 Issue #2527 - Part 1 - Remove old FFmpeg and LibAV headers 2025-04-10 07:34:06 -05:00
Moonchild a180ead660 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-04 20:37:05 +02:00
Brian Smith 3767366e59 No issue - Various updates for Mac buildability with XCode 16.3 2025-04-03 10:05:12 +02:00
Moonchild 804b9c1855 Merge pull request 'Update ffvpx lib to version 6.0.1 (take 2)' (#2719) from trav90/UXP-contrib:ffvpx-update into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2719
2025-04-03 07:12:49 +00:00
Moonchild 7f4a374ff5 [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-02 14:31:19 +02:00
Moonchild fd53d78b72 [DOM] Check state before compiling/transforming. 2025-04-02 12:50:14 +02:00
trav90 8e17997b02 Issue #2317 - Part 4a - Regenerate Mac config* files for ffvpx 2025-03-31 08:43:10 -05:00
Moonchild 39b7557ed1 No issue - Update SQLite lib to 3.49.1 and require it as syslib. 2025-03-30 15:19:28 +02:00
Moonchild ffb8e54c32 Merge pull request 'Optimize CORS preflights' (#2722) from 2703-CORS-updates into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2722
2025-03-30 12:16:20 +00:00
Shadow a343bf8cd3 Issue #2703 - Part 4: Fix incorrect clang warning in nsCORSListenerProxy.
See BZ Bug 1444472
Resolves #2703
2025-03-29 21:15:35 +01:00
Shadow d4505b077a Issue #2703 - Part 3: Make cache entry request checking more readable. 2025-03-29 21:15:29 +01:00
Shadow 20eecdbe29 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-29 21:15:22 +01:00
Shadow 3bb9c2fe14 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-29 21:15:16 +01:00
Moonchild 38e6049f3e Issue #2703 - Part 0: Add UnorderedRemoveElement[s]At to nsTArray 2025-03-29 21:15:00 +01:00
Moonchild 19a5b2394d 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-03-28 23:05:50 +01:00
Moonchild 195c1d84cb Merge pull request 'Fix Computing NTLM Channel Binding Hashes for modern certs.' (#2718) from martok/UXP-contrib:mr/2715-ntlm-cbh into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2718
2025-03-26 18:32:00 +00:00
trav90 f6679fae9f Issue #2317 - Part 10 - Get frame color range and color space directly from AVFrame
av_frame_get_color_range() and av_frame_get_colorspace() were removed in FFmpeg 5.0 so we have to get that information directly from AVFrame now.
2025-03-26 09:58:06 -05:00
Martok 438d4a8941 Issue #2715 - Compute Channel Binding Hashes using the certificate signature's hash algorithm as per spec 2025-03-25 22:40:05 +01:00
Moonchild 3a095c4e20 Merge pull request 'Issue #2692 - Follow-Up: fix compilation in debug' (#2717) from martok/UXP-contrib:mr/2692-debug into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2717
2025-03-25 20:11:35 +00:00
Martok 3c1fc14acb Issue #2692 - Follow-Up: fix compilation in debug 2025-03-25 20:33:32 +01:00
trav90 9ef58e78ef Issue #2317 - Follow-up - Update ffvpx to 6.0.1 2025-03-25 12:53:17 -05:00
trav90 a290307c80 Issue #2317 - Part 9 - "send" before "receive"-ing when decoding audio using FFmpeg
This is what the documentation says we should be doing. We miss decoding a packet otherwise.
2025-03-25 12:43:54 -05:00
trav90 59312dfc64 Issue #2317 - Part 8 - Update compiler flags used for ffvpx 2025-03-25 12:43:16 -05:00
trav90 e17b95dc31 Issue #2317 - Part 7 - Don't use -ffreestanding flag when building with clang
This was added by Mozilla as a workaround for an automated build system (one that they no longer use) for building on Linux with clang (which is not our target compiler for that platform). No need for us to keep this workaround.
2025-03-25 12:42:58 -05:00
trav90 6c543a9005 Issue #2317 - Part 6 - Remove old workaround for clang-cl
This was added back in 2016 to work around issues with clang-cl. Shouldn't be needed anymore.
2025-03-25 12:42:36 -05:00
trav90 124f7112a3 Issue #2317 - Part 5 - Build ffvpx against the FFmpeg 6.0 headers 2025-03-25 12:42:20 -05:00
trav90 2aae4c8130 Issue #2317 - Part 4 - Regenerate config* files for ffvpx 2025-03-25 12:42:08 -05:00
trav90 81b19a0f8e Issue #2317 - Part 3 - Update symbols list for FFmpeg 6.0 2025-03-25 12:41:45 -05:00
trav90 3097ac4c67 Issue #2317 - Part 2a - Update changes.patch for ffvpx 2025-03-25 12:39:06 -05:00
trav90 0020f0ded8 Issue #2317 - Part 2 - Import FFmpeg 6.0 source files for ffvpx 2025-03-25 12:38:42 -05:00
trav90 ab372731d7 Issue #2317 - Part 1 - Update and cleanup ffvpx documentation in preparation for lib update. 2025-03-25 12:37:07 -05:00
Moonchild 3aad2f4ac5 No issue - Fix incorrect js message ref in js shell. 2025-03-25 00:10:53 +01:00
Moonchild b35ce37696 Merge pull request 'Issue #1531 - Bump minimum required GCC version to 9.1' (#2716) from trav90/UXP-contrib:gcc-version-bump into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2716
2025-03-24 19:05:30 +00:00
trav90 1b0fde3e10 Issue #1531 - Bump minimum required GCC version to 9.1
GCC 9.1 is the first stable version to fully support the entire C++17 ABI.
2025-03-24 08:57:36 -05:00
Moonchild e0782dbbcc No issue - Add range checking to SharedArrayBuffer references.
This avoids a potential crash when juggling SAB allocations.
2025-03-23 11:52:13 +01:00
Moonchild 5389452f6b 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-22 23:59:32 +01:00
Moonchild f1d4e272b0 Revert "Issue #2703 - Part 1: micro-optimize purging expired preflight cache entries."
This reverts commit 57de9b732e.
2025-03-22 17:12:55 +01:00
Moonchild 2e7f999734 Revert "Issue #2703 - Part 2: Don't repeatedly construct comparators when checking cache entries."
This reverts commit bea582f242.
2025-03-22 17:12:46 +01:00
Moonchild a18d193e08 Revert "Issue #2703 - Part 3: Make cache entry request checking more readable."
This reverts commit 4bafca05e0.
2025-03-22 17:12:41 +01:00
Moonchild 639daf7c4f Revert "Issue #2703 - Part 4: Fix incorrect clang warning in nsCORSListenerProxy."
This reverts commit 1293407238.
2025-03-22 17:12:35 +01:00
Shadow 1293407238 Issue #2703 - Part 4: Fix incorrect clang warning in nsCORSListenerProxy.
See BZ Bug 1444472
Resolves #2703
2025-03-22 16:29:47 +01:00
Shadow 4bafca05e0 Issue #2703 - Part 3: Make cache entry request checking more readable. 2025-03-22 16:28:31 +01:00
Shadow bea582f242 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-22 16:27:59 +01:00
Shadow 57de9b732e 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-22 16:27:16 +01:00
Moonchild 63e26fd3b3 Issue #2711 - Apply pattern transforms when using text-rendering on canvas.
Resolves #2711
2025-03-21 15:30:47 +01:00
Moonchild c24b5fd76b No issue - Fix some deprot 2025-03-15 20:20:23 +01:00
Moonchild 18846f998f Merge pull request 'No Issue - Stop warning if a network request failed.' (#2700) from Shadow/UXP-contrib:bug-1286036 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2700
2025-03-13 13:33:27 +00:00
Shadow b07a078cd2 No Issue - Stop warning if a network request failed.
Bug 1286036
2025-03-13 13:15:41 +00:00
Moonchild d7a4f8dccb Merge pull request 'Split out JS compilation APIs to their own headers' (#2698) from 2692 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2698
2025-03-12 12:52:51 +00:00
Moonchild f7cefc7ec4 Merge pull request 'Update libjxl to 0.11.1' (#2699) from libjxl-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2699
2025-03-12 12:52:08 +00:00
Moonchild 083f106df2 Issue #2697 - Part 4: Update README and remove upstream merged patch. 2025-03-12 13:51:35 +01:00
Moonchild 2f5029e2b3 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-12 00:53:03 +01:00
Moonchild 5e3b700341 Merge branch 'master' into 2692 2025-03-11 22:09:24 +01:00
Moonchild d2469da717 Merge remote-tracking branch 'Shadow/bug-1338304' 2025-03-11 13:15:49 +01:00
Moonchild 7a8d128d9e Issue #2697 - Part 2: Update libjxl build files. 2025-03-10 23:21:52 +01:00
Moonchild 1c1547353c Issue #2697 - Part 1: Import libjxl 0.11.1 files to the tree. 2025-03-10 23:05:20 +01:00
Shadow 857bb3cebf 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-10 22:02:20 +00:00
Shadow 6f4994c4bc No Issue - Make nsCSPService cancel the channel if a redirect is blocked by CSP
Bug 1338304
2025-03-07 15:53:05 +00:00
Moonchild fb36070225 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-07 15:12:56 +01:00
Moonchild 83fb3da836 No issue - Update Twemoji font to unicode 15.1.3 2025-03-07 02:05:21 +01:00
Moonchild e2b94bd4e6 [js] Disable potentially unsafe attempts at recovering JIT operations. 2025-03-05 18:05:04 +01:00
Moonchild 55df716b29 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-05 04:09:03 +01:00
Moonchild 118bc5ff5d 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-04 20:16:54 +01:00
Moonchild 78de5e03b0 Issue #2692 - Part 5: Split out compilation and evaluation APIs into its own header. 2025-03-04 12:03:05 +01:00
Moonchild 8fc8c8d767 Issue #2692 - Part 4: Split out off-thread compilation API to its own header. 2025-03-04 00:25:25 +01:00
Moonchild 958a6712c0 Issue #2692 - Part 3: Split out JS compiled script transcoding to its own header. 2025-03-03 21:59:04 +01:00
Moonchild 1add376048 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-02-27 15:13:21 +01:00
Moonchild 8a0113aa20 Merge pull request 'Simplify block-value popping in Ion compilation.' (#2695) from Shadow/UXP-contrib:bug-1328639 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2695
2025-02-25 16:22:01 +00:00
Moonchild de7858ec2b Issue #2692 - Part 2: Split out JS SourceBufferHolder to its own header. 2025-02-25 16:04:51 +01:00
Moonchild bc285873c6 Issue #2692 - Part 1: Split out JS CompileOptions to its own header. 2025-02-25 15:46:46 +01:00
Shadow 6ebcec5c3a Update js/src/wasm/WasmIonCompile.cpp
Bug 1328639 , wasm , Simplify block-value popping in Ion compilation
2025-02-25 13:09:26 +00:00
Moonchild ad0f999de2 [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 12:12:33 +01:00
Moonchild 32dbcc08f3 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-18 16:56:11 +01:00
Moonchild 11c3bfac9c Revert "Issue #2693 - Don't reflow children if they have 0 width."
This reverts commit 61a19f00f7.
2025-02-18 12:11:24 +01:00
Moonchild 61a19f00f7 Issue #2693 - Don't reflow children if they have 0 width.
This seems to be the main reason for the reflow storm.
2025-02-18 11:17:06 +01:00
Moonchild 9e8e956ef6 Issue #2693 - Disable CSP reporting by default in the platform.
This is a temporary measure to work around CF OOM situations.
Reporting is desirable normally so webmasters get alerted to CSP issues,
and this should be flipped back on once we can.
2025-02-18 10:03:17 +01:00
Moonchild 6592cdfb42 [DOM] Honor security.csp.reporting.enabled pref in more places. 2025-02-18 09:59:26 +01:00
Moonchild 4499f77b29 No issue - avoid potential underflow in StructuredClone.
Prevents potential loop-around if there's bogus internal Map data.
2025-02-16 19:35:29 +01:00
Moonchild 53b1740ed8 [docs] Update coding style doc regarding C++ [[fallthrough]] 2025-02-10 15:23:43 +01:00
Moonchild 1cffa21c37 Issue #2690 - Remove additional incorrect syntax error result values. 2025-02-05 22:53:46 +01:00
Moonchild e72ea80abf Issue #2690 - Allow 0-length keys/empty passwords for PBKDF2. 2025-02-05 22:53:05 +01:00
Moonchild a6cadcb204 Issue #2690 - Convert error from non-existing convenience function.
Didn't check that the convenience function existed for this. Throw the
error manually, instead.
TO-DO: Add these convenience functions for one-shot errors.
2025-02-05 22:51:26 +01:00
Moonchild 9c67cf3c82 Issue #2690 - Throw a NotSupportedError in case of unknown algorithm name.
Syntax error is incorrect for this case.
2025-02-05 22:14:02 +01:00
Moonchild 45677939bc Issue #2690 - Replace SyntaxError with TypeError for derive_bits_keys. 2025-02-05 19:56:46 +01:00
Moonchild 8cab69a508 Issue #2690 - Add AES-KW purposed keys to list of allowable keys to unwrap. 2025-02-05 19:55:49 +01:00
Moonchild ee7f7385c3 [js] Null-check inputs for String and BigInt
Crash fix for null crash when feeding bogus strings or BigInts to
StructuredClone.
2025-02-05 15:29:23 +01:00
Moonchild c5cda4764a [NSS] Fix build bustage due to typo. 2025-02-04 19:46:09 +01:00
Moonchild f115aae046 Force clobber 2025-02-04 18:40:02 +01:00
Moonchild 4ac9fc228f [NSS] Bump NSS version to 3.90.6 2025-02-04 18:12:32 +01:00
Moonchild 2d648f06de [NSS] Ensure zero-initialization of collectArgs.cert 2025-02-04 18:12:01 +01:00
Moonchild b35f4febad [NSS] Simplify error handling in get_token_objects_for_cache. 2025-02-04 18:09:28 +01:00
Moonchild 6f16c27579 [DOM] Reset mCompileResult in txMozillaXSLTProcessor::ImportStylesheet. 2025-02-04 18:01:17 +01:00
Moonchild 5d8d58fd3d Bump default Firefox compatversion to 115.0 2025-02-04 15:52:23 +01:00
Moonchild 1421e32154 No Issue - Silence unhelpful -Qspectre warnings. 2025-02-01 21:44:24 +01:00
Moonchild 848c453523 Issue #2557 - Remove URL Constructor(DOMString url, URL base).
URL Constructor(DOMString url, URL base) doesn't exist anymore in the spec.

Resolves #2557
2025-01-30 19:20:18 +01:00
Moonchild 4eb4a349d6 [network] Update eTLD list (PSL) 2025-01-28 10:01:55 +01:00
Moonchild 25ad3a9b15 Issue #2688 - Don't apply auto min-sizing when flex max-sizing.
A grid item spanning multiple grid rows/columns which include a flexible
track should not participate in the auto min-sizing calculation.

Resolves #2688
2025-01-27 04:25:29 +01:00
Moonchild da971a8015 Merge pull request 'Don't crash on Interval handlers in already terminated script contexts' (#2687) from martok/UXP-contrib:2686-scripting-timeout into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2687
2025-01-26 21:38:13 +00:00
Martok d3c9bff055 Issue #2686 - Don't rely on return value of ExecutionContext::Compile when the context may forbid running scripts
This is relevant if scripting is terminated due to execution timeout but there are setTimeout/Interval callbacks pending
or if scripting is disabled altogether.
2025-01-26 21:46:31 +01:00
Moonchild f4a37f5367 Issue #2671 - Remove baseDomain field/index from cookies.sqlite
Also removes obsolete appId and inBrowserElement fields.
This db change is not backwards compatible.

Resolves #2671.
2025-01-23 22:17:18 +01:00
Moonchild 233e95c11d [network] Don't try to use non-existing connections.
This should have landed here before port to release.
2025-01-23 14:51:09 +01:00
Moonchild e2c9d26a23 No issue - Update NSS to 3.90.5.1
Root certificates refresh.
2025-01-22 17:31:37 +01:00
Moonchild 5d029b028a Merge pull request 'Resolve some debug assertions in CSS' (#2685) from martok/UXP-contrib:mr/css-1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2685
2025-01-22 14:26:21 +00:00
Martok ddb37273bd Issue #2078 - Follow-up: Don't try to resolve ancestor link elements when matching for Has*DependentStyle 2025-01-22 00:11:03 +01:00
Martok 751f66f472 Issue #1765 - Follow-Up: For parsing calc() in non-hue component of hsl/a(), explicitly expect <percentage> values 2025-01-22 00:02:37 +01:00
FranklinDM 251b9c8b51 No issue - Turn worker runnable assertion into something harmless in debug builds
It's annoying.
2025-01-20 13:46:53 +01:00
Moonchild 500a24c12b Merge pull request 'Improve Cycle Collector efficiency and performance' (#2680) from CC-improvement-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2680
2025-01-20 10:36:23 +00:00
Moonchild ac41f5c69e Merge pull request 'Update AbortSignal implementation' (#2677) from 2676 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2677
2025-01-20 10:35:39 +00:00
Moonchild cb36b8033c Merge pull request 'Unprefix :-moz-modal-dialog' (#2683) from unprefix-moz-modal-dialog into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2683
2025-01-20 09:37:34 +00:00
Moonchild 21e3c2b56a Issue #2681 - Expose :modal to content. 2025-01-20 09:11:32 +01:00
Moonchild c3448f1c93 Issue #2681 - unprefix :-moz-modal-dialog
Keep an alias in place like for :fullscreen
2025-01-20 01:12:04 +01:00
Moonchild 0603b037ef Issue #2678 - Remove NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED
This no longer does anything at this point, except add indirection.
2025-01-18 16:15:51 +01:00
Moonchild 641fc9df3a Issue #2678 - Remove unnecessary second QI for nsCycleCollectionISupports.
Also moves NS_IMPL_QUERY_CYCLE_COLLECTION_ISUPPORTS to nsAgg.h, since it's
only needed there, for clarity.
2025-01-17 17:24:34 +01:00
Moonchild f7f47bad62 Issue #2678 - Make QIing to a few often-used CCed classes faster.
QIing to CC interfaces is a hot path for a few widely-used classes.
Presumably there are many of these objects being created and destroyed.
By making these classes check first for the CC interfaces directly, rather
than going up the inheritance chain, the resulting overhead is reduced.
2025-01-17 16:05:32 +01:00
Moonchild 7d7ccb2dae Issue #2678 - Default NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED
to NS_ERROR_FAILURE
2025-01-17 15:49:23 +01:00
Moonchild 22851f62db Issue #2678 - Use a new macro for CC isupports in some locations.
There are many more places that could be converted to use these new macros.
If anyone feels so inclined... ;)
2025-01-17 15:42:41 +01:00
Moonchild 5be7b41a1e Issue #2678 - Define a new macro for CC isupports.
The main purpose of defining this is to make conversion of places that use
the non-CC variant easier.
2025-01-17 15:16:54 +01:00
Moonchild 659d1528b7 Issue #2678 - Clean up some uses of the table-to-map segue. 2025-01-17 15:12:40 +01:00
Moonchild 7612dff522 Issue #2678 - Optimize inherited cycle-collectible QueryInterface()
implementations for nsCycleCollectionISupports;
2025-01-17 14:54:40 +01:00
Moonchild bd584e4c5f Issue #2678 - Avoid QIing for NoteXPCOMRoot.
This callback is only used in very limited ways, so just require that the
caller passes in the canonical supports pointer plus the participant.

This probably won't affect performance much.
2025-01-17 10:55:29 +01:00
Moonchild eaebbc30cf Merge branch 'remove-RegisterDOMExpandoObject' into CC-improvement-work 2025-01-17 10:42:06 +01:00
Moonchild 116adc40cd Issue #2678 - Remove now-unnecessary ClearExternalRefsForWrapperRelease.
All DOMProxyHandler::ClearExternalRefsForWrapperRelease now does is clear
a backpointer to the expando, and that's handled during reflector
finalization already, making it redundant.
2025-01-17 10:39:00 +01:00
Moonchild 037330ad56 Issue #2678 - Stop using EnsureExpandoObject in codegen code when we just
want to preserver the wrapper for a DOM proxy.
2025-01-17 10:26:03 +01:00
Moonchild 32d4274e3a Issue #2678 - Remove the DOM proxy expando object hashtable in xpconnect. 2025-01-17 09:20:45 +01:00
Moonchild 4e4eaf82aa Issue #2678 - Switch DOMProxyHandler::EnsureExpandoObject to using normal
wrapper preservation instead of RegisterDOMExpandoObject.
2025-01-17 09:13:02 +01:00
Moonchild 7b2f3c538f Issue #2678 - Don't use QI to canonicalize nsISupports pointers in the purple buffer.
The nsISupports objects added to the purple buffer are already canonical,
so we can avoid some overhead by not QIing them to
`nsCycleCollectionISupports`.
2025-01-16 21:56:13 +01:00
Moonchild d8316fb974 Issue #2676 - Implement AbortSignal.timeout()
This is a stub implementation because of the considerable abuse risk and
bad web code risk causing DoS, e.g. when using bad timeout values and
callbacks on the AbortSignal (e.g. recursive).
Considering the abort-ability of these signals otherwise there is never
a guarantee to websites that these signals will be triggered anyway, so
it should be considered an optional signal - meaning we can safely just
ignore the timeout, which allows us to avoid a ton of complexity and
potential sec/privacy issues.

Primary use in the wild seems to be detailed profiling/ad metrics anyway;
we don't really want to encourage that!
2025-01-16 18:38:32 +01:00
Moonchild 44c7aaf9fd Issue #2676 - Implement AbortSignal.abort() 2025-01-16 18:34:03 +01:00
Moonchild 675f5c8e74 Issue #2676 - Don't keep AbortController alive for AbortSignal 2025-01-16 16:50:23 +01:00
Moonchild 16b57ce9c6 [DOM] Convert cleanup of FlushCurrentWord() to a ScopeExit task.
Ensures consistent cleanup even if early exit due to OOM.
2025-01-08 14:39:22 +01:00
Moonchild 9baf2206c1 [DOM] Slightly extend lifetime of data in Structured Clone operations. 2025-01-08 14:15:52 +01:00
Moonchild ee865dd269 [network] Verify connection NPN against negotiated NPN. 2025-01-08 10:47:40 +01:00
Moonchild d47b83e79e Merge branch '2673_-ADTS' 2024-12-29 13:58:51 +01:00
Moonchild e9c2d6042d Issue #2673 - Part 4: Hook up the ADTS sniffer + raw AAC MIME type. 2024-12-29 13:50:39 +01:00
Moonchild 242921e4aa Issue #2673 - Part 2b: Improve ADTS format sniffer's performance.
Also avoids false positives.
2024-12-29 13:48:05 +01:00
Moonchild fce3566eff Issue #2673 - Part 3: Fix coding style. 2024-12-29 13:38:10 +01:00
Moonchild 92ea1210f1 Issue #2673 - Part 2: Add ADTS format sniffer. 2024-12-29 13:31:47 +01:00
Moonchild e05ad487d8 Issue #2673 - Part 1: Minor ADTSDemuxer cleanup. 2024-12-29 13:28:59 +01:00
Moonchild a765f3ca8f [no issue] Remove duplicate FLAC MIME type define. 2024-12-29 13:23:08 +01:00
Moonchild a9d2fbf110 Issue #2672 - Follow-up: Remove unused telemetry variable. 2024-12-24 13:53:16 +01:00
Moonchild d36af06ee9 Issue #2670 - Compute baseDomain when cookies are read from the database
baseDomain is used as a key for cookies in a hashmap. For cookie
operations to work properly, the baseDomain generation must be reliable.
This is, however, not the case, because the result can change by updates
to the public suffix list (PSL).

Since the stored baseDomain is not reliable, the value must be recomputed
when the database is read. This causes a minor performance hit but is
needed if we want to keep abreast of PSL changes without clobbering the
cookies database.

Resolves #2670
2024-12-22 20:27:41 +01:00
Moonchild 61ee809689 Merge branch '2672_-_OMT_cookieservice' 2024-12-22 20:14:53 +01:00
Moonchild 4cc4dd5238 Issue #2672 - Part 4: Prevent db access while rebuilding is underway. 2024-12-22 16:58:11 +01:00
Moonchild 5b2414dedd Issue #2672 - Part 3: Ensure thread lifetimes are in tandem. 2024-12-22 16:57:19 +01:00
Moonchild 42f70ece2d Issue #2672 - Part 2: Auto-close syncConn for edge cases. 2024-12-22 16:05:33 +01:00
Moonchild 6e250277d2 Issue #2672 - Part 1: Load nsCookieService OMT and use sync reads.
No more lazy-loading on the main thread, thanks. Everyone needs this.
2024-12-22 15:55:22 +01:00
Moonchild 2e68f35707 Merge pull request 'Fix master branch compilation' (#2666) from martok/UXP-contrib:mr/compilation-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2666
2024-12-15 00:17:03 +00:00
Martok 786dc56351 Issue #1787 - Follow-up: remove no longer used AppClearDataObserver. 2024-12-14 23:20:01 +01:00
Martok 2c4ef2600e No issue - Follow-up: fix compilation 2024-12-14 23:20:00 +01:00
Moonchild 8c8072860d No issue - Cloned <audio>/<video> elements should respect muted attribute. 2024-12-05 14:16:07 +01:00
Brian Smith 54043a8b0a No Issue - Fixes assembling with binutil as >= 2.41. https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/effadce6c756247ea8bae32dc13bb3e6f464f0eb Same code exists in libav so applying the same patch there as well. 2024-12-04 11:07:18 +01:00
Moonchild 350e9c1879 Merge remote-tracking branch 'dbsoft/cocoawindow' 2024-12-01 20:51:22 +01:00
Brian Smith 0887abea30 No Issue - Make nsCocoaWindow hold a death grip on its native window until its destructor.
https://bugzilla.mozilla.org/show_bug.cgi?id=1880582
2024-11-30 17:53:28 -06:00
Moonchild cd78019ba6 Update NSS to 3.90.5 2024-11-28 11:11:09 +01:00
Moonchild 3a26f14966 [XPCOM] Warn about .library-ms files on Windows (treat as executable) 2024-11-28 09:59:45 +01:00
Moonchild e2714e6938 Issue #2255 - Follow-up: Check if we actually have a non-null global object.
This should avoid the intermittent crashes that are still being reported
on this issue that end up crashing because of a proxied object that can't
be unwrapped after being passed around.
2024-11-27 18:27:00 +01:00
Moonchild c0b74ce133 [network] Update effective TLD names list. 2024-11-26 22:45:53 +01:00
Moonchild 14b9599104 [js] Avoid potential crash if GC cell is no longer valid. 2024-11-23 13:54:29 +01:00
Moonchild f336312483 Merge branch '2561-revertffmpeg6' 2024-11-23 00:37:52 +01:00
Moonchild c7f25b6b9a Revert "Issue #2317 - Part 1 - Update and cleanup ffvpx documentation in preparation for lib update."
This reverts commit ea464a764f.
2024-11-22 23:07:20 +01:00
Moonchild 29445ecfbe Revert "Issue #2317 - Part 2 - Import FFmpeg 6.0 source files for ffvpx"
This reverts commit 3a67a9510b.
2024-11-22 23:07:13 +01:00
Moonchild b6925236cc Revert "Issue #2317 - Part 2a - Update changes.patch for ffvpx"
This reverts commit 4321dbddcc.
2024-11-22 23:07:06 +01:00
Moonchild 3b580c88d3 Revert "Issue #2317 - Part 2b - Clip constants used with shift instructions within inline assembly"
This reverts commit 45b9cfbe93.
2024-11-22 23:06:59 +01:00
Moonchild 946c79b573 Revert "Issue #2317 - Part 3 - Update symbols list for FFmpeg 6.0"
This reverts commit ff4d550c80.
2024-11-22 23:06:53 +01:00
Moonchild 44ef435a21 Revert "Issue #2317 - Part 4 - Regenerate config* files for ffvpx"
This reverts commit 21face45d3.
2024-11-22 23:06:46 +01:00
Moonchild 9f32e371cb Revert "Issue #2317 - Part 5 - Build ffvpx against the FFmpeg 6.0 headers"
This reverts commit ef8447ad4b.
2024-11-22 23:06:40 +01:00
Moonchild c959b55dd0 Revert "Issue #2317 - Part 6 - Remove old workaround for clang-cl"
This reverts commit aff6fbf36c.
2024-11-22 23:06:34 +01:00
Moonchild 7786fc9d84 Revert "Issue #2317 - Part 7 - Don't use -ffreestanding flag when building with clang"
This reverts commit 9d333be11b.
2024-11-22 23:06:29 +01:00
Moonchild 0e09f19795 Revert "Issue #2317 - Part 8 - Update compiler flags used for ffvpx"
This reverts commit 165ef56547.
2024-11-22 23:06:24 +01:00
Moonchild aae12e5b54 Revert "Issue #2317 - Part 9 - "send" before "receive"-ing when decoding audio using FFmpeg"
This reverts commit 6ee56b0a60.
2024-11-22 23:06:18 +01:00
Moonchild 5418ade030 Revert " Issue #2317 - Follow-up - Update ffvpx to 6.0.1"
This reverts commit 1f7023294a.
2024-11-22 23:06:11 +01:00
Moonchild 2b85a07fb9 Merge pull request 'Remove nsIAppsService, mozIApplication and mozapp data cleanup.' (#2659) from DOMApps-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2659
2024-11-21 10:12:55 +00:00
Moonchild 25d668395b Issue #1787 - Remove nsIAppsService, mozIApplication and mozapp data cleanup. 2024-11-20 20:18:19 +01:00
Moonchild 32dd996cf2 Issue #2657 - Remove -moz-samplesize resize-decoding for low-vram mobiles
Resolves #2657
2024-11-20 14:10:10 +01:00
Moonchild 4222ca929d Merge pull request 'Remove pre-allocated process manager.' (#2656) from preallocatedprocessmanager-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2656
2024-11-19 12:54:24 +00:00
Moonchild 35a4d4172e Merge pull request 'Remove mozapp/appID and isolated mozbrowser element support' (#2655) from isolatedmozbrowser-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2655
2024-11-19 12:38:16 +00:00
Moonchild 945e5b88fb Issue #2654 - Remove pre-allocated process manager.
Resolves #2654
2024-11-19 13:18:31 +01:00
Moonchild dcba66d719 Issue #2653 - Part 5: Simplify and clean up some quota code
Since we no longer need a complex check, we can remove some indirection.
2024-11-18 19:15:23 +01:00
Moonchild a64ed8a1db Issue #2653 - Part 4: Remove isApp from quota manager and its clients 2024-11-18 15:00:21 +01:00
Moonchild 5206e5316c Issue #2653 - Part 3: Remove support for packaged apps from asmjscache 2024-11-18 13:58:43 +01:00
Moonchild 8f21ccd0a2 Issue #2653 - Part 2: Update tests 2024-11-17 21:38:15 +01:00
Moonchild 01a1a8557b Issue #2653 - Part 1: Initial cleanup of AppId and isolated mozbrowser.
This removes a lot of the plumbing for having the platform embed itself
through IPC which was required for B2G running the browser as both
shell and browser application.
2024-11-17 20:39:45 +01:00
Moonchild b2cab55756 No issue - Stop WebGL context forcing spew in non-debug builds. 2024-11-15 21:45:59 +01:00
Moonchild 3ead6cadb6 Issue #2652 - Part2: Add "Clear DNS cache" button to about:networking
Resolves #2652
2024-11-15 12:47:24 +01:00
Moonchild 8a4db5fa4b Issue #2652 - Part 1: Add a way to programmatically clear the DNS cache. 2024-11-15 12:25:52 +01:00
Moonchild a421c7fab4 No Issue - stop spewing useless xfo < CSP warning in non-debug builds
This warning throws off a lot of users reporting issues. It's not even
a proper warning as it's informative at best.
Leave it in for debug builds, but stop spewing these common notices in
release builds.
2024-11-14 21:53:59 +01:00
Moonchild 7894ac066c Merge pull request 'Implement Regexp Match indices' (#2650) from matchindices-work2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2650
2024-11-12 13:54:02 +00:00
Moonchild 1d3c46ea86 Issue #2305 Part 4: Check for failure when getting RegExp match result template
Null deref crash fix.
2024-11-12 14:30:36 +01:00
Martok 62a47c35c1 Issue #2305 Part 3c: Merge repeated loops over MatchPairs 2024-11-11 09:56:07 +01:00
Martok a2cb54f93b Issue #2305 Part 3b: Create .indices and .indices.groups 2024-11-11 09:55:47 +01:00
Moonchild 4cc45366d7 Issue #2305 Part 3a: Pass ResultTemplateKind through CreateRegExpMatchResult
This sets up the MatchResult with the proper structure to contain indices
when necessary.
2024-11-11 09:55:39 +01:00
Moonchild 935d1b9e1b Issue #2305 Part 2: Support .indices in match result template objects
Before match indices, all match results had the same shape. (If there are
no named capture groups, `.groups` exists but is undefined.) Match results
with `.indices` have a distinct shape, so we need a distinct template
object. We also need a template object for `.indices` itself.
2024-11-11 09:54:26 +01:00
Moonchild c18edb0b67 Issue #2305 Part 1: Add support for hasIndices to RegExpFlags (/d)
Adds recognition and parsing of the /d RegExp flag.
Drive-by correction: add missing "s" for dotAll to RegExpObject::toString.
Tag #1284 and #2008
2024-11-11 09:53:05 +01:00
Karl Tomlinson 7f93d25967 Bug 1920800 - Remove oldImages from check for flushed old principal handle
The logic should be equivalent when frame IDs on aImages are contiguously
increasing from IDs on previously set frames.

There are currently no callers passing empty aImages, but the logic in this
case would now be as described in the documentation of
UpdatePrincipalHandleForFrameID():

> We will notify mElement that aPrincipalHandle has been applied when all
> FrameIDs prior to aFrameID have been flushed out.
2024-10-30 13:21:33 +01:00
Moonchild 0f007a16d5 Issue #2648 - Inherit the content disposition of the multipart response 2024-10-30 09:50:08 +01:00
Moonchild eacd48cccb Issue #2648 - Apply CSP to documents sent through multipart/x-mixed-replace 2024-10-30 09:48:28 +01:00
Moonchild fc1fe7d0c5 Issue #2646 - Parse "variations" keywords.
Resolves #2646
2024-10-29 15:27:44 +01:00
Moonchild 92873ead3e Revert "Issue #2645 - Fix type confusion for ResumeKind"
This reverts commit 12e9db2481.
2024-10-28 14:51:10 +01:00
Moonchild 9fede4a3ba Merge branch '2645-resumekind' 2024-10-23 10:52:32 +02:00
Moonchild dbd5dc9554 Issue #2645 - Return null if getName() PC is invalid. 2024-10-21 22:50:57 +02:00
Moonchild 3f538909ab Merge branch 'master' into 2645-resumekind 2024-10-21 13:56:59 +02:00
Moonchild 8e4ce9b800 Issue #2641 - Update Fetch to adhere to the updated spec (pass refpolicy)
Resolves #2641
2024-10-21 12:37:01 +02:00
Moonchild edf4210e12 Issue #2641 - Speculative load changes for referrerpolicy 2024-10-21 12:36:11 +02:00
Moonchild 5a64fd9657 Merge pull request 'Apply border-radius to Outlines as fallback to -moz-outline-radius' (#2643) from RealityRipple/UXP:outline-radius-fallback into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2643
2024-10-11 21:55:29 +00:00
Moonchild 12e9db2481 Issue #2645 - Fix type confusion for ResumeKind
It used a mix of uint8_t and uint16_t. Set it to uint16_t.
Also don't allow non-typeset to simplify stubs used in compound opcodes.
2024-10-11 22:02:44 +02:00
Andy 0af6123536 The border-radius Directive Should Apply to Outlines
However, `-moz-outline-radius` should still override any `border-radius`.
This is primarily done for backward compatibility with some themes.
Additionally, it also allows for more advanced outline control than the CSS spec provides, without breaking spec.
Finally, if the spec is ever updated to include `outline-radius`, we'll be ready to drop the `-moz-` prefix!

Note: BZ 315209 has an inadvertent double-negative in nsDisplayList.cpp:
HasRadius() essentially returns the opposite value it should.
2024-10-09 12:08:46 -07:00
Moonchild e2c94125cc [GMP] Factor out more detailed CheckDimensions function for CreateFrame. 2024-10-02 10:34:38 +02:00
Steve Fink 723ca48613 [js] Disallow deserializing structured clone buffers with transferables more than once. 2024-10-01 22:22:04 +02:00
Boris Zbarsky 15514da406 Bug 1493449 - Change the default credentials mode for module scripts from 'omit' to 'same-origin'
Resolves #2642
2024-10-01 00:03:06 +02:00
Moonchild 04d1e3e53a Revert "Issue #2523 - Part 1 - Import headers from FFmpeg 7.0"
This reverts commit 27bb48deaf.
2024-09-30 23:49:05 +02:00
Moonchild c654c1820f Revert "Issue #2523 - Part 2 - Update audio & video decoders to work with FFmpeg 7.0"
This reverts commit 7dbc24a739.
2024-09-30 23:48:55 +02:00
Moonchild 39dd9d560a Revert "Issue #2527 - Part 1 - Remove old FFmpeg and LibAV headers"
This reverts commit b970fc412a.
2024-09-30 23:48:43 +02:00
Moonchild 032357c053 Revert "Issue #2527 - Part 2 - Remove support for libavcodec < 58"
This reverts commit 738c6a740a.
2024-09-30 23:48:33 +02:00
Moonchild ecacd4a4d9 Revert "Issue #2527 - Part 3 - Remove additional checks for LibAV"
This reverts commit b0f872c919.
2024-09-30 23:48:25 +02:00
Moonchild a6bc5962c4 Bug 1900191 - Use nestegg advertised default duration if it exists. 2024-09-30 22:34:37 +02:00
Moonchild 12e93be21a Bug 1878510 - Follow-up: Explicitly pass values through variadic functions
While MSVC has no issue with this and understands values should be passed,
clang doesn't like it and aborts.
2024-09-27 13:15:06 +02:00
Moonchild 0aeac02b89 Bug 1878510 - When recreating WebM demuxer when encountering a new segment, propagate media time 2024-09-25 22:22:49 +02:00
Moonchild 1402d8eee6 Merge pull request 'libjpeg: NetBSD/powerpc ALTIVEC simd support' (#2591) from discoM/UXP:powerpc_altivec into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2591
2024-09-23 13:02:25 +00:00
Martin Husemann 42b3e18a4a libjpeg: add NetBSD/powerpc spcific Altivec cpu feature detection 2024-09-23 12:51:33 +02:00
Moonchild cabe9ea2d5 Update README to point to the xref site.
Gitea's bleve indexer is too slow and resource-intensive to use.
2024-09-22 15:14:37 +02:00
Moonchild c57a1eee66 Merge pull request 'Make NetBSD use the same xptcall support as others.' (#2588) from discoM/UXP:xptcall_netbsd_powerpc into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2588
2024-09-22 10:50:03 +00:00
Moonchild a8fbc1dfbe Merge pull request 'Make NetBSD/powerpc use the powerpc atomic ops.' (#2589) from discoM/UXP:netbsd_ppc_atomicops into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2589
2024-09-22 10:49:44 +00:00
Martin Husemann 1f457514b0 Hardcode '-maltivec' as compiler flag for powerpc/altivec support 2024-09-22 12:39:23 +02:00
Martin Husemann acd339fcf7 Make NetBSD/powerpc use the powerpc atomic ops.
NetBSD/powerpc gcc does not predefine __ppc__, but only __powerpc__,
so add that to the preprocessor ifdef cascade to select atomic
ops.
2024-09-22 12:10:32 +02:00
Martin Husemann 07bb7f379b Make NetBSD use the same xptcall support as others.
These functions are only ELF ABI specific, not really OS specific.
Add powerpc, powerpc64 and sparc64 support for NetBSD
by using the same code as other ELF systems do.
2024-09-22 11:56:04 +02:00
Moonchild 8cabf0bf72 [Debug] Make inaccurate GC stats reporting non-fatal in debug builds.
Not sure why this was fatal as it only hinders being able to report memory
issues to a debugging dev :P
2024-09-21 15:38:34 +02:00
Moonchild 178f72365d Merge branch '2251-ghostbuster-work' 2024-09-20 16:47:02 +02:00
FranklinDM f819937a31 Issue #2251 - Expose unlink ghost windows to about:memory 2024-09-19 19:08:04 +02:00
FranklinDM 114b5265d6 Issue #2251 - Expose ghost window unlinking to release builds. 2024-09-19 19:07:33 +02:00
Moonchild 8595dc550f No issue - Fix asserts in debug.
Hashbang parser changes allow more than one EOL which screws up these
assertions' premise. Just remove them as the preconditions are no longer
valid.
2024-09-19 19:04:22 +02:00
Moonchild 5b8d28ba4d Merge pull request 'Fix building for Apple Silicon Mac with Xcode 16.' (#2587) from dbsoft/UXP:clangarm64fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2587
2024-09-19 12:47:55 +00:00
Brian Smith 8146ba5a07 No Issue - Fix building for Apple Silicon Mac with Xcode 16.
Due to the following LLVM change labels need to be outside .cfi_start/endprocs:
https://reviews.llvm.org/D155245
Solution pointed out here is to move the label above .cfi_startproc:
https://github.com/libffi/libffi/issues/807
2024-09-18 13:47:23 -05:00
Moonchild 727b9c9adf Merge pull request 'media/libcubeb: Use Sun audio backend also on NetBSD' (#2583) from nia/UXP:sunaudio-netbsd into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2583
2024-09-13 10:33:35 +00:00
Moonchild 7056301965 Merge pull request 'Fix bashism in old-configure.in' (#2582) from nia/UXP:shellport into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2582
2024-09-13 10:29:01 +00:00
Nia Alarie dc3c2f3da8 media/libcubeb: Use Sun audio backend also on NetBSD 2024-09-13 12:15:20 +02:00
Nia Alarie baf4c5b6bb Fix bashism in old-configure.in 2024-09-13 12:13:13 +02:00
Moonchild 3575bc580f Merge pull request 'Implement and expose config preferences for SOP and CORS' (#2580) from FranklinDM/UXP-contrib:work_content-disable-cors-sop into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2580
2024-09-12 16:19:47 +00:00
FranklinDM 21e49b0a92 Issue #2578 - Part 3: Expose CORS and CORS bypass preflight requests preferences. 2024-09-13 00:00:11 +08:00
FranklinDM 9d9534cc71 Issue #2578 - Part 2: Implement preference for disabling CORS preflight requests if CORS is disabled 2024-09-13 00:00:11 +08:00
FranklinDM 993681b010 Issue #2578 - Part 1: Implement preference for controlling same-origin policy 2024-09-13 00:00:10 +08:00
Moonchild 3d29257050 Merge pull request 'js: Support for the MPROTECT security feature (PaX and NetBSD)' (#2579) from nia/UXP:mprotect into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2579
2024-09-12 13:04:23 +00:00
Nia Alarie 7dd9438137 js: Support for the MPROTECT security feature (PaX and NetBSD)
On such platforms, remapping memory that was once writable
to executable is forbidden unless the initial mmap() is declared
to change in such a way using the PROT_MPROTECT macro.
2024-09-12 09:42:44 +02:00
Moonchild 44c611aeaf [js xpconnect] Fix error handling in xpc::CreateSandboxObject 2024-09-04 15:21:42 +02:00
Moonchild 7c4cbfd49e [js] Simplify with-env handling in FetchName 2024-09-04 15:21:08 +02:00
Moonchild 64bc57fa85 [DOM] Stop exposing NotifyPaintEvent to web content.
There's no reason this should be available to the web, as it's an
indicator of browser internals.
2024-09-04 13:31:23 +02:00
Moonchild c6a82aa32c Merge pull request 'Implement hashbang grammar (ES2023)' (#2560) from hashbang-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2560
2024-09-01 09:22:33 +00:00
Moonchild 334fe4be6c Issue #2559 - Implement hashbang grammar
This adds special-case #! comment handling at the top level, treating
any hashbang line as a single-line comment in the parser.
This only applies to Eval(), module script or global context.
2024-08-29 11:40:42 +02:00
Moonchild d76e865563 Merge pull request 'Add DOMMatrix versions of getTransform/setTransform' (#2558) from dommatrix-transforms-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2558
2024-08-17 09:06:31 +00:00
Moonchild ed862e5777 Issue #1810 - Add DOMMatrix {get|set}Transform WebIDL interfaces 2024-08-16 14:33:06 +02:00
Moonchild 719bed3ead Issue #1810 - Allow superfluous [LenientFloat] extended attributes.
This changes the way the extended attribute [LenientFloat] behaves, so
that overloading functions can match extended attributes while not
having restricted float type arguments themselves.
2024-08-16 14:31:51 +02:00
Moonchild e1c28ba852 Issue #1810 - Implement {get|set}Transform with DOMMatrix arguments.
We already had part of the plumbing for other canvas manipulations, so
this is somewhat simplified.

This excludes the interface as that is breaking the build at this stage.
Some more research is required.
2024-08-16 11:02:07 +02:00
Moonchild ba54621f01 Issue #1925 - Follow-up: Fix debug builds (namespace) 2024-08-12 11:23:35 +02:00
Moonchild 9babba6c44 No issue - Update TwemojiMozilla to 15.1.2
Fixes out-of-bounds watermelon emoji size.
2024-08-09 19:35:21 +02:00
Moonchild 5ff9b81126 Issue #2554 - Follow-up: Also block [::] and [::0.0.0.0] IPv6 addresses. 2024-08-09 19:17:49 +02:00
Moonchild 70c32d67f9 Issue #2554 - Follow-up: Correct code comment (no functional changes) 2024-08-09 16:18:37 +02:00
Moonchild 09a4832168 Issue #2554 - Block access to 0.0.0.0 on non-Windows OSes.
Resolves #2554.
2024-08-09 15:56:21 +02:00
Moonchild 1fd02db477 Update NSS to 3.90.4
Note: manually updated the version indicators due to BZ Bug 1912012
(https://bugzilla.mozilla.org/show_bug.cgi?id=1912012)
2024-08-07 13:03:17 +02:00
Moonchild 810a054eb5 [DOM] Pass error up the chain in SetColorValue. 2024-08-07 11:58:14 +02:00
Moonchild 3104055d42 Merge pull request '[gfx] Fix loading libGL on NetBSD' (#2553) from nia/UXP:webgl-netbsd into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2553
2024-08-04 19:01:49 +00:00
Nia Alarie 0d3d33623f [gfx] Fix loading libGL on NetBSD
The unversioned libGL is preferred on OpenBSD and NetBSD because
both (a) always install it (b) have forks of X11 with different
ABI versions.  However, many Linux distributions do not ship
unversioned .so symlinks unless you install -dev packages.

Unfortunately also needs to be fixed in ANGLE which has the same
problem.
2024-08-04 13:39:17 +02:00
Moonchild 3c46251443 Merge pull request 'Clean up CSS Macro use' (#2552) from 1925-macro-cleanup-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2552
2024-08-03 06:32:26 +00:00
Moonchild 186c58897b Issue #1925 - Replace RectCorner with Corner. 2024-08-02 12:10:27 +02:00
Moonchild bb3405c8b6 Issue #1925 - Convert NS_SIDE_TO_HALF_CORNER to a constexpr function. 2024-08-02 11:15:28 +02:00
Moonchild b82596eb98 Issue #1925 - Convert NS_SIDE_TO_FULL_CORNER to a constexpr function. 2024-08-02 10:36:07 +02:00
Moonchild cf7b3e3a09 Issue #1925 - Convert NS_SIDE_IS_VERTICAL to a constexpr function. 2024-08-02 10:31:21 +02:00
Moonchild c9cd25abc5 Issue #1925 - Convert NS_FULL_TO_HALF_CORNER to a constexpr function.
Note: Because the new function checks types, we need to change the
fullCorner type in `nsComputedDOMStyle::GetEllipseRadii()` and
`StyleAnimationValue::ExtractComputedValue()` to `Corner` instead of the
underlying base type.
2024-08-02 10:15:50 +02:00
Moonchild 73e0e8bbbe Issue #1925 - Convert NS_HALF_TO_FULL_CORNER to a constexpr function. 2024-08-02 09:25:03 +02:00
Moonchild 0bdb90ab40 Issue #1925 - Convert NS_HALF_CORNER_IS_X to a constexpr function. 2024-08-02 08:30:23 +02:00
Moonchild c0d87ea595 Issue #1925 - Move NS_FOR_CSS_HALF_CORNER to gfx/2d/Types.h and rewrite it. 2024-08-02 08:10:52 +02:00
Moonchild 11c9b60eba Issue #1925 - Convert half-corner index macros to an enum. 2024-08-02 08:01:01 +02:00
Moonchild f9d1e87756 Issue #1925 - Remove use of NS_CORNER_{TOP|BOTTOM}_{LEFT|RIGHT} macros. 2024-08-02 06:08:29 +02:00
Moonchild 15ad259ac7 Issue #1925 - Rewrite NS_FOR_CSS_CORNERS to be similar to *_SIDES
- Renames it to NS_CSS_FULL_CORNERS and uses the one macro for all full
  corners. In preparation for giving half corners the same treatment.
- Swaps to prefix operator++
2024-08-02 04:50:01 +02:00
Moonchild 819c3c990b Issue #1925 - Move Corner enum from mozilla::css to mozilla namespace. 2024-08-01 20:28:28 +02:00
Moonchild c4d4c9d6de Issue #1925 - Rename Corner to LogicalCorner and move it to nsStyleCoord.h.
To avoid confusion with mozilla::css::corner, rename ::Corner to
mozilla::LogicalCorner, and move it to nsStyleCoord.h from the illogical
nsCellMap.h location.
Also, append the LogicalCorner prefix to all the enum values, to match
the surrounding coding style.
2024-08-01 20:09:22 +02:00
Moonchild 903dea4285 Issue #1925 - Move NS_FOR_CSS_CORNERS and enum to gfx/2d/Types.h. 2024-08-01 19:55:20 +02:00
Moonchild 620a3336eb Issue #1925 - Change Side's operator++ from postfix to prefix.
The postfix operator++ was actually incorrectly implemented (the
implementation is a prefix version). Since it's only used in the adjacent
macro, there's no risk with this change to correct that.
2024-08-01 18:58:14 +02:00
Moonchild 6d20a50b09 Issue #1925 - Remove use of SIDE_BIT{S}_* macros.
This already has an enum in gfx/Types.h
2024-08-01 18:23:03 +02:00
Moonchild dc4316132b Issue #1925 - Remove use of NS_SIDE_* macros. 2024-08-01 17:28:01 +02:00
Moonchild 9b375ff678 Issue #1925 - Remove mozilla::css::Side typedef. 2024-08-01 16:46:27 +02:00
Moonchild 7a0c651c5d Issue #1925 - Move NS_FOR_CSS_SIDES and operator++ to gfx/2d/Types.h 2024-08-01 16:11:48 +02:00
Moonchild a653cb9b83 No issue - Update Twemoji Mozilla to 15.1.1
This updates Lime and Watermelon emoji to slightly larger versions.
2024-07-29 23:17:42 +02:00
Moonchild 4875759e78 Merge branch '2515-remove-content-dispatch-flags' 2024-07-25 22:44:15 +02:00
Moonchild 126b981629 Issue #2515 - Guard devtools click handlers against non-primary clicks.
We only want clicks on HTML elements to respond to the primary button.
2024-07-25 15:50:31 +02:00
Moonchild 103cf524ec Issue #2515 - Clarify only dispatching in chrome. 2024-07-25 15:42:08 +02:00
Moonchild ea96fed795 Issue #2515 - Remove mForceContentDispatch and mNoContentDispatch 2024-07-25 15:33:07 +02:00
Moonchild 8c46320564 Merge pull request 'constants.py: fix powerpc arch detection' (#2550) from barracuda156/UXP:arch_fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2550
2024-07-20 21:36:14 +00:00
Sergey Fedorov 23b2a53d4c constants.py: fix powerpc arch detection 2024-07-16 21:14:14 +08:00
Moonchild 4616af0c7c Bump platform version 2024-07-16 11:40:03 +02:00
Moonchild a873824668 Merge pull request 'Implement parser and CSSOM support for layer at-rules' (#2549) from FranklinDM/UXP-contrib:work_css-cascade-layers-parser-only into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2549
Reviewed-by: Moonchild <moonchild@palemoon.org>
2024-07-16 09:12:34 +00:00
FranklinDM e5cec10a4e Issue #2486 - Part 5: Fix parsing of nested layer names
This does not handle the merging of same-named layers, however.
2024-07-15 09:00:53 +08:00
FranklinDM 917cac9674 Issue #2486 - Part 4: Ensure layer statement rule is appended and invalid tokens are restored 2024-07-15 08:33:34 +08:00
FranklinDM be4699e54c Issue #2486 - Part 3: Fix serialization of layer statement rule 2024-07-15 08:33:26 +08:00
FranklinDM caaf54a046 Issue #2486 - Part 2: Implement parser support for layer block and layer statements
This does not deal with layer specificity.
2024-07-14 22:58:25 +08:00
FranklinDM d3812c1a0e Issue #2486 - Part 1: Initial plumbing and CSSOM support for cascade layers 2024-07-14 22:58:24 +08:00
Moonchild 729b32a2f0 Issue #2547 - Remove hidden network.dns.disablePrefetchFromHTTPS pref.
Resolves #2547
2024-07-10 23:25:49 +02:00
Moonchild 79c8e2e86c [DOM/network] Disable DNS prefetching if document nodePrincipal is systemPrincipal 2024-07-10 09:14:47 +02:00
Moonchild 93b4e6566d [IPC] Clean up control flow in WaitableEvent. 2024-07-10 07:43:38 +02:00
Moonchild 42a3dffe69 [network] Add additional cookie setting checks.
Added checks for sub-document navigations from cross-site to same-site in
third-party checks when setting a cookie.
2024-07-10 00:22:49 +02:00
Moonchild b21dd824a2 Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2024-07-09 22:38:36 +02:00
Moonchild ccd9e8e106 Merge pull request 'Implement Sec-Fetch headers and improve mixed content blocker' (#2544) from sec-fetch-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2544
2024-07-09 20:37:45 +00:00
Moonchild eebb25dda0 No issue - Update SQLite to 3.46.0 2024-07-09 21:29:41 +02:00
Moonchild 27ce4ea0fa No issue - Update NSS to 3.90.3 2024-07-09 21:18:25 +02:00
Moonchild fb4ede7d2e Merge branch 'remove-foxeye' 2024-07-09 13:30:27 +02:00
Moonchild a09c6b6ce0 Issue #2546 - Part 6: Remove canvas.imagebitmap_extensions.enabled preference. 2024-07-09 12:16:18 +02:00
Moonchild a8f376aa3b Issue #2546 - Part 5: Remove tests 2024-07-09 12:00:35 +02:00
Moonchild e9868fcb47 Issue #2546 - Part 4: Remove mappedDataLength and findOptimalFormat 2024-07-09 11:56:51 +02:00
Moonchild 7e49aebcc8 Issue #2546 - Part 3: Remove mapDataInto 2024-07-09 00:33:06 +02:00
Moonchild 1c04829dca Issue #2546 - Part 2: Remove special FoxEye CreateImageBitmap method. 2024-07-08 23:45:49 +02:00
Moonchild 2379bb29be Issue #2546 - Part 1: Remove BufferSource support in CreateImageBitmap. 2024-07-08 23:36:40 +02:00
Moonchild 2b2475905e Issue #2542 - Part 9: Remove TODO comment.
From our understanding of the spec, our current implementation is
feature-complete.
2024-07-07 03:07:29 +02:00
Moonchild f25c809ff0 Issue #2045 - Temporarily force hidden elements to be actually hidden.
For the time being, because we don't have `revert` yet, we should force
normally hidden elements to be hidden, so they aren't revealed by sites
using the bad practice of `*{ }` style blanking rules but then using
`revert` to re-hide them.
2024-07-06 17:47:06 +02:00
Moonchild ff9f024589 Issue #2542 - Part 8: Enable Sec-Fetch-* headers by default. 2024-07-05 15:26:49 +02:00
Moonchild add1037bb8 Issue #2542 - Part 7: Move SecFetch.* to /netwerk where it belongs. 2024-07-05 14:05:45 +02:00
Moonchild 962ca150bd Issue #2542 - Part 6: Add Sec-Fetch-User header for all requests that
are the direct result of a system principal request.

This means navigation resulting from interaction with the browser UI
should result in a -user header (address bar navigation, bookmarks, etc.)
2024-07-04 22:40:06 +02:00
Moonchild b693f60fc7 Issue #2542 - Part 5: Assume browser-initiated requests for unspecified
content types to always be user-triggered.
2024-07-04 22:34:00 +02:00
Moonchild a4cd652b6f Issue #2542 - Part 4b: Fix pointer mess-up. 2024-07-04 19:00:29 +02:00
Moonchild 689cbd7509 Issue #2542 - Part 4: Use BasePrincipal's IsSameOrigin() in SecFetch. 2024-07-03 17:03:36 +02:00
Moonchild a3f4272093 Issue #2542 - Part 3: Expand BasePrincipal with an IsSameOrigin check
Manual checking of the origins in SecFetch fails, so we add this
capability to the base principal interface for sake of ease.
We could use ScriptSecurityManager directly but it's more convenient
this way and can be re-used elsewhere in the future.
2024-07-03 17:02:32 +02:00
Moonchild 927173b648 Issue #2542 - Part 2b: Fix typo in pref check 2024-07-03 16:59:39 +02:00
Moonchild c62cc61613 Issue #2542 - Part 2: Base implementation of Sec-Fetch-* header code.
Currently following Mozilla putting stuff in /dom for additional porting,
but it's actually the wrong location since it belongs in /netwerk with
the other code that deals with http headers.
2024-07-03 11:00:53 +02:00
Moonchild b4a50f830c Issue #2542 - Part 1b: Fix dom.securecontext.whitelist code issues
Some minor bugfixes (wrong condition and string type)
2024-07-02 22:07:39 +02:00
Moonchild 5cadc0eee2 Issue #2542 - Part 1: Factor out Potentially Trustworthy URI checks.
For sake of ease of use, converted to boolean functions that just assume "false"
in case of errors.

Note: Mozilla makes special arrangements for .onion addresses as well but
we explicitly do not adopt that. TOR browser can do that all day if it wants.
2024-07-02 21:23:30 +02:00
Moonchild 59431e104c Issue #2531 - Adjust rounding in toExponential (and kin) to round up at midpoint.
Resolves #2531
2024-07-02 00:14:28 +02:00
Moonchild 47de3819f6 Issue #2543 - adjust toFixed precision range according to spec update.
As pointed out in the ecma-262 spec change discussion, the behavior is
inconsistent for negative numbers because the exponential fallback assumes
all the digits will be displayed. The negative support was motivated just
by consistency, without any particular concrete use cases, and it's not
supported in other browsers, so this patch removes negatives.

Resolves #2543
2024-07-01 23:43:24 +02:00
Moonchild 037f0ac647 Issue #2541 - Deal with empty LineNameList in CSS grid templates.
Resolves #2541
2024-06-30 22:33:59 +02:00
Moonchild b97f03f0c6 Issue #2537 - Don't assume username fields appear before password fields in forms. 2024-06-28 14:55:06 +02:00
Moonchild e3443de36e Merge pull request 'Separate Emoji Cluster Extenders' (#2539) from RealityRipple/UXP:Component2538 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2539
2024-06-28 12:43:10 +00:00
Andy 4b1bf3620d Issue #2538 - Part 3: Bring ZWJ Awareness to ClusterReverseIterator
Additional patch to resolve a bug exposed while working on the Cluster issue.
2024-06-27 18:29:23 -07:00
Andy 5d221d0cb2 Issue #2538 - Part 2: Add IsEmojiClusterExtender
Check specifically for Emoji-specific clusters only in Emoji-specific contexts.
2024-06-26 11:11:19 -07:00
Andy 9cca2f22c5 Issue #2538 - Part 1: Undo IsClusterExtender Change
This partially reverts commit 49b7816286.
So much for getting rid of the stupid constants...
2024-06-26 11:10:15 -07:00
Moonchild 8a9955f181 Issue #2534 - Part 2: Update tests 2024-06-23 18:11:22 +02:00
Moonchild 90a67a4825 Issue #2534 - Part 1: window.postMessage should provide a trusted MessageEvent 2024-06-23 17:55:13 +02:00
Moonchild 4381067d04 Issue #2536 - Re-implement plugin enumeration shuffle.
Resolves #2536
2024-06-23 17:31:02 +02:00
Moonchild 5457c3711b Merge pull request 'Remove support for libavcodec 57 and below' (#2535) from trav90/UXP-contrib:2527 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2535
2024-06-23 14:43:40 +00:00
trav90 b0f872c919 Issue #2527 - Part 3 - Remove additional checks for LibAV
Also removes the "media.libavcodec.allow-obsolete" pref.
2024-06-21 07:14:53 -05:00
trav90 738c6a740a Issue #2527 - Part 2 - Remove support for libavcodec < 58
This removes all support for LibAV and FFmpeg 3.x and below. Only FFmpeg 4.x or higher is supported now.
2024-06-19 15:39:31 -05:00
trav90 b970fc412a Issue #2527 - Part 1 - Remove old FFmpeg and LibAV headers 2024-06-19 14:51:14 -05:00
Moonchild 0886ccfa95 No Issue - Add navigator.webdriver attribute.
This patch adds an enumerable, configurable, readonly attribute "webdriver" to
the Navigator object. The attribute is always false because we do not support
WebDriver or scripted automation.

The navigator.webdriver attribute is meant as an indication to web authors that
a document is visited by WebDriver. It is important to stress that it is not
meant as a way to detect that a website is being visited by a browser automation
tool or bot, but as a tool for web documents to take alternate code paths.

On the off-chance exposing navigator.webdriver turns out to be catastrophic,
we put it behind a new preference dom.webdriver.enabled that controls its
exposure.
2024-06-17 09:44:52 +02:00
Moonchild f3786e036c Merge pull request 'Add support for libavcodec61' (#2528) from trav90/UXP-contrib:2523 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2528
2024-06-17 06:50:26 +00:00
Moonchild d8091d3958 Issue #2532 - Align dialog submission triggered by form.submit() with the spec.
Submission in click handler of submit button should not be deferred
per https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#submit-dialog

See Bug 1719872
2024-06-15 17:04:24 +02:00
Moonchild 726452fc88 Issue #2532 - Prevent unwanted text selection when backdrop is clicked. 2024-06-15 17:03:43 +02:00
Moonchild 361b76beb2 Issue #2532 - Don't do PreventDefault for escape key if <select> dropdown is not shown
We always use PreventDefault for <select> element, which is problematic if modal
dialog is on as it prevents cancelling the dialog. We fix it by not blocking the
default action if <select> is not shown.

See Bug 1649278
2024-06-15 17:03:16 +02:00
Moonchild 6ca3eb7c98 Issue #2532 - Fix a null pointer crash while doing dialog form submission
See Bug 1652699
2024-06-15 17:02:31 +02:00
Moonchild 42a208e60c Issue #2532 - Default pref check to true 2024-06-15 17:01:57 +02:00
Moonchild c2de359372 Issue #2532 - Implement form[method=dialog]
See bug 1557303
2024-06-15 17:01:27 +02:00
Moonchild 40016a1bf9 Merge pull request 'Fix altivec code, fix building for PPC' (#2530) from o_o/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2530
2024-06-15 07:19:12 +00:00
Richard-Rogalski e593872f19 Fix altivec code, fix building for PPC
Altivec code was previously uncompilable, and the altivec accelerations
also could not be disabled with a build flag or env variable, leading
to pale moon not being buildable on any altivec supported CPU ( all
PPC CPUs ever almost ). Why? I don't know, 'inline' in C is cursed
and making it static makes it significantly less so.

Closes: https://forum.palemoon.org/viewtopic.php?f=5&t=31108&p=252462#p252462
Signed-off-by: Richard Rogalski <rrogalski@firemail.cc>
2024-06-14 19:45:13 -05:00
Daniel Holbert e6199f8a32 [layout] Initialize PerSpanData members mBaseline and mReflowInput.
We null-initialize all of the other pointer members in NewPerSpanData; we should
do the same for these ones, for consistency & robustness.

(In practice, the callers end up initializing these members before reading them
anyway, so it's been benign that we weren't initializing them. But better for
safety & futureproofing to have them reliably initialized.)
2024-06-12 22:31:23 +02:00
Moonchild ae87e5c8ca [uri] Implement additional filename checks. 2024-06-12 21:34:12 +02:00
Moonchild 130720d927 [js gc] Suppress GC during JSObject::swap
We already suppressed GC for part of this, but we may sweep before the pre-write
barrier is established.
The simplest and safest thing is to suppress GC for the whole method.
2024-06-12 20:04:44 +02:00
Moonchild 0f0d36de2d [toolkit] Close autocomplete popup when window is resized. 2024-06-12 19:42:16 +02:00
Moonchild 2879b5abf6 [DOM] Clone video info properly. 2024-06-12 12:58:55 +02:00
Moonchild 84a29728aa [uri] Fix issues with external protocol handlers.
Remove early return in nsExternalProtocolHandler::NewChannel when handler doesn't exist.
Fix devtools expectation that newChannel throws for unsupported external handlers
2024-06-12 00:42:33 +02:00
Moonchild 38e63a2457 [network] Avoid accessing raw pointers in nsTransportEventSinkProxy. 2024-06-11 19:01:24 +02:00
Moonchild 809bb089c1 [network] Perform a case-insensitive match on special cookie prefixes. 2024-06-11 18:10:22 +02:00
trav90 7dbc24a739 Issue #2523 - Part 2 - Update audio & video decoders to work with FFmpeg 7.0 2024-06-10 07:55:58 -05:00
Moonchild 7cc6e4f072 Merge pull request 'Implement small, large, dynamic, and logical viewport units' (#2525) from FranklinDM/UXP-contrib:work_css-viewport-units-sld-logical into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2525
2024-06-09 13:29:50 +00:00
FranklinDM 9605315718 Issue #2522 - Part 2: Implement support for logical viewport units 2024-06-09 19:53:56 +08:00
FranklinDM c2362f7f61 Issue #2522 - Part 1: Alias small, large, and dynamic viewport units to base viewport 2024-06-09 19:53:56 +08:00
trav90 27bb48deaf Issue #2523 - Part 1 - Import headers from FFmpeg 7.0 2024-06-08 15:54:35 -05:00
Moonchild 6e2a713c37 Issue #2524 - Implement smart granularity for canvas poisoning.
User-configurable time interval between 1s and 8h. Default 5 minutes.
Resolves #2524
2024-06-07 16:25:36 +02:00
Moonchild c617548958 Merge pull request 'Remove DBM configuration and platform considerations.' (#2521) from 2516 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2521
2024-06-06 08:42:05 +00:00
Moonchild d8acf27de1 Issue #2516 - Part 3: Reconfigure platform to no longer build NSS DBM back-end. 2024-06-03 19:27:37 +02:00
Moonchild de2bd6aa57 Issue #2516 - Part 2: Remove MOZ_SECURITY_SQLSTORE and always use SQLite db back-end. 2024-06-03 18:49:41 +02:00
Moonchild 666b1f2db8 Issue #2516 - Part 1: Remove configure options for NSS db back-end selection. 2024-06-03 17:39:33 +02:00
Moonchild 17e3f40c2e Merge pull request 'Fix crash when reporting export error in modules' (#2520) from martok/UXP-contrib:mr/2519-module-error into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2520
2024-06-03 11:33:50 +00:00
Martok be0dc5dd26 Issue #2519 - Use parser error reporter to report missing module exports 2024-06-02 21:15:57 +02:00
Moonchild 43862ee764 Issue #2518 - Make various arguments optional in XPathEvaluator/XPathExpression.
Resolves #2518
2024-06-01 19:30:47 +02:00
Moonchild fe6af19126 [gfx] Use calloc for cairo font-creation functions. 2024-05-21 15:04:22 +02:00
Moonchild f982245af3 [gfx] Ensure font entry's unitsPerEm and font extents are initialized when gfxFont is created. 2024-05-21 14:10:27 +02:00
Moonchild 1fe46b057e [DOM] Clean up ReportLoadError and normalize error messages. 2024-05-21 13:24:45 +02:00
Moonchild 197e21f6de [gfx] Clear mSharedBlobData if blob creation failed. 2024-05-21 13:19:48 +02:00
Moonchild 58a3105a0e [network] Make http digest auth cnonce length configurable. 2024-05-21 12:30:47 +02:00
Moonchild c1703a6928 Merge pull request 'Emoji Sequence Clusters' (#2514) from RealityRipple/UXP:emoji-nowrap into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2514
2024-05-12 20:40:07 +00:00
Moonchild 786c16fd45 Merge pull request 'Import autoconf 2.13 and fix issues with GCC 14 and Clang 16.' (#2513) from dbsoft/UXP:autoconf2512 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2513
2024-05-11 16:57:34 +00:00
Andy 49b7816286 Don't split up happy emoji sequences
Loosely based on https://phabricator.services.mozilla.com/D25101
Includes changes to `GetEmojiPresentation`, added in e38b57ca.
The `EmojiComponent` response includes hair color, skin tone, ZWJ, VS16, Combining Enclosing Keycap, and the Tag unicode characters used for subdivision flag emojis.
This means that `IsClusterExtender` should support all these characters, and be forward compatible with any future Unicode changes.
This also lets us restructure `ClusterIterator::Next` to check for EmojiComponents after a TextDefault character, without any stupid constants.
2024-05-09 15:44:02 -07:00
Brian Smith 3aec8d2838 Issue #2512 - Part 5 - Fix Python 2.7 issue with unicode environment on Windows. 2024-05-07 22:49:35 -05:00
Brian Smith e4829019cd Issue #2512 - Part 4 - Look for gm4 in addition to m4.
https://bugzilla.mozilla.org/show_bug.cgi?id=1670807
2024-05-07 22:40:39 -05:00
Brian Smith acb34c35db Issue #2512 - Part 3 - Fix new failures with GCC 14. 2024-05-07 22:40:39 -05:00
Brian Smith e484c9d311 Issue #2512 - Part 2 - Fix autoconf basic compiler test.
GCC 14 and Clang 16 changed implicit-int from warning to error.
Causing the compiler test from 1996 to fail in C99 mode.
2024-05-07 22:40:38 -05:00
Brian Smith 6cbb2c372b Issue #2512 - Part 1 - Imported minimal autoconf 2.13.
https://bugzilla.mozilla.org/show_bug.cgi?id=1663863
2024-05-07 22:40:38 -05:00
Moonchild 5470407781 Merge pull request 'Implement missing parts of <dialog>' (#2511) from 2472-htmldialog-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2511
2024-05-07 09:34:36 +00:00
Brian Smith f9eaedbe2d Issue #2472 - Part 8: Fix conflicting defines on Mac. 2024-05-07 11:30:59 +02:00
Moonchild 5152b9b64a Merge branch 'master' into 2472-htmldialog-work
# Conflicts:
#	layout/style/res/html.css
2024-05-06 22:16:16 +02:00
Moonchild 46feb81dd3 Issue #2472 - Part 7: Unprefix fit-content in dialog style. 2024-05-06 22:11:36 +02:00
Moonchild 59796f3e9d Issue #2510 - Unprefix -moz-fit-content
No aliasing since this has been out for a while.
Devtools db regenerated with `mach devtools-css-db`

Resolves #2510
2024-05-06 22:09:18 +02:00
Moonchild 83b16ecc7f No issue - Regenerate devtools css database
We were missing ::slotted, apparently.
2024-05-06 21:21:53 +02:00
Moonchild 2baeb2083b Issue #2472 - Part 6: Fire cancel event and close modal <dialog> on [ESC]
This implementation is different than Mozilla, not indirectly queueing cancel
tasks to be arbitrarily ordered, but rather synchronously close in reverse
top layer order.
2024-05-06 12:33:09 +02:00
Moonchild 3ac7635150 Issue #2472 - Part 5: Make modal versions of <dialog> work, and tune styles.
This adds a pseudo-class `:-moz-modal-dialog` to be able to track whether the
dialog is in the top layer in CSS.
This implements default styling for modal dialogs following the HTML standard.
Slightly off-extreme color scheme chosen for unstyled <dialog> elements.
2024-05-04 18:32:41 +02:00
Moonchild a7e19fc7ae Issue #2472 - Part 4: Make TopLayer{Push|Pop} part of nsIDocument. 2024-05-04 18:16:28 +02:00
Moonchild 229517f9cd Merge branch 'master' into 2472-htmldialog-work 2024-05-02 11:49:28 +02:00
Moonchild d90a4ea28c Merge pull request 'FIPS cleanup' (#2509) from FIPS-cleanup-2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2509
2024-05-01 20:46:56 +00:00
Moonchild 70b1711085 Issue #2505 - Part 4: Restore PK11_IsFips symbol for Mac building secutil. 2024-05-01 14:15:22 +02:00
Moonchild 49aa1346da Issue #2505 - Part 3: Remove FIPS interfaces and controls. 2024-05-01 13:38:01 +02:00
Moonchild aba23a13a3 Issue #2505 - Part 2: Update NSS to 3.90.2
This re-lands the NSS update that was backed out previously for RC bustage.
2024-05-01 13:37:30 +02:00
Moonchild e4254a9555 Issue #2505 - Part 1: Stop signing NSS libraries. 2024-04-23 23:16:13 +02:00
Moonchild cafaac1939 [dom media] Avoid a potential issue when assigning a media data buffer. 2024-04-17 22:30:57 +02:00
Moonchild 803f821d5b [gfx] Pull several OTS fixes from upstream to improve data safety.
- Don't check STAT designAxisSize if the designAxisCount is zero.
- Avoid potential arithmetic overflow during Buffer read operations.
- Use more careful range checks in STAT parsing.
2024-04-17 22:14:38 +02:00
Moonchild f3fb26a44f [js] Simplify tracing of arguments in MarkThisAndArguments. 2024-04-17 21:25:30 +02:00
Moonchild 27f64dc348 [network] Keep track of and check HTTP/2 header sizes. 2024-04-17 19:10:44 +02:00
Moonchild ac36221d70 [XPCOM] Warn about .xrm-ms files on Windows (treat as executable) 2024-04-17 16:30:00 +02:00
Moonchild 0f8e267fd1 Merge pull request 'Add exposed CPU flags' (#2504) from CPUflags-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2504
2024-04-15 07:41:53 +00:00
Moonchild c4665f5f6c Issue #2503 - Part 3: Add CPU capabilities to about:support. 2024-04-14 21:58:20 +02:00
Moonchild 983be16f8a Issue #2503 - Part 2b: Fix missing navigator in UpdateUtils. 2024-04-14 21:57:48 +02:00
Moonchild 6ebd47222a Issue #2503 - Part 2: Add CPU IS support flags to UpdateUtils URL substitutions. 2024-04-14 21:01:31 +02:00
Moonchild 68a4b8e3d4 Issue #2503 - Part 1: add CPU IS support flags to Navigator interface 2024-04-14 20:47:17 +02:00
Moonchild 3d76969fa8 [DOM] Add nullcheck on mDoc in GetEventTargetParent 2024-04-14 17:48:12 +02:00
Moonchild 791fd0300e Issue #2472 - Enable dialog element by default.
While work is still on-going to get layering/modal right, this should be enabled
by default for web compatibility reasons.
2024-04-13 12:07:46 +02:00
Moonchild 0635ffcca3 Merge pull request 'Add checks for IDXGIKeyedMutex failure.' (#2502) from 2470 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2502
2024-04-12 17:48:35 +00:00
Moonchild b96a2237e0 [devtools] fix issue with ctrl+c handling
See https://repo.palemoon.org/MoonchildProductions/Pale-Moon/issues/1961
2024-04-10 15:06:49 +02:00
Moonchild 59c863a900 Merge pull request 'Implement CSS shorthand properties for logical box margin and padding' (#2500) from FranklinDM/UXP-contrib:work_css-shorthand-block-inline-margin-padding into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2500
2024-04-10 12:56:20 +00:00
FranklinDM 8bfe1f3a7d Issue #2477 - Part 4: Regenerate developer tools' static CSS properties database 2024-04-09 11:08:27 +08:00
FranklinDM 878709cd23 Issue #2477 - Part 3: Logical box properties should accept auto values 2024-04-09 11:08:26 +08:00
FranklinDM ea87895dd9 Issue #2477 - Part 2: Implement shorthand properties for [margin/padding][block/inline] 2024-04-09 11:08:26 +08:00
FranklinDM 6b25fb2b3a Issue #2477 - Part 1: Implement a separate function for parsing pair box properties
This reuses existing logic from ParseGap.
2024-04-09 11:08:25 +08:00
Martok 02a1efa9fa [DOM] Simplify WorkerRunnable sanity checks and make them more readable. 2024-04-08 13:19:46 +02:00
Moonchild d65a4c0628 Issue #2470 - Check for failure of getting IDXGIKeyedMutex. 2024-04-07 23:29:39 +02:00
Moonchild c991295c93 Merge pull request 'Move CSS rules to WebIDL interfaces' (#2496) from css-webidl-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2496
2024-04-07 16:05:04 +00:00
Moonchild 763bcea405 Issue #2495 - Implement webkitURL legacy window alias for URL
Resolves #2495
2024-04-06 14:08:41 +02:00
Moonchild c87d9f3cff Merge branch 'master' into css-webidl-work
# Conflicts:
#	layout/style/StyleRule.cpp
2024-04-05 18:05:54 +02:00
Moonchild 8bc18ff5d4 Issue #2490 - Part 20: Remove the stuff that was added temporarily to deal with
a mix of WebIDL and non-WebIDL rules.
2024-04-04 20:07:33 +02:00
Moonchild f9508fa3cc Issue #2490 - Part 19: Convert CSSCounterStyleRule to WebIDL. 2024-04-04 19:52:36 +02:00
Moonchild 28836a35ed Issue #2490 - Part 18: Convert CSSKeyframesRule to WebIDL. 2024-04-04 14:13:43 +02:00
Moonchild a7d460c060 Issue #2490 - Part 17: Convert CSSKeyframeRule to WebIDL. 2024-04-04 14:00:59 +02:00
Moonchild 3434ea57c1 Issue #2490 - Part 16: Convert CSSFontFeatureValuesRule to WebIDL. 2024-04-04 10:20:43 +02:00
Moonchild 631e3a73e3 Issue #2490 - Part 15: Convert CSSFontFaceRule to WebIDL.
The .style PutForwards bit is coming along for the ride here as a new feature.
2024-04-04 10:02:17 +02:00
Moonchild b4a3d59128 Issue #2490 - Part 14: Convert CSSPageRule to WebIDL.
The .style PutForwards bit is coming along for the ride here as a new feature.
2024-04-03 16:47:23 +02:00
Moonchild cd8b0b38e8 Issue #2490 - Part 13: Convert media, supports, and moz-document rules to WebIDL.
This also converts the internal ConditionRule and GroupingRule classes.
2024-04-03 15:52:32 +02:00
Moonchild 35311d664a Issue #2490 - Part 12: Convert CSSStyleRule to WebIDL.
The .style PutForwards bit is coming along for the ride here, aligning us with
the behavior of Blink and Gecko.
2024-04-03 13:59:06 +02:00
Moonchild 9a5fe6f542 Issue #2490 - Part 11: Convert CSSImportRule to WebIDL.
Note that the .media PutForwards is a new feature coming along for the ride, now
that we're using the spec IDL.
2024-04-03 13:22:41 +02:00
Moonchild 28ba2fb374 Issue #2490 - Part 10b: Fix line endings (no code change). 2024-04-03 12:40:33 +02:00
Moonchild d423c54d9c Issue #2490 - Part 10: Convert CSSNamespaceRule to WebIDL. 2024-04-03 12:29:31 +02:00
Moonchild b3a016ac20 Merge pull request 'Emoji 15.1 Support' (#2492) from RealityRipple/UXP:emoji-15.1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2492
2024-04-01 14:26:17 +00:00
Moonchild 536af00ab2 Issue #2490 - Part 9b: Add a CSSRule Web IDL interface.
Fix Paris bindings by providing a temporary IID for nsIDOMCSSRule
(thanks FranklinDM!)
2024-04-01 14:42:27 +02:00
Moonchild 041f0bd4f4 Merge pull request 'Remove style system magic pointer classes' (#2491) from FranklinDM/UXP-contrib:work_ss-remove-magic-pointer-classes into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2491
2024-04-01 11:30:43 +00:00
Andy dc6a8eea09 Transparent Keycap Patch 2024-03-31 23:26:34 -07:00
Andy ea4c79e18d Keycap Bug Fixes
Adds 0-9, #, and * as simple pictographs.
Duplicates (C), (R), (TM), and (M) with the Keycap suffix.
Turns Combining Enclosing Keycap into a zero-width character.
2024-03-31 12:37:56 -07:00
Moonchild f8861235ed Issue #2490 - WIP: part 9. Add a CSSRule Web IDL interface. 2024-03-31 00:47:10 +01:00
Moonchild 55bee27c30 Issue #2490 - Part 8: Get rid of css::Rule::GetDOMRule. 2024-03-30 22:32:33 +01:00
Moonchild d5add46c05 Issue #2490 - Part 7: Push the nsIDOMCSSRule implementation up to css::Rule. 2024-03-30 19:31:09 +01:00
Moonchild 13cfa63316 Issue #2490 - Part 6: Make css::Rule inherit from nsIDOMCSSRule. 2024-03-30 17:30:24 +01:00
Moonchild bbb66a5500 Issue #2490 - Part 5: Get rid of DOMCSSStyleRule. 2024-03-30 13:34:31 +01:00
Andy 90b015560d Don't Assume System Font for Emojis with Suffixes
A few dozen Emojis use otherwise general font characters in the lower codepages.
Luckily, the Emoji codepages always include either a VS16 or KeyCap suffix.
2024-03-30 04:57:34 -07:00
Andy e38b57caa7 Standardized use of Emoji Character Properties
Detection of Emoji Components, for use as suffixes of TextDefault.
Detection of Non-Presentation Emojis as TextDefault.
Detection of all Extended Pictographics as EmojiDefault.
2024-03-30 04:57:12 -07:00
Andy d003a2fba9 Update TwemojiMozilla.ttf to E15.1
Includes partially qualified and unqualified codepoints for all Emojis except (C), (R), (TM), and (M).
Updates Martinique flag.
Uses True South flag for Antarctica.
2024-03-30 04:56:20 -07:00
Moonchild b22e7e4350 Issue #2490 - Part 4: Make css::Rule wrappercached. 2024-03-30 12:39:15 +01:00
Moonchild 1c8d691c2a Issue #2490 - Part 3: Give CSS rules a PreCreate hook so we can safely wrappercache them. 2024-03-30 11:38:44 +01:00
Moonchild 5f39ff87a0 Issue #2490 - Part 2: Remove the now-unused GetExistingDOMRule() function. 2024-03-30 11:27:48 +01:00
FranklinDM 3ec13cbb4e Issue #2488 - Part 6: Define and declare CSSStyleSheet cast functions directly in StyleSheet
This renames AsGecko calls to AsConcrete and removes the header containing leftover Stylo macros.
2024-03-30 08:46:35 +08:00
FranklinDM 8dd55ce170 Issue #2488 - Part 5: Remove HandleRefPtr (exclusively used by smart pointer classes) 2024-03-30 08:46:34 +08:00
FranklinDM 1ed0fa9f83 Issue #2488 - Part 4: Remove the RestyleManagerHandle smart pointer class 2024-03-30 08:46:33 +08:00
FranklinDM 9eb661a899 Issue #2488 - Part 3: Remove the StyleSetHandle smart pointer class 2024-03-30 08:46:32 +08:00
FranklinDM b3bde74dce Issue #2488 - Part 2: Remove the DeclarationBlock class and use Declaration directly 2024-03-30 08:46:31 +08:00
FranklinDM b4224e3aff Issue #2488 - Part 1b: Move PseudoElementType getter/setter implementation of Element away from header 2024-03-30 08:46:30 +08:00
FranklinDM dbeb9a8d4f Issue #2488 - Part 1a: nsCSSPseudoClassList should not include any header 2024-03-30 08:46:30 +08:00
FranklinDM 0555400605 Issue #2111 - Follow-up: Add missing include and fix namespace conflict when building layout deunified 2024-03-30 08:46:29 +08:00
Moonchild fb88b2cc90 Merge branch 'master' into css-webidl-work 2024-03-30 00:19:21 +01:00
Moonchild 7f48de6549 Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2024-03-30 00:15:04 +01:00
Moonchild f16c8418aa Merge pull request 'Remove Stylo from the platform' (#2487) from FranklinDM/UXP-contrib:work_stylo-removal-take3 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2487
2024-03-29 23:13:37 +00:00
Moonchild 4d90060dd8 Merge pull request 'Issue #2483 - Support DOMMatrix2DInit for addPath' (#2484) from craniumcadoo/UXP:issue-2483 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2484
2024-03-29 23:07:20 +00:00
Moonchild c0c6b38c18 Issue #2490 - Part 1: Make all CSS rules cycle-collected. 2024-03-29 18:18:36 +01:00
FranklinDM fb6a751759 Issue #2112 - Follow-up: Fix broken rule node assertion 2024-03-28 20:11:31 +08:00
FranklinDM e8e43b846c Issue #58 - Follow-up: Remove Rust binding leftovers 2024-03-26 02:21:52 +08:00
FranklinDM 3e33eda290 Issue #2112 - Part 15: Remove leftover comment 2024-03-26 02:21:51 +08:00
FranklinDM 2e8852cbf0 Issue #2112 - Part 14: Remove style context source and use rule node directly
Based on reverting bug 1260310.
2024-03-26 02:21:51 +08:00
FranklinDM df9a143414 Issue #2112 - Part 13: Remove construction context for style structs
Partial reversion of bug 1261552. This keeps the behavior of always passing the presentation context to the style structs, unlike pre-stylo where it is conditional.
2024-03-26 01:27:52 +08:00
FranklinDM 9dbaf7f6f8 Issue #2112 - Part 12: Remove reserved Servo bits from node/element flags and event states 2024-03-26 01:27:52 +08:00
FranklinDM c3fa38f0d7 Issue #2112 - Part 11: Remove dead off-thread Stylo functions in nsStyleStruct 2024-03-26 01:27:51 +08:00
FranklinDM da4399a912 Issue #2112 - Part 10: Remove remaining Stylo/Servo includes and code
Some classes have been marked for removal/merging, macros used for forwarding/casting were moved to DeprecatedUtils.h.
2024-03-26 01:25:59 +08:00
FranklinDM 425dc7f02b Issue #2112 - Part 9: Remove handling for multiple style backends 2024-03-26 01:25:53 +08:00
FranklinDM 456e1a5860 Issue #2112 - Part 8: Remove Stylo Stylesheet Cache 2024-03-26 01:25:31 +08:00
FranklinDM f82f5aaf29 Issue #2112 - Part 7: Remove Servo CSS Loader support 2024-03-26 01:25:14 +08:00
FranklinDM e18de3ac2b Issue #2112 - Part 6: Remove IsStyledByServo function and callers 2024-03-26 01:24:54 +08:00
FranklinDM 1ecde083b1 Issue #2112 - Part 5: Remove Servo from forwarding code used by magic pointer classes 2024-03-26 01:24:49 +08:00
FranklinDM 71101dc40c Issue #2112 - Part 4: Remove Stylo support for mask-image 2024-03-26 01:24:40 +08:00
FranklinDM a00ca6d871 Issue #2112 - Part 3: Remove --enable-stylo config and conditionals 2024-03-26 01:24:34 +08:00
FranklinDM 182b567fa8 Issue #2112 - Part 2: Stub out Servo functions 2024-03-26 01:24:29 +08:00
FranklinDM 7d330b89c8 Issue #2112 - Part 1: Remove Stylo tests 2024-03-26 01:24:23 +08:00
Moonchild 21c13fc9cd Revert "Update NSS to 3.90.2"
This reverts commit a79400a939.
2024-03-23 07:47:14 +01:00
Moonchild 889e3e3805 Revert "Undo build system change from NSS update to fix missing command-line utils."
This reverts commit 999640b68c.
2024-03-23 07:46:55 +01:00
Moonchild 7ad5cc471d Merge pull request 'No Issue - Only explicitly enforce GCC SSE2 optimizations when building on Intel 32-bit architectures' (#2485) from trav90/UXP-contrib:gcc-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2485
2024-03-22 23:51:42 +00:00
trav90 7ef3048c5e No Issue - Only explicitly enforce GCC SSE2 optimizations when building on Intel 32-bit architectures
SSE2 optimizations are used by default on 64-bit platforms. By no longer explicitly enabling SSE2 on 64-bit GCC, we can more easily enable other optimizations (e.g. AVX) without worrying about them being overridden by the SSE2 flags.
2024-03-22 10:28:06 -05:00
Moonchild 999640b68c Undo build system change from NSS update to fix missing command-line utils. 2024-03-21 21:54:22 +01:00
Daniel Jacobs 1abfd0f004 Issue #2483 - Slight adjustments for allowing addPath with DOMMatrix 2024-03-20 14:31:42 -04:00
Daniel Jacobs 37a033304d Issue #2483 - Support DOMMatrix2DInit for addPath 2024-03-20 18:29:30 +00:00
Moonchild 8df70dabe6 [MFBT] Make move assignment of RefPtr have the same behavior as nsCOMPtr 2024-03-20 15:55:46 +01:00
Moonchild 2c50617e64 [parser] Specialize AddAttributes for <html>/<body>. 2024-03-20 15:25:19 +01:00
Moonchild 87d7489bc3 Merge branch 'nss-update' 2024-03-20 14:35:13 +01:00
Moonchild a79400a939 Update NSS to 3.90.2 2024-03-20 14:23:51 +01:00
Moonchild 4b51e3ecc9 Merge pull request 'Colump picker should work even if there are no rows in the tree' (#2481) from yup/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2481
2024-03-17 15:47:41 +00:00
yup 9dbe31a41e Minor performance improvement by elimination of an unnecessary intermediate array 2024-03-17 15:41:22 +00:00
yup a5366670aa Merge branch 'master' into master 2024-03-09 18:23:08 +00:00
yup abb1298631 Colump picker should work even if there are no rows in the tree 2024-03-09 12:03:08 +00:00
Moonchild 56f255859c Merge pull request 'Return early when "this.view" does not exist (empty tree)' (#2479) from yup/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2479
2024-03-08 18:35:31 +00:00
yup 7a1e01c0f3 Eliminated exceptions in event handlers that happen when "this.view" does not exists (empty tree) 2024-03-08 14:04:02 +00:00
Moonchild 83857453b1 Issue #2472 - Part 3: Refactor Fullscreen stack to Top Layer stack
Fullscreen stack isn't part of the spec anymore; it's been changed to a more
generic version called Top Layer stack, which is being used by both full-screen
APIs and dialog elements.

This patch refactors it to Top Layer stack so that it can be reused for dialog
elements.

Top Layer stack spec: https://fullscreen.spec.whatwg.org/#new-stacking-layer
2024-03-07 12:24:06 +01:00
Moonchild 046c7e92a4 Issue #2472 - Part 2: Add FunctionRef callable type
Prerequisite for top layer refactor.

FunctionRef is a generic callable type that can be initialized from any
compatible callable, suitable for use as a function argument for the duration of
the function call (and no longer).
2024-03-07 11:14:20 +01:00
Moonchild 3e7fbd39df Issue #2472 - Part 1: Add helper method to directly dispatch events to widgets. 2024-03-01 13:08:06 +01:00
Moonchild 56d1a62f5d [network] Block set-cookie from multipart/x-mixed-replace 2024-02-22 22:08:23 +01:00
Eitan Isaacson 8e609c4594 [layout] Process pairs in coord list in PolyArea.
Range -1 assures the array is even with a step size of 2, avoiding lone
value processing.
2024-02-22 20:36:30 +01:00
Jens Stutte 238226ce46 [DOM] Check if WorkerRunnable::Run runs on top of WorkerThreadPrimaryRunnable::Run in a worker thread. 2024-02-22 19:53:24 +01:00
Moonchild 0d2e285caa Merge pull request 'Fix error when destroying the developer tools window and remove remaining doorhanger code' (#2476) from FranklinDM/UXP-contrib:work_fix-devtools-destroy-and-remove-doorhanger into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2476
2024-02-22 11:04:43 +00:00
FranklinDM 91309c6d9d No issue - Replacing location might throw NS_ERROR_UNEXPECTED while the developer tools window is being destroyed 2024-02-22 09:35:43 +08:00
FranklinDM 268c95d95f No issue - Remove leftover doorhanger code from the developer tools
Partially based on reverting https://bugzilla.mozilla.org/show_bug.cgi?id=1078539
2024-02-22 09:35:43 +08:00
Moonchild f0cce53b37 Merge pull request 'Use hard-coded minimum timer interval in workers' (#2474) from martok/UXP-contrib:mr/worker-timer into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2474
2024-02-10 17:13:25 +00:00
Martok 8f11d64255 Issue #2453 - Follow-Up: Use hard-coded minimum timer interval in workers.
From the spec: "If nesting level is greater than 5, and timeout is less than 4, then set timeout to 4.",
therefore not having it user-configurable doesn't really break anything.
2024-02-10 16:29:23 +01:00
Moonchild 7c32e33769 Merge pull request 'Implement new csp -src-elem and -src-attr directives' (#2469) from csp-elem-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2469
2024-02-07 12:17:21 +00:00
Moonchild 99f208ad22 Merge pull request 'Fix scrolling with mouse wheel when NPAPI is disabled.' (#2468) from athenian200/UXP:scroll_wheel_npapi_disabled into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2468
2024-02-04 22:27:15 +00:00
Moonchild 06eca091f7 Issue #2466 - Part 3: Implement style-src-elem and style-src-attr 2024-02-04 23:24:50 +01:00
Moonchild 8fc5e4bd24 Issue #2466 - Part 2: Implement script-src-elem and script-src-attr 2024-02-04 20:15:14 +01:00
Jeremy Andrews 110e4f1ca2 Issue #2467 - Fix scrolling with mouse wheel when NPAPI is disabled.
Refactors an else if statement into an else inside an if block.
2024-02-04 08:51:25 -06:00
Moonchild 73e94dd628 Issue #2466 - Part 1: Reduce nsContentPolicy type usage.
Use CSPDirective instead, since it directly deals with CSP anyway.
This cleanup prepares for the following changes.
2024-02-04 13:33:32 +01:00
Moonchild 783b48a083 Disable URL-paste content loading by default.
See https://repo.palemoon.org/MoonchildProductions/Pale-Moon/issues/1957
2024-02-02 13:28:43 +01:00
Moonchild 9279b01433 Issue #2465 - Do not use our in-tree metrics hints if using system-cairo
Use a somewhat equivalent font-options instance when using the
system-supplied cairo lib, instead of our in-tree extension.

Resolves #2465
2024-02-01 11:20:25 +01:00
Moonchild afc9a8cafa Merge pull request 'Implement support for <link rel=preload> meta' (#2463) from FranklinDM/UXP-contrib:work_dom-preload-link-ns into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2463
2024-01-28 17:20:48 +00:00
FranklinDM 476fc70de9 Issue #2158 - Follow-up: Add missing include 2024-01-29 00:53:36 +08:00
Moonchild ea7435c05e Issue #618 - Follow-up: Fix missed constant refactor preventing ExportEntries from working. 2024-01-28 15:08:57 +01:00
FranklinDM 01d0962f62 Issue #2158 - Part 5: Guard preload links support with a preference
This is enabled by default.
2024-01-27 23:10:49 +08:00
FranklinDM 16aeb39791 Issue #2158 - Part 4: Dispatch load/error events upon parsing preload links 2024-01-27 23:10:48 +08:00
FranklinDM ba97710cdf Issue #2158 - Part 3: Parse preload links as part of the HTML5 parser's speculative load queue 2024-01-27 23:10:48 +08:00
FranklinDM 56157c149a Issue #2158 - Part 2: Handle and expose preload link destination to DOM
This also defines known preload destinations and ensures it is reflected in JS.
2024-01-27 23:10:47 +08:00
FranklinDM 02c4302711 Issue #2158 - Part 1: Add the 'as' attribute to the HTML Parser 2024-01-27 23:10:47 +08:00
Moonchild 0616807ac3 Merge pull request 'Remove leftover reference to focus handler for dev edition doorhanger' (#2462) from FranklinDM/UXP-contrib:work_remove-leftover-ff-ref-devtools into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2462
2024-01-25 14:44:13 +00:00
FranklinDM 2d7a4f2655 No issue - Remove leftover reference to focus handler for dev edition doorhanger
Follow-up to 038774e52b
2024-01-25 20:50:41 +08:00
Moonchild 7182490961 [HSTS] Let parent hosts determine whether HSTS subs should be applied.
This aligns with the wording in RFC 6797.
2024-01-24 19:35:02 +01:00
Moonchild a054bcc23b Bug 1863083 2024-01-24 17:26:44 +01:00
John Schanck 2fdc4c71ce [NSS] add a defensive check for large ssl_DefSend return values. 2024-01-24 17:19:35 +01:00
Geoff Lang 6689328efe [gfx] Cherry-pick chromium:1864587 2024-01-24 16:38:28 +01:00
Daniel Holbert c757d71379 [gtk] Let printer enumeration run to completion, to avoid a GTK bug. 2024-01-24 16:21:26 +01:00
Moonchild 690127c618 No issue - Clean up some devtools comments and prefs. 2024-01-23 10:31:25 +01:00
Moonchild 038774e52b No issue - Remove leftover beta-only dev edition promo in devtools. 2024-01-23 10:22:20 +01:00
Moonchild c38a8256f3 Merge pull request 'Collected Microtask timing updates' (#2459) from martok/UXP-contrib:mr/2452-mt-updates into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2459
2024-01-18 13:15:16 +00:00
Moonchild c6a60994b7 Merge pull request 'Align selection and focus behavior more with mainstream' (#2461) from 2388-select-and-focus into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2461
2024-01-18 13:14:13 +00:00
Moonchild 38411ba78a Merge pull request 'Intersection Observer update to fix failures on sites using Document as root.' (#2460) from dbsoft/UXP:int-obs-2456 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2460
2024-01-17 17:44:06 +00:00
Moonchild c03d2c2cc5 Issue #2388 - Part 5: Make Selection::ToString flush frames 2024-01-17 13:55:23 +01:00
Moonchild 3c46488a8c No issue - Update build status messages 2024-01-17 10:42:52 +01:00
Moonchild 60f1eab6c2 Issue #2388 - Part 4: Align focus behavior more with Blink/Gecko 2024-01-16 21:54:52 +01:00
Moonchild 9851eee94a Issue #2388 - Part 3: Update tests 2024-01-16 21:28:36 +01:00
Moonchild 09b3e1deeb Issue #2388 - Part 2: move focus at every selection change when it's called by JS 2024-01-16 21:28:04 +01:00
Moonchild 993e1b50e2 Issue #2388 - Part 1: Mark Selection as "called by JS" when caused by a JS call to the selection API 2024-01-16 19:28:24 +01:00
Moonchild cf06215a9d Merge pull request 'Don't try to directly access pref on worker thread.' (#2457) from 2453-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2457
2024-01-16 12:14:31 +00:00
Martok 252c4bdc74 Issue #2452 - Handle re-entrant Microtask checkpoints from Events dispatched by StableState callbacks 2024-01-16 11:04:58 +01:00
Martok b2319aff7f Issue #2452 - Don't use WebVTTListener, JS wrapper, MediaShutdownManager in stable state
https://bugzilla.mozilla.org/show_bug.cgi?id=1443429
https://bugzilla.mozilla.org/show_bug.cgi?id=1515021
2024-01-16 11:02:51 +01:00
Martok a9f263c081 Issue #2452 - Fix getter constness
https://bugzilla.mozilla.org/show_bug.cgi?id=1443429 Pt. 2
2024-01-16 11:02:51 +01:00
Martok 9db0c6779a Issue #2452 - Prevent nsDocShell access when it is already being destroyed
https://bugzilla.mozilla.org/show_bug.cgi?id=1432396
2024-01-16 11:02:51 +01:00
Martok 16d0e3694c Issue #2452 - Bail out from PresShell::Initialize if the pres shell is being destroyed in XBLConstructorRunner
https://bugzilla.mozilla.org/show_bug.cgi?id=1428694
2024-01-16 11:02:50 +01:00
Martok fc170a373c Issue #2452 - Fire events after iterating ServiceWorkerManager::mControlledDocuments is done.
https://bugzilla.mozilla.org/show_bug.cgi?id=1413466
2024-01-16 11:02:50 +01:00
Martok 6cd9f36c28 Issue #2452 - Ensure DOM events aren't dispatched at unexpected time
https://bugzilla.mozilla.org/show_bug.cgi?id=1409985
https://bugzilla.mozilla.org/show_bug.cgi?id=1443746
2024-01-16 11:02:50 +01:00
Martok d4070c7554 Issue #2452 - Declare the NS_ERROR_DOCSHELL_DYING error
From https://bugzilla.mozilla.org/show_bug.cgi?id=1337537
2024-01-16 11:02:50 +01:00
Moonchild ac32a184f1 Merge pull request 'Guard the classic email account wizard with its own configure option' (#2455) from FranklinDM/UXP-contrib:work_config-classic-email-account-wizard into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2455
2024-01-15 20:36:46 +00:00
Moonchild 6bb1b66457 Issue #2453 - Simplify CalculateTargetTime() code and fix typo.
We should always be on a worker thread so the MainThread call isn't
needed.
Also: DOMMinTimoutValue -> DOMMinTimeoutValue
2024-01-15 20:58:30 +01:00
Moonchild be728322e0 Issue #2458 - Make HTMLInputElement.files read-write
Resolves #2458
2024-01-15 20:26:10 +01:00
Moonchild 70f567950b Issue #2453 - Don't try to directly access pref on worker thread. 2024-01-15 15:10:31 +01:00
Brian Smith cc697eb106 Issue #2456 - Intersection Observer - Accept a Document as an explicit root.
https://bugzilla.mozilla.org/show_bug.cgi?id=1617154
2024-01-15 05:54:48 -06:00
FranklinDM e2e50d065f Issue #2454 - Guard the classic email account wizard with its own configure option 2024-01-15 18:34:31 +08:00
Moonchild 133ec26f5e Merge pull request 'Allow disabling NPAPI to make GTK3-only builds possible.' (#2450) from athenian200/UXP:npapi_disable_work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2450
2024-01-14 16:56:32 +00:00
Jeremy Andrews a66c8a088f Issue #1638 - Follow-up: Fix syntax error in Part 6. 2024-01-12 00:32:33 -06:00
Moonchild 2354011d48 Issue #2451 - Send referrer headers with CORS preflight requests.
This is dependent on referrer policy.

Fixes #2451
2024-01-11 22:21:57 +01:00
Jeremy Andrews 722eaab39a Merge branch 'npapi_disable_work' of https://repo.palemoon.org/athenian200/UXP into npapi_disable_work 2024-01-11 12:30:40 -06:00
Jeremy Andrews 05cebf17e0 Issue #1638 - Part 8: Additional Mac fixes. 2024-01-11 12:30:13 -06:00
athenian200 9ea951fa6a Issue #1638 - Part 7: Allow GTK2 builds without gtk2xtbin. 2024-01-11 09:28:14 -06:00
Jeremy Andrews 174b2b76df Issue #1638 - Part 6: Disable plugin-container. 2024-01-11 07:10:27 -06:00
athenian200 9af4b97fbe Issue #1638 - Follow-up: Fix syntax error in Part 5. 2024-01-11 05:23:34 -06:00
Jeremy Andrews bbf374ad17 Issue #1638 - Part 5: Disallow mixing --enable-webrtc with --disable-npapi. 2024-01-11 04:43:33 -06:00
Jeremy Andrews ba58438b41 Issue #1638 - Part 4: Fix Mac build.
This was in the original removal bug, I just missed a couple lines.
2024-01-11 04:06:15 -06:00
Jeremy Andrews 0bf5eaaa2b Issue #1638 - Part 3: Clean up moz.build files. 2024-01-10 09:16:23 -06:00
Moonchild 2f65157f25 Merge pull request 'Don't toggle focus-within state past the nearest common flattened tree ancestor.' (#2449) from 2401-focus-within-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2449
2024-01-10 10:11:12 +00:00
athenian200 ff713f133e Issue #1638 - Part 2: Disable GTK2 when building with GTK3 and without NPAPI.
The original purpose of this issue.

Ref: BZ 1377445
2024-01-10 04:03:35 -06:00
athenian200 b787af5702 Issue #1638 - Part 1: Put NPAPI code behind MOZ_ENABLE_NPAPI.
Adds --disable-npapi as an additional build option. The default is still to build in NPAPI compatibility, but with this flag, it's finally possible to build without pulling in GTK2 on systems that don't have the package.

This essentially ifdefs everything associated with NPAPI, following various Mozilla removal bugs.

Ref: BZ 1682030, BZ 1251202, BZ 1217665, BZ 1687239
2024-01-10 04:03:35 -06:00
Moonchild 82395acfa6 Issue #2401 - Part 3: Don't toggle focus-within state past the nearest
common flattened tree ancestor.

Resolves #2401
2024-01-09 18:23:47 +01:00
Moonchild 994792bdc8 Issue #2401 - Part 2: Add GetCommonFlattenedTreeAncestor.
Passing GetFlattenedTreeParent() as the "get parent" function.

This way we can reduce the complexity in our EventStateManager by simply
calling out to the templatized function from Part 1.
2024-01-09 17:40:12 +01:00
Moonchild d36fa8bfce Issue #2401 - Part 1: Templatize GetCommonAncestor. 2024-01-09 11:32:18 +01:00
Moonchild 9dac9de154 Merge pull request 'Collection of CSP updates from Firefox 54-70.' (#2448) from dbsoft/UXP:csp-updates4 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2448
2024-01-09 09:42:42 +00:00
Brian Smith 391e17626b Issue #2402 - Fill in column in CSP Report. 2024-01-08 21:14:05 -06:00
Brian Smith 2150fb7fa9 Issue #2402 - Print Related JS-Line on CSP Violation (if any).
https://bugzilla.mozilla.org/show_bug.cgi?id=1100630
2024-01-08 08:49:05 -06:00
Brian Smith 3dd8bc0ddb Issue #2402 - CSP Violation events should have the correct sample for inline contexts.
https://bugzilla.mozilla.org/show_bug.cgi?id=1473587
Add preference to increase max length of CSP report source sample.
https://bugzilla.mozilla.org/show_bug.cgi?id=1415352
Return valid columnNumber value in CSP violation events.
https://bugzilla.mozilla.org/show_bug.cgi?id=1418246
2024-01-08 07:46:11 -06:00
Brian Smith 0fe8ac9349 Issue #2402 - Workers.setTimeout/setInterval must handle CSP rejections.
https://bugzilla.mozilla.org/show_bug.cgi?id=1490165
Has some namespace issues adding the files, so differs slightly.
2024-01-08 03:22:44 -06:00
Brian Smith a35ee1a6a5 Issue #2402 - CSP should throw EvalError when blocking eval() and Function().
https://bugzilla.mozilla.org/show_bug.cgi?id=1473024
https://bugzilla.mozilla.org/show_bug.cgi?id=1490165
2024-01-07 11:59:24 -06:00
Brian Smith d20b1f2fb6 Issue #2402 - CSP violation: blockedURI inline/eval.
https://bugzilla.mozilla.org/show_bug.cgi?id=1418241
CSP: Blocked URI should be empty for inline violations.
https://bugzilla.mozilla.org/show_bug.cgi?id=1236222
2024-01-07 11:48:56 -06:00
Brian Smith a86b4c35f1 Issue #2402 - Optionally strictly enforce the MIME type of scripts loaded by importScripts().
https://bugzilla.mozilla.org/show_bug.cgi?id=1514680
This is default on in Firefox 67 but Moonchild requested it be set off by default.
2024-01-07 08:29:30 -06:00
Brian Smith 6b00d13010 Issue #2402 - Require ServiceWorkerGlobalScope.importScripts() to only accept JavaScript MIME types.
https://bugzilla.mozilla.org/show_bug.cgi?id=1354577
Require ServiceWorkerContainer.register() to only accept JavaScript MIME types.
2024-01-07 07:37:47 -06:00
Brian Smith 830a634cec Issue #2402 - Don't call WorkerPrivate::WorkerName() to get service worker scope.
https://bugzilla.mozilla.org/show_bug.cgi?id=1350433
2024-01-07 07:34:05 -06:00
Brian Smith 80207d6d3f Issue #2402 - importScripts should be governed by script-src in Web Workers.
https://bugzilla.mozilla.org/show_bug.cgi?id=1322111
Add TYPE_INTERNAL_WORKER_IMPORT_SCRIPTS content policy.
Update the Cache API schema to account for new nsIContentPolicy type.
2024-01-06 15:32:04 -06:00
Brian Smith f4a49d6063 Issue #2402 - Move WorkerPrivate::SetPrincipal() logic into a WorkerLoadInfo method.
https://bugzilla.mozilla.org/show_bug.cgi?id=1333573
Make worker SetPrincipalOnMainThread fallible.
https://bugzilla.mozilla.org/show_bug.cgi?id=1338523
2024-01-06 15:32:04 -06:00
Brian Smith 86d22c2135 Issue #2402 - Persist response headers for offlined service worker scripts.
https://bugzilla.mozilla.org/show_bug.cgi?id=1337543
2024-01-06 15:32:04 -06:00
Brian Smith 2b14856b57 Issue #2402 - Move code to fill InternalHeaders from an nsIChannel response into utility method.
https://bugzilla.mozilla.org/show_bug.cgi?id=1337543
2024-01-06 15:32:03 -06:00
Brian Smith dfbf2aef81 Issue #2402 - Apply CSP headers to ServiceWorker when loading offlined script.
https://bugzilla.mozilla.org/show_bug.cgi?id=1337543
2024-01-06 15:32:03 -06:00
Brian Smith db049fa0cd Issue #2402 - Factor out code to set WorkerPrivate CSP from headers.
https://bugzilla.mozilla.org/show_bug.cgi?id=1337543
2024-01-06 15:32:03 -06:00
Brian Smith 27f416684f Issue #2402 - Improve ServiceWorker asserts and verify load principal does not inherit CSP.
https://bugzilla.mozilla.org/show_bug.cgi?id=1337543
2024-01-06 15:32:03 -06:00
Brian Smith 6ad6336fc9 Issue #2402 - ServiceWorker should not inherit CSP from registration principal.
https://bugzilla.mozilla.org/show_bug.cgi?id=1337543
2024-01-06 15:32:03 -06:00
Brian Smith 0044a85a07 Issue #2402 - Sanitize the nsIPrincipal used to register a service worker to ensure CSP is not persisted.
https://bugzilla.mozilla.org/show_bug.cgi?id=1337543
2024-01-06 15:32:02 -06:00
Brian Smith ec5d6d9b5d Issue #2402 - Fix SecurityPolicyViolationEvent.violatedDirective.
https://bugzilla.mozilla.org/show_bug.cgi?id=1418243
2024-01-06 15:32:02 -06:00
Brian Smith d9bd92c926 Issue #2402 - Implement security policy violation event.
https://bugzilla.mozilla.org/show_bug.cgi?id=1037335
2024-01-06 15:32:02 -06:00
Brian Smith afeab7fe26 Issue #2402 - Remove child-src deprecation warning.
https://bugzilla.mozilla.org/show_bug.cgi?id=1486331
2024-01-06 15:32:02 -06:00
Brian Smith ba183ce002 Issue #2402 - Ignore empty CSP directives.
https://bugzilla.mozilla.org/show_bug.cgi?id=1439425
2024-01-06 15:32:02 -06:00
Moonchild e3520a9118 Merge pull request 'Implement events for Promise rejection' (#2436) from martok/UXP-contrib:mr/prom-rejection-event into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2436
2024-01-06 12:09:05 +00:00
Martok ae667c9a36 Issue #2435 - Re-Implement rejected Promises events according to spec
Own implementation; upstream gets several things wrong.
2024-01-05 17:19:51 +01:00
Martok 14826c037b Issue #2435 - Implement notifying of rejected promises
Based-on: m-c 1362272
2024-01-05 17:19:51 +01:00
Martok 6bc2cfe6c1 Issue #2435 - Add onrejectionhandled and onunhandledrejection EventHandler
Based-on: m-c 1362272
2024-01-05 17:19:51 +01:00
Martok ca2f56cd5c Issue #2435 - Declare PromiseRejectionEvent WebIDL
Based-on: m-c 1338059
2024-01-05 17:19:50 +01:00
Martok 0dde96ba82 Issue #2240 - Align Microtasks and promises scheduling with spec
Microtasks, resolved Promises and Observers are handled after the sync
task that caused them, in the order they were generated.
Also simplifies reentrancy handling.

Based-on: m-c 1193394
2024-01-05 17:19:42 +01:00
Martok 980956063f Issue #2435 - Make CycleCollectedJSContext.h dependency explicit 2024-01-05 17:12:34 +01:00
Moonchild babe1377c6 Merge pull request 'No longer force tcp send buffer size on HTTP/2 uploads > 128KB' (#2431) from martok/UXP-contrib:2430-http2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2431
Reviewed-by: Moonchild <moonchild@palemoon.org>
2024-01-03 21:40:12 +00:00
Martok 5e53809bb7 Issue #2430 - No longer force tcp send buffer size on HTTP/2 uploads > 128KB
With connection-level and stream-level flow control, it is not needed.
On fast connections with large-ish BWP, this can improve upload speed by > 5x
2024-01-02 01:41:02 +01:00
Martok c92b079235 Issue #2430 - Allow network.http.spdy.chunk-size to be larger than 16K
According to https://datatracker.ietf.org/doc/html/rfc7540#section-4.2    The size of a frame payload is limited by the maximum size that a
    receiver advertises in the SETTINGS_MAX_FRAME_SIZE setting. This
    setting can have any value between 2^14 (16,384) and 2^24-1
    (16,777,215) octets, inclusive.
2024-01-02 01:41:02 +01:00
Moonchild 9e3d5c38e8 Bump platform version 2024-01-01 18:35:14 +01:00
Moonchild 13476d771e Merge pull request 'No issue - Allow embedded search module in HYPE_ICEDOVE project' (#2433) from g4jc/UXP-contrib:hype_ice into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2433
2024-01-01 14:35:01 +00:00
Moonchild 1c298ec2a6 Merge pull request 'Fix debug build assertions' (#2432) from g4jc/UXP-contrib:2410_debug into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2432
2024-01-01 14:34:29 +00:00
Gaming4JC bf94026f51 No issue - Allow embedded search module in HYPE_ICEDOVE project 2023-12-30 22:50:55 -05:00
Gaming4JC 06714827ac Debug: Remove assertion for nsDOMNavigationTiming.
As mentioned in issue #2410, this aggressive assertion can cause an uneeded crash during debug build runs.
2023-12-30 22:35:42 -05:00
Gaming4JC be7d317f21 Issue #1442 Follow-up: Fix debug assertion in JSFun
Change in d5020b69bd introduced a debug build crash, this fixes the crash by properly porting the changes to an assertion as mentioned in issue #2410.
2023-12-30 22:35:38 -05:00
Moonchild bfe71e3271 No issue - Tighten default script time-outs and expose stop_slow_scripts
The timings here are still slightly more lenient than the hard-coded
fallback timings in code (10/20 for content/chrome respectively) but
we definitely should not need very long time-outs by default on Chrome
scripts anymore.

Also exposes dom.always_stop_slow_scripts to about:config since we're
making it also UI-configurable in Pale Moon and it just makes sense not
to hide this option.
2023-12-29 22:56:38 +01:00
Moonchild c4354d3775 Issue #2407 - Rename full-screen-api.ignore-widgets
Renames to full-screen-api.restrict-to-window and clarifies comments for
its intended use.
Resolves #2407.
2023-12-29 13:53:16 +01:00
Moonchild 22def28c94 Merge pull request 'No Issue - Fix syntax in js/src/jsapi-tests/moz.build' (#2411) from mrnhmath/UXP:jstests-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2411
2023-12-29 10:54:49 +00:00
Matheus Marinho d79038b500 No Issue - Fix syntax in js/src/jsapi-tests/moz.build 2023-12-28 15:01:38 -03:00
Moonchild 9a3ac861de Revert "[XPCOM] Compare return value of readlink in nsLocalFileUnix::GetNativeTarget"
This reverts commit 66b07ce699.
2023-12-21 14:04:34 +01:00
Kershaw Chang 6929ce1f87 Bug 1736385 - Make sure thread is alive in CacheIOThread::ThreadFunc 2023-12-20 21:52:13 +01:00
Moonchild eaaa7ec3ab [dom] Better handling of aborted websocket workers.
Catch the case where we are in worker-shutdown but are still connecting
and make filing and closing connections a bit more robust with a RefPtr.
2023-12-20 21:41:00 +01:00
Barret Rennie 66b07ce699 [XPCOM] Compare return value of readlink in nsLocalFileUnix::GetNativeTarget 2023-12-20 18:33:23 +01:00
Moonchild dda1cf6f26 [layout] Always check against fragment length in nsTextFrame 2023-12-20 13:19:00 +01:00
Moonchild 779fc8abf3 Bug 1868901 2023-12-20 07:34:04 +01:00
Jeremy Andrews 87b346631f No Issue - Add full-screen-api.ignore-widgets pref to about:config.
This was already in the codebase, but not exposed by default. Mozilla exposed
the pref to fulfill user requests in Firefox 59. Forum users requested the same feaure of pseudo-fullscreen windows. Seems minor enough not to be worth
creating an issue for, since users can already access this by creating a bool
pref.

Ref: BZ 1422535
2023-12-19 00:23:03 -06:00
Moonchild b6121d3525 Merge pull request 'Add a pref to disable CSP reporting.' (#2406) from 2405 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2406
2023-12-18 11:56:45 +00:00
Moonchild 49a6a85969 Issue #2405 - Add a pref to disable CSP reporting.
Resolves #2405
2023-12-17 22:56:04 +01:00
Moonchild ce717e2633 No issue - Allow redirects for requests that require preflight
Spec update, see Bug 1312864
2023-12-12 12:38:45 +01:00
Moonchild b2399c9b76 [DOM] Fix double-free crash in MessagePort.cpp 2023-12-10 17:02:56 +01:00
Moonchild dd2f013047 Merge pull request 'Initial XULRunner bringup' (#2389) from mrnhmath/UXP:xulrunner-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2389
2023-12-03 23:54:21 +00:00
mrnhmath bc6de3eb9d Merge branch 'master' into xulrunner-work 2023-12-03 16:46:50 +00:00
Moonchild 27c8f022f1 Merge pull request 'Update ffvpx lib to 6.0.1' (#2398) from trav90/UXP-contrib:ffvpx-601 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2398
2023-12-02 07:46:08 +00:00
Moonchild 7ee0259133 Merge pull request 'Fix LDAP on Linux.' (#2400) from athenian200/UXP:ldap-fix-extern-c into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2400
2023-12-02 07:43:46 +00:00
Jeremy Andrews c84c6189cf Issue #2399 - Fix LDAP on Linux. 2023-12-01 19:01:18 -06:00
trav90 1f7023294a Issue #2317 - Follow-up - Update ffvpx to 6.0.1 2023-12-01 16:12:00 -06:00
Moonchild 041e7e7e47 Merge pull request 'Fix click handling.' (#2397) from toplevel-click-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2397
2023-12-01 21:50:24 +00:00
Moonchild 4b1b9cac33 Issue #2362 - Fix click handling according to the spec.
This removes some hackery surrounding preventing content clicks, and in
general handles auxclick as it should, firing that event on secondary
buttons (wheel/right on default setup for right-handed mouse).
2023-11-30 18:56:26 +01:00
mrnhmath f9898e24e9 Merge branch 'master' into xulrunner-work 2023-11-30 16:39:41 +00:00
Matheus Marinho b6bb2995b1 Issue #2391 - Follow-up: Don't discriminate against Darwin for the stub name 2023-11-30 13:35:23 -03:00
Moonchild 37e49bec28 Merge pull request 'Add general Big Endian ICU data file and initial Mac PowerPC support.' (#2392) from dbsoft/UXP:macppc-rebased3 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2392
2023-11-30 08:54:40 +00:00
Moonchild 0c392684fa Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2023-11-30 00:03:10 +01:00
Moonchild 244c1e9ad1 Revert "No issue - Stop supporting data: scheme in SVG <use> elements."
This reverts commit 7e60482d80.

Of course it's not that simple. In Mozilla land they are also running
into issues but of a different variety and it was backed out there also.
2023-11-29 23:42:28 +01:00
Moonchild f85cb8d2f7 Merge pull request 'Fix crashes when canceling dynamic imports.' (#2395) from dbsoft/UXP:dmi-fix-2387 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2395
2023-11-29 22:25:52 +00:00
Moonchild c29be84c26 Merge pull request 'Add support for texture recycling' (#2394) from trav90/UXP-contrib:Issue2393 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2394
2023-11-29 20:32:38 +00:00
trav90 425914e43d Issue #2393 - Part 8 - Fix TextureClient-creating functions 2023-11-29 10:23:04 -06:00
trav90 6bfef39da0 Issue #2393 - Part 7 - Add missing #include to D3D11YCbCrImage.cpp 2023-11-29 07:56:15 -06:00
trav90 a7d9607b7a Issue #2393 - Part 6 - Remove stray "+". 2023-11-28 14:54:12 -06:00
trav90 5dfa048f04 Issue #2393 - Part 5 - Extract D3D11MTAutoEnter and reuse 2023-11-28 14:44:29 -06:00
trav90 3f497c7991 Issue #2393 - Part 4 - Reduce VideoQueue size for GPU based images 2023-11-28 14:42:53 -06:00
trav90 44b5594756 Issue #2393 - Part 3 - Remove extra copy of YUV buffer on Windows 2023-11-28 14:41:34 -06:00
trav90 d7baf6fc35 Issue #2393 - Part 2 - Add D3D11YCbCrImage type and related methods
Will allow to directly upload a YUV420 buffer into a D3D11 texture.
2023-11-28 14:40:11 -06:00
trav90 907ff19190 Issue #2393 - Part 1 - Allow client side uploads on Intel hardware 2023-11-28 14:38:32 -06:00
Brian Smith 2aee4a7692 Issue #2387 - Remove a missed AddRef() which could cause leaks.
Update comments explaining how the reference counting works.
2023-11-28 11:55:03 -06:00
Brian Smith 65d318f307 Issue #2387 - Collection of fixes related to a crash while canceling a dynamic import.
Add AddRef/Release hooks for embedding's script or module private value and set this script source object where appropriate.
https://bugzilla.mozilla.org/show_bug.cgi?id=1519140 Partial, no Value passing changes.
Clear the list of dynamic import requests after cancelling them in ScriptLoader::ParsingComplete as we do for other requests.
https://bugzilla.mozilla.org/show_bug.cgi?id=1291535
ScriptLoader::OnStreamComplete never returns a failure.
https://bugzilla.mozilla.org/show_bug.cgi?id=1627275
Also cancel the correct kind of parser for Modules.
2023-11-27 23:30:25 -06:00
mrnhmath 9a99a6ce3c Merge branch 'master' into xulrunner-work 2023-11-27 00:43:42 +00:00
Matheus Marinho 58ddf7abf4 Issue #2391 - Part 12: Use XML-style license block in simple.xul 2023-11-26 21:40:55 -03:00
Matheus Marinho a803a6c13b Issue #2391 - Part 11: Remove obsolete define for older MSVC
Also cleans up trailing spaces.
2023-11-25 18:50:53 -03:00
Matheus Marinho 77c99edbd8 Issue #2391 - Part 10: Update README 2023-11-25 18:50:46 -03:00
Matheus Marinho 8efcea0172 Issue #2391 - Part 9: Remove resource edit tool
Broken and largely unused outside B2G and Fennec
2023-11-25 18:50:36 -03:00
Matheus Marinho 9c121d2651 Issue #2391 - Part 8: Remove deb packaging target 2023-11-25 18:50:28 -03:00
Matheus Marinho 06d4d4f9c5 Issue #2391 - Part 7: Restore Windows installer folder 2023-11-25 18:50:19 -03:00
Matheus Marinho bcbfdfa370 Issue #2391 - Part 6: Use platform defaults 2023-11-25 18:50:13 -03:00
Matheus Marinho cf26dcd241 Issue #2391 - Part 5: Restore xulrunner-stub name overriding 2023-11-25 18:50:06 -03:00
Matheus Marinho 891b4cf513 Issue #2391 - Part 4: Restore building of stub, examples and (the bits of) installer 2023-11-25 18:49:55 -03:00
Matheus Marinho 23dc95f80a Issue #2391 - Part 3: Restore build.mk 2023-11-25 18:49:38 -03:00
Matheus Marinho 85fc119179 Issue #2391 - Part 2: Return the correct path for xulrunner 2023-11-25 18:49:31 -03:00
Matheus Marinho 169518553e Issue #2391 - Part 1: Revert XULRunner removal
This reverts commits 0f52679d2e and 4a7af0d90f.
Also accounts for non-comm building and comment changes.
2023-11-25 18:49:17 -03:00
Moonchild 6cd8c381b5 Issue #2381 - Fix error() mistake. 2023-11-25 17:16:28 +01:00
Moonchild 74266b6c30 Merge pull request 'Implement write-only version of Navigator.clipboard' (#2386) from 2361-nav-clipboard-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2386
2023-11-23 17:30:40 +00:00
Moonchild 231a8f6989 Merge branch 'master' into 2361-nav-clipboard-work
# Conflicts:
#	modules/libpref/init/all.js
2023-11-23 18:29:27 +01:00
Moonchild 6180288a7a [WebGL] Flip the validation state for gl_KHR_no_validation.
The original state was inverted due to confusion due to a double
negative (not:no_error).
This validation should only be enabled on Windows (for now).
Future tracking and discussion in BZ 1862039
2023-11-23 18:05:58 +01:00
Moonchild 9ed96de5a6 [DOM] Improve MessagePort state machine. 2023-11-23 17:32:44 +01:00
Moonchild a81085e7b7 [Network] Fix relative URL path starting with multiple slashes 2023-11-23 16:08:26 +01:00
Moonchild 88a656ec70 [DOM] Check if rootDoc is secure context for web compat 2023-11-23 14:44:33 +01:00
Moonchild e953529b5d [WebGL] Turn on more validation/error checking in webgl (when not on Win) 2023-11-23 14:05:37 +01:00
Brian Smith 7ffbfde627 Issue #2051 - Part 5 - Identify intel32 and powerpc platform types for Mac packaging.
Fix warnings building on MacOS 10.5 PPC.
2023-11-23 01:42:12 -06:00
Brian Smith 9dfc190714 Issue #2378 & #2051 - Part 4 - Remove unused moz_xposix_memalign().
Also switch to using HAVE_POSIX_MEMALIGN for Mac PowerPC tests.
When there is no posix_memalign() on Mac, just call malloc().
2023-11-23 01:42:12 -06:00
Brian Smith af52fd45f1 Issue #2051 - Part 3 - Use pre-built big-endian ICU data file for big-endian builds.
https://bugzilla.mozilla.org/show_bug.cgi?id=1264836
Disable unused ICU code during build.
2023-11-23 01:42:12 -06:00
Brian Smith 4f010e9218 Issue #2051 - Part 2 - Fix building with GCC 12 and on newer versions of MacOS.
AvailabilityMacros.h needed to be included manually, or it builds old font code.
2023-11-23 01:42:11 -06:00
Brian Smith 8cffdc299f Issue #2051 - Part 1 - Initial changes to get UXP building on Mac 10.5 PowerPC.
Additionally update the version detection back to 10.5 and forward to 14.
Fill some parts with code from TenFourFox when changes are not obvious.
Using gcc 7 from MacPorts, the gcc 4.8 TenFourFox used is too old.
Don't use GNU as on MacPPC it is too old.
Fix struct/class sizes by limiting bool size.
2023-11-23 01:42:11 -06:00
Moonchild 02e572c000 Issue #2361 - Enable Navigator.clipboard by default. 2023-11-19 16:22:59 +01:00
Gerald Squelart 3a092d3ae6 Bug 1332825 - Use move semantics in MozPromise::All() and AllPromiseHolder.
MozPromise::All sets up 'Then' lambdas on all sub-promises, each one
taking the resolve/reject object by value. Since this value will not be
used again in the lambda, it is safe to Move it, and from there
MozPromiseHolder::Resolve/Reject can also Move it again into the holder
storage, potentially saving two copies per Resolve/Reject. Also, once
all sub-promises have been resolved, the resolve-values can be Move'd
into the joining promise's Resolve function.
2023-11-19 16:19:11 +01:00
Moonchild 15d1f659a4 Issue #2249 - Stop advertising FIPS being a thing in the device manager.
If it can't be enabled, don't show the button at all
(don't just disable it)
2023-11-16 21:15:19 +01:00
Moonchild 272b8e43ac Issue #2361 - Remove clipboard-read code
Web content should never read the clipboard; extensions have other APIs
they can use through XPCOM so do not need to go through
Navigator.Clipboard, removing the only reason why it would even be here.
2023-11-16 01:34:40 +01:00
Moonchild 1ea0595e59 Issue #2361 - Base implementation of Navigator.Clipboard
This hard-refuses any reads from clipboard with a promise rejection.
2023-11-15 21:58:44 +01:00
Moonchild a14d588673 Merge pull request 'Remove MOZ_TREE_FREETYPE and freetype2 from tree.' (#2383) from athenian200/UXP:remove_tree_freetype into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2383
2023-11-15 14:10:20 +00:00
Moonchild fd81fe325f Merge pull request 'Switch to NSS mozpkix and update our cert signature handling' (#2384) from mozpkix-PSM-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2384
2023-11-15 14:05:14 +00:00
Moonchild baa57dd092 Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2023-11-15 12:19:49 +01:00
Moonchild 465ae3c5e5 Revert "No Issue - add mutex in EventSource"
This reverts commit e4643f5bed.

Apparently causes deadlocks in Linux.
2023-11-15 12:19:13 +01:00
Moonchild fad42bb2d7 Revert "No Issue - add mutex in EventSource"
This reverts commit e4643f5bed.

Apparently causes deadlocks in Linux.
2023-11-15 11:34:15 +01:00
Jeremy Andrews d8bc8410b0 Issue #1312 - Switch to X-Mailer, and pull from AppInfo instead of HTTP headers.
I've been thinking about this issue, and ultimately it's just correcting a
mistake Mozilla made that no consumer of UXP's MailNews ever complained about
before, so I think it's reasonable to fix the default behavior first, and then
let others complain before I start worrying about prefs or ifdefs. One thing
at a time.
2023-11-14 23:47:34 -06:00
Moonchild 0b2e876d7d Issue #2366 - Part 5: Update mailnews core to use NSS mozpkix. 2023-11-14 17:49:28 +01:00
Moonchild 8f80ba860d Issue #2366 - Part 4: Remove old code in security/pkix 2023-11-14 17:43:13 +01:00
Moonchild cb509b2318 Issue #2366 - Part 3: Support RSA-PSS signatures on certificates 2023-11-14 17:36:42 +01:00
Moonchild c1e972f199 Issue #2366 - Part 2: PSM changes for pkix signature verification changes.
NSS 3.77 changed how mozilla::pkix verifies signatures.
This patch makes the corresponding changes in PSM.
2023-11-14 17:35:44 +01:00
Moonchild d8e44207ed Issue #2366 - Part 1: Switch PKIX handling over to NSS mozpkix 2023-11-14 17:28:39 +01:00
Jeremy Andrews acb1d52fe4 Issue #2382 - Move font-related stuff back to old-configure.
It's really easy to overlook configure options in moz.configure,
since most of what we work with is old-configure. Might as well move it
back in here so we can keep track more easily.
2023-11-13 20:59:54 -06:00
Jeremy Andrews 2fa3a6935e Issue #2382 - Remove remnants of MOZ_TREE_FREETYPE. 2023-11-13 20:59:44 -06:00
Jeremy Andrews 8d9c0d1209 Issue #2382 - Remove in-tree freetype2 library. 2023-11-13 20:59:33 -06:00
Jeremy Andrews 1d709ef0af Issue #2382 - Don't build dummy freetype2 library.
We don't actually build this, the build system just generates the
ghost of a static lib that pulls in OS libs. Someone made a mistake
at Mozilla years ago that they have not noticed to this day. They
only ever built freetype2 on Android, GTK always used the system FT2.
2023-11-13 20:59:17 -06:00
Moonchild f1f7466a72 No issue - Stop supporting data: scheme in SVG <use> elements. 2023-11-13 19:28:44 +01:00
Moonchild a36a691826 Merge pull request 'Use elfdump on SunOS instead of readelf.' (#2380) from athenian200/UXP:sunos-elfdump-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2380
2023-11-13 11:46:33 +00:00
Moonchild 9816215ea7 Issue #2381 - Remove system-nspr/nss leftovers
Resolves #2381
2023-11-13 00:26:23 +01:00
Moonchild 294698153c Issue #1053 - Remove Android block in security/moz.build
Just ran across this, and thought I'd kick it off while there.
2023-11-13 00:02:06 +01:00
Moonchild db4ddc5f68 Merge pull request 'Replace MOZ_FALLTHROUGH with [[fallthrough]]' (#2379) from 2343-fallthrough-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2379
2023-11-12 20:30:17 +00:00
Moonchild 9c75c8235e Issue #2343 - Fix typo 2023-11-12 18:07:44 +01:00
Moonchild d854696ec9 Issue #2343 - Replace missed occurrences in .mm files 2023-11-12 17:59:41 +01:00
athenian200 98f59fb96c Issue #1824 - Use elfdump on SunOS instead of readelf.
GNU readelf isn't available as consistently as I assumed across SunOS,
and it can be named different things on different illumos distros (some call
it readelf, others call it greadelf, etc), so it's safer to use elfdump.
This is a fairly easy fix, just kind of annoying.
2023-11-11 10:39:42 -06:00
Moonchild 734f0957fb Issue #2343 - replace MOZ_FALLTHROUGH with [[fallthrough]]
Basically a S&R. Removed the macro and adjusts IDL codegen accordingly.
2023-11-11 14:27:03 +01:00
Moonchild c789882a29 Merge pull request 'Replace MOZ_MUST_USE with [[nodiscard]]' (#2375) from 2342-nodiscard-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2375
2023-11-11 01:55:07 +00:00
Moonchild f9ad625822 Issue #2342 - Fix attribute order in misc files (found by clang builds) 2023-11-10 23:34:34 +01:00
Moonchild c43a68113f Issue #2342 - Fix attribute order in nsIPipe.idl 2023-11-10 13:50:37 +01:00
Moonchild e869b44d0f Issue #2342 - Don't use [[nodiscard]] in C mode in mozalloc.
Since both gcc and clang support the internal __attribute__ form, and
this is guarded by HAVE_POSIX_MEMALIGN which is not a Windows thing,
it's safe to just use that attribute style unconditionally.
2023-11-10 10:53:47 +01:00
Moonchild 93eee35e84 Merge pull request 'Fix Linux and Oracle Solaris builds after recent changes.' (#2377) from dbsoft/UXP:sedfix-2376 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2377
2023-11-09 12:54:20 +00:00
Moonchild ad134c48d6 Merge pull request 'Remove --enable-stdcxx-compat option.' (#2374) from athenian200/UXP:old-stdcxx-compat-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2374
2023-11-09 12:52:52 +00:00
Moonchild e4643f5bed No Issue - add mutex in EventSource
Potentially avoids a gc crash when load is high.
2023-11-09 12:25:41 +01:00
Brian Smith bcc531f53b Issue #2281 - Follow-up: Don't include headers in extern "C".
In C++17 mode using GCC 13 on Linux this is causing C linkage
to be applied to the throw_gcc.h functions instead of C++.
2023-11-08 23:24:46 -06:00
Brian Smith 007b998b23 Issue #2376 - Split NSPR sed into BSD and GNU.
Mac and the BSDs use [^[:space:]].
Use GNU sed on other platforms with \S.
2023-11-08 19:20:13 -06:00
Moonchild 2637007c78 No Issue - Adjust configure to deal with FreeBSD regex breakage for \S 2023-11-08 15:34:07 +01:00
Moonchild 3dfad03649 Issue #2342: Remove MOZ_MUST_USE macro 2023-11-08 13:50:54 +01:00
Moonchild 190e7bd30a Issue #2342: Use [[nodiscard]] in /mfbt 2023-11-08 13:50:33 +01:00
Moonchild 292ece5fde Issue #2342: Use [[nodiscard]] in /xpcom and xpidl parser 2023-11-08 13:50:12 +01:00
Moonchild ccc8c3b988 Issue #2342: Use [[nodiscard]] in /uriloader /widget
Also a few misc low-volume places.
2023-11-08 13:49:51 +01:00
Moonchild d53992cc12 Issue #2342: Use [[nodiscard]] in /netwerk 2023-11-08 13:49:30 +01:00
Moonchild 6f7a751520 Issue #2342: Use [[nodiscard]] in /memory and remove Sun Studio hack 2023-11-08 13:49:08 +01:00
Moonchild 037fb1d123 Issue #2342: Use [[nodiscard]] in /media 2023-11-08 13:48:43 +01:00
Moonchild 706d07b3d5 Issue #2342: Use [[nodiscard]] in /js 2023-11-08 13:48:12 +01:00
Moonchild eb7be8c637 Issue #2342: Use [[nodiscard]] in IPDL generation and fix warnings
DOM plugin code had two warning in IPC caught by [[nodiscard]], these
were fixed in one go.
2023-11-08 13:47:43 +01:00
Moonchild 080c8cc134 Issue #2342: Use [[nodiscard]] in /ipc 2023-11-08 13:47:10 +01:00
Moonchild 8e81d25f5d Issue #2342: Use [[nodiscard]] in /hal /image and /intl 2023-11-08 13:46:01 +01:00
Moonchild 0cfefdfd42 Issue #2342: Use [[nodiscard]] in /accessible and /caps 2023-11-08 13:45:38 +01:00
Moonchild ad321f50d9 Issue #2342: Use [[nodiscard]] in /gfx and /layout 2023-11-08 13:45:15 +01:00
Moonchild cd8c5dae0c Issue #2342: Use [[nodiscard]] in /dom 2023-11-08 13:44:49 +01:00
Moonchild 7f99af4101 Merge pull request 'Switch our tree to building with c++17' (#2372) from 2281-c++17-buildwork into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2372
2023-11-08 12:33:50 +00:00
Moonchild e6f9b29951 Issue #2281 - Exclude throw wrapping on modern libcpp.
As discussed.
2023-11-07 19:54:01 +01:00
Moonchild 7181c37a39 Merge pull request 'Clean up GMP decryptor code' (#2368) from GMPdecryptor-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2368
2023-11-07 01:40:09 +00:00
Jeremy Andrews 6e0ec4b5bc Issue #2373 - Remove all remaining traces of CHECK_STDCXX.
As far as I can tell, all this code is unused in our platform. GCC older than
7 didn't have the macro _GLIBC_RELEASE. As far as I can tell, using newer GCC
means you don't have to check for incompatible symbol versions in the build
system, not even if you are compiling with clang against GCC's libc.
2023-11-05 20:54:31 -06:00
Jeremy Andrews ab51260232 Issue #2373 - Remove obsolete GLIBCXX version checks.
These version checks were only used with --enable-stdcxx-compat,
which as far as I can tell no UXP application has ever relied on.
The only use case seems to have been building with clang against an
old version of GCC's libc that predates C++11, let alone C++17.
2023-11-05 20:54:20 -06:00
Jeremy Andrews 34cadf6068 Issue #2373 - Remove --enable-stdcxx-compat option. 2023-11-05 20:54:03 -06:00
Moonchild 087aa28bc7 Issue #2281 - Patch out google protobuf inheritance from std::iterator
Updating Iterators to be compatible with C++17

The std::iterator class is being deprecated on MSVC++,
and currently if the compilation flag /std:c++latest
is used a warning is issued in this regard if any
iterators use the class as a base class.

If an external source file being compiled includes
the repeated_field.h header, the iterator clases
RepeatedPtrIterator and RepeatedPtrOverPtrsIterator
trigger the warning.

This change solves the warning and should avoid it in
the future when the default is to remove the class.

See https://github.com/protocolbuffers/protobuf/commit/2949ebd842e25c1bcb8b63b377a454a0887ea5a2
2023-11-05 20:05:27 +01:00
Moonchild d0d212143a Merge pull request 'No Issue - Structured Clone Spec Compliance and Bugfix' (#2365) from Basilisk-Dev/UXP-contrib:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2365
2023-11-05 12:38:54 +00:00
Moonchild 05abfd8200 Issue #2281 - Remove the use of non-standard namespace std::tr1 in
Google's WebRTC gtest code
2023-11-05 13:17:15 +01:00
Moonchild a8a9d2cbd4 Issue #2281 - Force clobber
Without a clobber, mozconfigure doesn't properly pick up the /std:c++17
or -std=gnu++17 compiler switches needed to put them into C++17 mode.
2023-11-05 13:16:51 +01:00
Moonchild c87116b332 Issue #2281 - Add some deduction guides for class template arguments.
This is necessary if we want to start using Span() constructors
instead of the MakeSpan() kludge.
2023-11-05 13:16:39 +01:00
Moonchild e29ae4e08c Issue #2281 - Default to C++17 when building.
Configure the toolchain to default to C++17 language standard with
optional gnu extensions (if on GCC)
2023-11-05 13:16:24 +01:00
Moonchild 865d49bdc1 Issue #2281 - Avoid class-static constexpr in TypedArrayObject 2023-11-05 13:16:08 +01:00
Moonchild 9074b8d943 Issue #2281 - Build LZ4 as C instead of including it as C++. 2023-11-05 13:15:56 +01:00
Moonchild 01c37ba21f Issue #2281 - The 'register' storage class is no longer a thing in c++17 2023-11-05 13:15:39 +01:00
Moonchild b886cfadff Issue #2281 - Mark mozalloc new() as noexcept to aligh with what the VC
runtime expects.

Currently spams warnings but may actually error out if not fixed, or
result in undefined behaviour if mismatching signatures are treated as
redeclarations with different exception specifications.
2023-11-05 13:15:26 +01:00
Moonchild 73169b6863 Issue #2281 - Replace std::iterator inheritance with iterator traits
definitions (as required by C++17).
2023-11-05 13:15:08 +01:00
Moonchild 7a9e29d580 Merge pull request 'Various SunOS Fixes, rebased on current master.' (#2370) from athenian200/UXP:sunos_update_rebased into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2370
2023-11-04 21:48:02 +00:00
athenian200 98cb21f1bd Issue #1824 - Support SunOS Linker mapfiles.
Generating OS-appropriate mapfiles from a provided SYMBOL_FILE is
apparently required to work with newer ffvpx. Nothing else in our
codebase actually seemed to require it. Also seems to reduce the amount
of console spam I see relating to symbol visibility during the build
process, and I think it even makes libxul.so link a bit faster.

Signed-off-by: athenian200 <athenian200@outlook.com>
2023-11-04 13:36:18 -05:00
athenian200 8a11926150 Issue #1824 - Move to GCC 10.
It seems to work, but it is a lot slower than compiling with GCC 7.

Signed-off-by: athenian200 <athenian200@outlook.com>
2023-11-04 13:35:45 -05:00
Moonchild 6652764751 Issue #2346 - Remove now-unused DecryptorId 2023-11-03 21:50:37 +01:00
Moonchild d16bc65a16 Issue #2346 - Back-factor GetDecryptingGMPVideoDecoder to GetGMPVideoDecoder
The latter was still there as an alias for webRTC tests, making this
a bit simpler because the interface was still there.
2023-11-03 16:48:15 +01:00
Moonchild dc93e309e2 Issue #2346 - Cut out GMPDecryptor code 2023-11-03 16:26:01 +01:00
Moonchild 2132ea4a22 Merge pull request 'Improve boxshadow rendering' (#2367) from boxshadow-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2367
2023-11-02 00:27:19 +00:00
Moonchild 33bff10b1c [devtools] Make ECMA v6 the default for devtools pretty-printing. 2023-11-01 14:27:24 +01:00
Moonchild 9493e8c3de Issue #2364 - Limit the growth of scaling for animated nsDisplayTransform
in the fallback case.

This ensures we don't scale the underlying size of the layer beyond what
is close to the current display size. When box shadows get much larger
than this, they start taking so much time to render that successive
frames grow in scale too fast for any inter-frame reuse to be possible.

With this, we avoid that and no longer get crushed by re-rendering
gigantic box shadows every single frame.

See BZ 1383825
2023-11-01 10:32:04 +01:00
Moonchild 7631297112 [gfx] Add Min() and Max() convenience functions for 2d point types.
This will return (min(x1,x2), min(y1,y2)) and equivalent max from 2
passed-in (x1,y1) (x2,y2) points
2023-11-01 10:31:19 +01:00
Moonchild 5e381b021c [gfx] Fix a bug in SizeTyped templating
A second template parameter 'F' was previously added to SizeTyped, but
was not correspondingly added to the argument passed for the 'Sub'
parameter of BaseSize.
2023-11-01 10:31:18 +01:00
Moonchild 5c9a1efa7c Issue #2364 - Only use HWA AlphaBoxBlur when targets are large enough.
There's considerable cost associated with creating HWA draw targets
which would negate and regress the performance won by it if used for
too small targets (like small spans of text).
This only uses HWA if >= 8K SurfaceAllocationSize to balance HWA draw
target cost with box blur cost.
2023-11-01 10:31:18 +01:00
Moonchild 93ddeb613e Issue #2364 - Optimize the software-based box blur implementation. 2023-11-01 10:31:17 +01:00
Moonchild 2fae5d3e6b Issue #2364 - use DrawTarget::DrawSurfaceWithShadow to render box
shadows on platforms that accelerate it.
2023-11-01 10:31:16 +01:00
Moonchild 5fd365cb76 Issue #2364 - Re-factor AlphaBoxBlur
Only blur one quadrant of a box-shadow and mirror it to the other quadrants.
This applies only if the corners are symmetrical (square corners or equal
corner radii) otherwise we'll fall back to the old method.
2023-11-01 10:31:16 +01:00
Moonchild d7f8e56f04 Merge pull request 'Update ffvpx to version 6.0' (#2363) from trav90/UXP-contrib:ffvpx60-rebased into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2363
2023-11-01 09:27:31 +00:00
Basilisk-Dev fc1697622c No Issue - StructuredClone serialize and deserialize should treat back reference consistently
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1538622
2023-10-30 15:38:40 -04:00
Basilisk-Dev ecb8ae6aba No issue - Structured clone algorithm doesn't serialize Array Length contrary to HTML spec, resulting in truncation of trailing sparse arrays like [1,2,3,,]
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1476955
2023-10-30 15:36:44 -04:00
trav90 6ee56b0a60 Issue #2317 - Part 9 - "send" before "receive"-ing when decoding audio using FFmpeg
This is what the documentation says we should be doing. We miss decoding a packet otherwise.
2023-10-27 10:16:08 -05:00
trav90 165ef56547 Issue #2317 - Part 8 - Update compiler flags used for ffvpx 2023-10-27 10:15:42 -05:00
trav90 9d333be11b Issue #2317 - Part 7 - Don't use -ffreestanding flag when building with clang
This was added by Mozilla as a workaround for an automated build system (one that they no longer use) for building on Linux with clang (which is not our target compiler for that platform). No need for us to keep this workaround.
2023-10-27 10:15:10 -05:00
trav90 aff6fbf36c Issue #2317 - Part 6 - Remove old workaround for clang-cl
This was added back in 2016 to work around issues with clang-cl. Shouldn't be needed anymore.
2023-10-27 10:14:45 -05:00
trav90 ef8447ad4b Issue #2317 - Part 5 - Build ffvpx against the FFmpeg 6.0 headers 2023-10-27 10:14:24 -05:00
trav90 21face45d3 Issue #2317 - Part 4 - Regenerate config* files for ffvpx 2023-10-27 10:14:02 -05:00
trav90 ff4d550c80 Issue #2317 - Part 3 - Update symbols list for FFmpeg 6.0 2023-10-27 10:13:46 -05:00
trav90 45b9cfbe93 Issue #2317 - Part 2b - Clip constants used with shift instructions within inline assembly
Cherry-pick of upstream commit: https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/effadce6c756247ea8bae32dc13bb3e6f464f0eb
2023-10-27 10:13:23 -05:00
trav90 4321dbddcc Issue #2317 - Part 2a - Update changes.patch for ffvpx 2023-10-27 10:13:06 -05:00
trav90 3a67a9510b Issue #2317 - Part 2 - Import FFmpeg 6.0 source files for ffvpx 2023-10-27 10:12:44 -05:00
trav90 ea464a764f Issue #2317 - Part 1 - Update and cleanup ffvpx documentation in preparation for lib update. 2023-10-27 10:11:11 -05:00
Moonchild 72a2a5f2bd [DOM] For now, use C++11 static_asserts only.
Single-param static_assert is C++17 or later.
Follow-up to 3d92b82125
2023-10-27 14:18:57 +02:00
Moonchild 0b70c77657 Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2023-10-26 22:46:45 +02:00
Moonchild ca04aefa67 Issue #35 - Follow-up: undo locale changes so they aren't pre-processed.
Pre-processing loses our localization notes and licensing headers for
l10n which is not a good thing. It's not a big deal having a few unused
strings in these files in the resulting locales.
2023-10-26 22:45:36 +02:00
Moonchild 89dec27643 Merge pull request 'Restore ARM32 buildability.' (#2360) from dbsoft/UXP:arm-2354 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2360
2023-10-26 12:10:38 +00:00
Moonchild 53a8a408f2 Bump Goanna version to 6.5.0 2023-10-25 22:51:24 +02:00
Moonchild a653f74576 Merge pull request 'No Issue - Implement crypto.randomUUID' (#2359) from Basilisk-Dev/UXP-contrib:crypto-randomuuid into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2359
2023-10-25 20:48:01 +00:00
Brian Smith 5fa394b169 Issue #2354 - Restore ARM32 buildability on Linux.
Fix ION breakages due to BigInt changes.
Fix breakages from libjpeg, libyuv and libvpx upgrades.
Restore ARM(32/64) NEON FPU support in libyuv.
2023-10-25 19:01:38 +00:00
Basilisk-Dev 3d92b82125 No Issue - Implement crypto.randomUUID
We already have code in the platform to generate random UUIDs. This simply exposes that functionality via the crypto.UUID function
2023-10-25 13:39:53 -04:00
Moonchild ccb41c645c [WebRTC] Give ::Terminated() the same treatment as ::Close_g 2023-10-25 18:30:38 +02:00
Moonchild 98c3aa5743 [XPCOM] Add several app/msi file types to the executables list (Win).
This errs on the side of caution for what are installer packages, but
people getting conned into thinking this is safe is a bit too common.
They are akin in danger to .exe files in that respect as it installs
software, and should be treated similarly, so, warn about the potential
danger.
2023-10-25 18:20:53 +02:00
Moonchild 2c2ddd98d2 [DOM] Drop mWrappedRunnable early in workers.
This should prevent some intermittent crashes.
2023-10-25 18:04:26 +02:00
Moonchild b15a36452d [WebGL] Add preffed limit to WebGL vertCount
Defaults to 30M, working around driver bugs (looking at you, Mesa)
2023-10-25 07:53:57 +02:00
Moonchild a71597905c [widget] Change RegisterDragDrop to be called on idle.
This is a low-priority init function that should not be called with
immediate dispatch to the current thread, for performance reasons.
Additionally, do not call RegisterDragDrop for hidden windows.
2023-10-25 06:09:09 +02:00
Moonchild 028aa731ed [network] Block more invalid cookie name characters.
This blocks the following characters from use in the cookie name:
0x3B (semi-colon), 0x3D (equals) and 0x7F (del)
2023-10-25 04:31:47 +02:00
Moonchild 688ed9a114 [DOM] Ignore status 206 and vary header checking for opaque responses in
the Cache API.
2023-10-25 04:29:37 +02:00
Moonchild c30be25773 Merge pull request 'Implement support for WebM transparency/alpha channel.' (#2358) from athenian200/UXP:webm_alpha_work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2358
Reviewed-by: Travis W. <travawine@palemoon.org>
2023-10-25 02:19:47 +00:00
Moonchild 72f30730e7 Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2023-10-25 03:59:44 +02:00
Moonchild 782202963e [media] Use RefPtr<TrackBuffersManager> instead of raw pointers 2023-10-25 03:59:10 +02:00
Moonchild dd2fbc763a Merge pull request 'Treat all GLSL versions >=450 as 450' (#2356) from Basilisk-Dev/UXP-contrib:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2356
2023-10-24 13:55:41 +00:00
Jeremy Andrews f4d408dffe Issue #2357 - Add reftest for WebM alpha.
I figured I should include the reftest for the sake of completeness, though I have already verified the feature working from the site mentioned in the forum thread that prompted me to look into this in the first place.

Ref: BZ 1331528
2023-10-24 00:59:20 -05:00
Jeremy Andrews f7c0599e1e Issue #2357 - WebM w/alpha renders black if WMF decoder is enabled.
Mozilla forgot to force use of VPXDecoder on Windows in their initial implementation, this is pretty much what they did for Android as well. Straight port of the Firefox 67 fix.

Ref: BZ 1528652
2023-10-24 00:59:11 -05:00
Jeremy Andrews 855109b028 Issue #2357 - Paused WebM videos w/alpha are 100% transparent if HA is disabled.
Mozilla found a bug in their initial implementation, causing paused WebM videos with alpha to become totally transparent if hardware acceleration is disabled. Straight port of the Firefox 54 fix.

Ref: BZ 1332952
2023-10-24 00:59:00 -05:00
Jeremy Andrews c48055d6ea Issue #2357 - VPXDecoder does not decode alpha frames.
Another requirement to have transparency in videos. Straight port of Firefox 53 implementation, save for some oddities relating to needing to put uint8_t instead of uint8 in yuv_convert to get this to compile.

Ref: BZ 1321076, 1329104
2023-10-24 00:58:50 -05:00
Jeremy Andrews 8b746b6c12 Issue #2357 - WebM demuxer can't tell when a video wants to be transparent.
Required to have an alpha channel (which in the strange world of graphics seems to refer to transparency, and not experimental code) in WebM videos. Straight port of Firefox 53 implementation, adapted slightly for a couple of patches previously taken without this.

Ref: BZ 1320829
2023-10-24 00:58:15 -05:00
Basilisk-Dev 1889edcea8 Treat all GLSL versions >=450 as 450
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1446548
2023-10-23 13:52:25 -04:00
Moonchild 6df4c18747 Issue #2355 - Apply self-transforms to the frame of top level <svg>
We previously didn't do this because we relied on our anonymous wrapper
to perform transforms. However, that resulted in only the children
transforming, and the frame's cliprect wouldn't be updated,
giving the impression of the z-ordering being wrong.

Also adds reftests from the relevant BZ bug found later.

Resolves #2355
2023-10-22 09:33:22 +02:00
Moonchild d5231ca7e7 Issue #2346 - Follow-up: restore erroneously removed GMP mCrashHelper. 2023-10-21 17:06:43 +02:00
Moonchild 93823836d7 Merge pull request 'Implement some NumberFormat spec updates' (#2352) from 2350-numberformat-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2352
2023-10-20 20:57:39 +00:00
Moonchild 1e3301e987 Merge pull request 'Align the Performance Observer navigation and resource with the spec.' (#2353) from dbsoft/UXP:po-navres-2282 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2353
2023-10-20 13:01:08 +00:00
Brian Smith ccbeea30aa Issue #2282 - Part 2 - Re-add some timer clamping that got clobber erroneously. 2023-10-20 05:00:04 -05:00
Brian Smith 398486a64b Issue #2282 - Align the Performance Observer navigation and resource with the spec.
This now passes the conformance tests.
https://bugzilla.mozilla.org/show_bug.cgi?id=1425458
Resource timing entries Workers - part 2 - PerformanceTimingData.
https://bugzilla.mozilla.org/show_bug.cgi?id=1462605
PerformanceNavigationTiming.name must be the value of the address of the current document.
https://bugzilla.mozilla.org/show_bug.cgi?id=1462883
Update PerformanceTimingData::mReportCrossOriginRedirect in SetPropertiesFromHttpChannel.
https://bugzilla.mozilla.org/show_bug.cgi?id=1462879
PerformanceNavigationTiming must be notified correctly - part 1 - notify.
2023-10-20 04:21:49 -05:00
Moonchild 4554cb9929 Merge pull request 'Clean up the rest of EME' (#2348) from 2346-EME-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2348
2023-10-19 18:41:58 +00:00
Moonchild 8f62ed27eb Merge pull request 'Issue #2332 - Hyphenate rtc stats type as per spec' (#2349) from Basilisk-Dev/UXP-contrib:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2349
2023-10-19 15:33:23 +00:00
Moonchild 3e71cd6b93 Issue #2350 - Part 2: Allow "maximumFractionDigits" option in
Intl.NumberFormat to be less than the default minimum fraction digits.

This implements the changes from the "has consensus" PR in TC39
The second pair of `DefaultNumberOption()` calls was inlined, because
only the fallback case is relevant anyway.

Steps 12.d and 12.e from the spec PR were combined into a single
`if`-block. That way it also matches step 12.f more closely.
Also changed the single `if` steps into an `if-else if` chain, because
the steps are mutually exclusive.
2023-10-19 15:46:27 +02:00
Moonchild 6c6c16b7f0 Issue #2350 - Part 1: Apply "minimumIntegerDigits" to number-formatters
with fraction-digits.

Implements the changes to `SetNumberFormatDigitOptions` and
`FormatNumberToString`, except for the support of the new
"compact-rounding" mode.
This also includes a few minor fixes for edge cases (like -0 vs. 0)
2023-10-19 15:19:55 +02:00
Moonchild 6ad6cc9c2d Issue #2350 - Part 0: Add a helper function DefaultNumberOption
This is the abstract operation that converts an option value to a number
value, checking whether it is in the allowed range, and filling in a
fallback value if necessary.
2023-10-19 10:17:11 +02:00
Basilisk-Dev 5b5672fd56 Issue #2332 - Hyphenate rtc stats type as per spec
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1322503
2023-10-18 16:30:27 -04:00
Moonchild f2ec6ef34d Issue #2346 - Remove IsWaitingOnCDMResource stub 2023-10-18 10:59:39 +02:00
Moonchild 42c8b9470c Issue #2346 - Remove EME PDM factory creation. 2023-10-17 16:37:46 +02:00
Moonchild d0d6e8edf5 Issue #2346 - Clean up EME code in toolkit extension manager (GMP) 2023-10-17 16:37:45 +02:00
Moonchild 30d3325148 Issue #2346 - Remove stub for setting decryptor ID 2023-10-17 16:37:45 +02:00
Moonchild 0451648c60 Issue #2346 - Remove MDSM "Wait for CDM" state
Without EME we don't need the machinery to wait for an external
CDM module to be ready in our mediadecoder.
2023-10-17 16:37:44 +02:00
Moonchild 7a10dcaadf Issue #2346 - Update tests 2023-10-17 16:37:43 +02:00
Moonchild a63cf31989 Issue #2346 - Update build configuration and remove --{en|dis}able-eme 2023-10-17 16:37:43 +02:00
Moonchild ea3785a6d7 Issue #2346 - Remove EME WebIDL interfaces 2023-10-17 16:37:42 +02:00
Moonchild d0d9e63809 Issue #2346 - Update license (remove OpenAES) 2023-10-17 16:37:42 +02:00
Moonchild e80bbcfe91 Issue #2346 - Remove unused EME components
This removes:
dom/media/eme code
GMP CDM proxies
GMP WideVine adapter code
EME media platform code
GMP clearkey module
2023-10-17 16:37:41 +02:00
Moonchild 08406731e5 Issue #2346 - Remove MOZ_EME conditional code 2023-10-17 16:37:41 +02:00
Moonchild 6076431d7c Merge pull request 'Backport of Mozilla tooltip bugs' (#2347) from Basilisk-Dev/UXP-contrib:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2347
2023-10-17 14:30:19 +00:00
Moonchild 60b4d804bd Issue #1721 - Follow-up: Properly protect GPC header
Make it a singleton so it cannot be overwritten.
2023-10-17 16:26:18 +02:00
Basilisk-Dev 2b1281f2c9 Backport of Mozilla tooltip bugs:
Bug 148624 - only show tooltip when document has focus
Partial Bug 1857513 - Use window activeness rather than document.hasFocus() to display chrome-only tooltips
2023-10-16 10:13:10 -04:00
Moonchild 087febcc4b Merge pull request 'Stop pretending proxies have a JSNative call/construct hook.' (#2345) from dbsoft/UXP:readablestreams-crash into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2345
2023-10-16 06:51:06 +00:00
Moonchild 6430adfb2d Restore EME WebIDL for proper cleanup later. 2023-10-16 08:39:28 +02:00
Brian Smith d5020b69bd Issue #1442 Follow-up: Stop pretending proxies have a JSNative call/construct hook.
https://bugzilla.mozilla.org/show_bug.cgi?id=1471924 Part 1
Also remove an erroneous debug assert and guard against future issues.
This fixes crashes on vk.com but still does not behave correctly.
2023-10-16 01:10:26 -05:00
Moonchild 3b39358c84 Clean up dom\webidl
Fix CRLF line endings in some files, and remove EME interface leftovers.
2023-10-14 15:16:41 +02:00
Moonchild 4df8e7664a Issue #2340 - Return an array (actually frozen sequence) for {border|content}BoxSize
Resolves #2340
2023-10-14 14:16:26 +02:00
Moonchild cdfd243b5a Merge pull request 'Issue #2332 - WebRTC Spec Updates' (#2338) from Basilisk-Dev/UXP-contrib:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2338
2023-10-10 11:13:22 +00:00
Moonchild b326873871 Merge pull request 'Issue #2332 - Fix CamerasChild helper to return by value instead of out-of-scope reference' (#2339) from Basilisk-Dev/UXP-contrib:bugzilla-1318132 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2339
2023-10-10 11:12:08 +00:00
Basilisk-Dev 0ea78ba5fa Issue #2332 - Fix CamerasChild helper to return by value instead of out-of-scope reference
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1318132
2023-10-09 22:13:50 -04:00
Basilisk-Dev 95a8edc5fc Issue #2332 - Update most tests to skip RTCSessionDescription construction
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1263312 part 6
2023-10-09 17:09:04 -04:00
Basilisk-Dev 38dfadad45 Issue #2332 - Update most tests to skip RTCIceCandidate construction
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1263312 part 5
2023-10-09 17:08:07 -04:00
Basilisk-Dev 9bee3a8b72 Issue #2332 - Have createOffer/Answer resolve with dictionaries
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1263312 part 4
2023-10-09 17:07:05 -04:00
Basilisk-Dev c8218f73b7 Issue #2332 - Have set(Local|Remote)Description take dictionaries
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1263312 part 3
2023-10-09 17:06:12 -04:00
Basilisk-Dev 81cf4413e2 Issue #2332 - Have addIceCandidate take a dictionary
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1263312 part 2
2023-10-09 17:04:07 -04:00
Basilisk-Dev 09e6d13d6b Issue #2332 - Update RTCIceCandidate to spec
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1263312 - part 1
2023-10-09 17:02:11 -04:00
Basilisk-Dev 69cfed48da Issue #2332 - Add deprecation warnings to writable RTCSessionDescription
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1313966
2023-10-09 17:00:40 -04:00
Moonchild 1b2c1d8eac Merge pull request 'Correct overzealous GMP checks' (#2336) from mrnhmath/UXP:2301fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2336
2023-10-08 09:24:21 +00:00
Moonchild e0746ccf31 Merge pull request 'Issue #2332 - Do some cleaning around direct listeners and video sinks' (#2335) from Basilisk-Dev/UXP-contrib:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2335
2023-10-08 09:21:07 +00:00
Matheus Marinho 8f6d5c5ba0 Correct overzealous GMP checks 2023-10-06 23:04:36 -03:00
Moonchild 78120a7693 [DOM] Fix deprot in PerformanceMark.cpp 2023-10-05 23:10:36 +02:00
Basilisk-Dev ecc90c09ef Issue #2332 - Use only one listener in MediaPipelineTransmit
https://bugzilla.mozilla.org/show_bug.cgi?id=1305949 part 3
2023-10-05 16:51:40 -04:00
Basilisk-Dev 8698518416 Issue #2332 - Use the same path for passing on missed data to video sink, as during normal operation
https://bugzilla.mozilla.org/show_bug.cgi?id=1305949 part 2
2023-10-05 16:48:52 -04:00
Basilisk-Dev cf178171a4 Issue #2332 - Refactor code that feeds video stream sink when it gets added
https://bugzilla.mozilla.org/show_bug.cgi?id=1305949 part 1
2023-10-05 16:47:30 -04:00
Moonchild 92ad63b579 Merge pull request 'Issue #2332 - Update libvpx to 1.6.1' (#2333) from Basilisk-Dev/UXP-contrib:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2333
2023-10-05 18:07:43 +00:00
Moonchild 8c63b950f5 Merge pull request 'Issue #2332 - Remove unimplemented and non-spec getStreamById from RTCPeerConnection' (#2334) from Basilisk-Dev/UXP-contrib:bz-1318163 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2334
2023-10-05 18:02:14 +00:00
Basilisk-Dev 9aed582fc1 Issue #2332 - Remove unimplemented and non-spec getStreamById from RTCPeerConnection
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1318163
2023-10-05 10:27:12 -04:00
Basilisk-Dev 1b5b970a53 Issue #2332 - libvpx upgrade followup part 5
Port commits 39f9ab375b and ed7b08e608 to new libvpx version
2023-10-04 22:11:29 -04:00
Basilisk-Dev bf6ed5545d Issue #2332 - libvpx upgrade followup part 4
Port commit babeb5c556 to new libvpx version
2023-10-04 22:11:29 -04:00
Basilisk-Dev 302411b4df Issue #2332 - libvpx upgrade followup part 3
Port commit d5a2c45aad to new libvpx version
2023-10-04 22:11:29 -04:00
Basilisk-Dev 2cb4813adb Issue #2332 - libvpx upgrade followup part 2
Port commit ca36e991ea to new libvpx version
2023-10-04 22:11:28 -04:00
Basilisk-Dev c5ba4dd2a4 Issue #2332 - libvpx upgrade followup part 1
Port commit a8f45aba81 to new libvpx version
2023-10-04 22:11:28 -04:00
Basilisk-Dev 322bbcad1b Issue #2332 - Update to libvpx 1.6.1
Backport of Bugzilla 1223692 and 1331498
2023-10-04 22:10:42 -04:00
Moonchild a2f69c22f8 Merge pull request 'No Issue - Remove deprecation errors for obsolete RTCOfferOptions' (#2325) from Basilisk-Dev/UXP-contrib:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2325
2023-10-04 09:19:58 +00:00
Basilisk-Dev 9d69fa3c37 No Issue - Remove deprecation errors for obsolete RTCOfferOptions
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1197021
2023-10-03 16:55:28 -04:00
Moonchild 5d76f35990 Merge pull request 'Initial implementation of readable streams' (#2324) from dbsoft/UXP:readablestreams into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2324
2023-10-03 17:23:19 +00:00
Brian Smith 054f135a54 Issue #1442 - Part 26 - FetchStreamReader needs to cancel its reader when it encounters write errors.
https://bugzilla.mozilla.org/show_bug.cgi?id=1416879 Part 5
Also same fix as in Part 24 for FetchStream but in FetchStreamReader.
2023-10-03 01:45:08 -05:00
Brian Smith 5c8336d123 Issue #1442 - Part 25b - Second try that hopefully doesn't break Windows. 2023-10-02 18:38:02 -04:00
Brian Smith 0f0adfa1b4 Issue #1442 - Part 25 - Fix bustage on X11 platforms. 2023-10-02 18:08:46 -04:00
Brian Smith ec38250eea Issue #1442 - Part 24 - Prevent FetchStream from incorrectly running on the main thread.
This prevents a deadlock and JSContext related crashes, however this should eventually
be replaced by an EventTargetFor() call when the Dispatcher API is implemented.
Also now that ReadableStream appears stable, toggle the preferences true by default.
2023-10-02 04:42:24 -05:00
Moonchild 682e5a4727 Merge branch '2323-timerclamp-workers'
This resolves #2323
2023-10-01 22:08:45 +02:00
Moonchild 16e405f818 Issue #2323 - Part 3: Exclude chrome workers from worker timer clamping. 2023-10-01 20:54:48 +02:00
Moonchild bfae2ed943 Issue #2323 - Part 2: Implement timer nesting and clamping for workers. 2023-10-01 19:42:45 +02:00
Botond Ballo 1337373ee1 Issue #2323 - Part 1: Add Min()/Max() methods to TimeDuration.
Just some helper functions to make time comparisons in the correct data
format easier.

See BZ 1321885
2023-10-01 19:37:49 +02:00
Moonchild efc3e99b90 Merge pull request 'Fall back to 0 if setInterval interval not supplied' (#2322) from martok/UXP-contrib:mr/2321-setInterval into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2322
2023-10-01 12:57:10 +00:00
Martok eaf9a3cc57 Issue #2321 - Fall back to 0 if setInterval interval not supplied 2023-10-01 02:21:53 +02:00
Brian Smith b7a5d73ba9 Issue #1442 - Part 23 - Align FetchStream with Firefox 68ESR.
https://bugzilla.mozilla.org/show_bug.cgi?id=1612308
https://bugzilla.mozilla.org/show_bug.cgi?id=1445587
Partial part 2 implementing synchronization changes.
2023-09-30 11:19:06 -05:00
Brian Smith aa1caf5ade Issue #1442 & #1691 Follow-up - Part 22 - Changes that came with Dynamic Module Import.
At the time we did not have ReadableStreams in our tree so these changes were left out.
https://bugzilla.mozilla.org/show_bug.cgi?id=1499140
Implement support for dynamic module import in the interpreter.
2023-09-29 15:34:10 -05:00
Brian Smith bc4d5cec6a Issue #1442 - Part 21 - Fix debug builds by removing an invalid assert. 2023-09-29 13:09:28 -05:00
Brian Smith 7d55641d43 Issue #1442 - Part 20 - FetchStream should not have an extra JS::Heap<ReadableStream>.
https://bugzilla.mozilla.org/show_bug.cgi?id=1390717
2023-09-29 09:25:52 -05:00
Brian Smith 3f799def4d Issue #1442 - Part 19 - FetchStream must support multiple read requests.
https://bugzilla.mozilla.org/show_bug.cgi?id=1395220
2023-09-29 09:12:08 -05:00
Brian Smith 796863b719 Issue #1442 - Part 18 - Cycle collect FetchStreamReader.
https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
2023-09-28 22:17:06 -05:00
Brian Smith aced9bbc94 Issue #1442 - Part 17 - Creating FetchStream as a out param in order to avoid JS hazards
https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
2023-09-28 22:06:25 -05:00
Brian Smith b1d111ab6b Issue #1442 - Part 16 - Report stream errors during consumption.
https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
2023-09-28 21:18:27 -05:00
Brian Smith 99c25d8e98 Issue #1442 - Part 15 - Setting the correct global when ReadableStream.getReader() is called.
https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
2023-09-28 19:51:09 -05:00
Brian Smith 8a45238908 Issue #1442 - Part 14 - Starting body consuming and passing the JSContext down
from the binding entrypoints to where the ReadableStream could be read.
https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
2023-09-28 19:35:59 -05:00
Moonchild 1b588e0d73 Merge pull request 'Issue #2058 - Upgrade usrsctp library' (#2297) from Basilisk-Dev/UXP-contrib:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2297
2023-09-28 23:22:41 +00:00
Brian Smith c9020fed9c Issue #1442 - Part 13 - Implement FetchStreamReader.
https://bugzilla.mozilla.org/show_bug.cgi?id=1329298
2023-09-28 17:36:52 -05:00
Brian Smith 4c6e382f47 Issue #1442 - Part 12b - Allow idle worker shutdown while Cache/CacheStorage DOM objects exist, but block it during Cache operation.
https://bugzilla.mozilla.org/show_bug.cgi?id=1362444
Pre-requisite for Part 13.
2023-09-28 17:35:26 -05:00
Brian Smith 26cb9b0802 Issue #1442 - Part 12a - Allow idle worker shutdown to begin for an opt-in WorkerHolder mode.
https://bugzilla.mozilla.org/show_bug.cgi?id=1362444
Pre-requisite for Part 13.
2023-09-28 17:34:54 -05:00
Brian Smith 1fd5023fdc Issue #1442 - Part 12 - Label FetchBody.
https://bugzilla.mozilla.org/show_bug.cgi?id=1363318
FetchSignal is not in our tree so this is a partial patch to get mOwner changes.
Pre-requisite for Part 13.
2023-09-28 16:54:19 -05:00
Brian Smith 8a0c7bde63 Issue #1442 - Part 11 - Response.body handling.
https://bugzilla.mozilla.org/show_bug.cgi?id=1329298
Use BufferSource in webIDL.
https://bugzilla.mozilla.org/show_bug.cgi?id=1337722
2023-09-28 14:05:55 -05:00
Moonchild cc43ec658c Merge pull request 'Intel Ion: Don't test for a 3-byte opcode in a 2-byte opcode predicate.' (#2319) from dbsoft/UXP:ion-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2319
2023-09-28 14:25:56 +00:00
Moonchild 07df24f00f Merge pull request 'Cherry-pick upstream libvpx fix for CVE-2023-5217' (#2320) from Basilisk-Dev/UXP-contrib:libvpx-cve into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2320
2023-09-28 14:14:15 +00:00
Basilisk-Dev ed7b08e608 Cherry-pick upstream libvpx fix
Backport of https://hg.mozilla.org/releases/mozilla-esr115/rev/5241232a3292943bd59ff1704eab60fee3cbc9d1
Addresses CVE-2023-5217
2023-09-28 09:49:10 -04:00
Brian Smith 1a429629d2 Issue #1442 - Part 10c - Use application/octet-stream for arrayBuffer in sendBeacon.
https://bugzilla.mozilla.org/show_bug.cgi?id=1329298
Pre-requisite for Part 11.
2023-09-27 23:40:02 -05:00
Brian Smith 03ec9c095b Issue #1442 - Part 10b - Use nsIXHRSendable instead Blob/FormData/URLSearchParams.
https://bugzilla.mozilla.org/show_bug.cgi?id=1329298
Pre-requisite for Part 11.
2023-09-27 23:22:06 -05:00
Brian Smith 24edfc1652 Issue #1442 - Part 10a - Unify body extraction in Fetch/Beacon/XHR.
https://bugzilla.mozilla.org/show_bug.cgi?id=1329298
Pre-requisite for Part 11.
2023-09-27 22:58:24 -05:00
Brian Smith efd2b96387 Issue #1442 - Part 9: Stream shutdown handling.
https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
2023-09-27 19:24:08 -05:00
Brian Smith 4a179ff885 Issue #1442 - Part 8: Fetch implementation of streams.
https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
+worker-friendly pref checking for the DOM API.
2023-09-27 19:20:08 -05:00
Brian Smith 8c5a0f0de9 Issue #1442 - Part 7: Use of ReadableStream in WebIDL files.
https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
2023-09-27 19:08:24 -05:00
Brian Smith cc8f43bf79 Issue #1442 - Part 6: binding codegen naming alignment for Streams.
https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
2023-09-27 19:04:02 -05:00
Brian Smith 552d964ae7 Issue #1442 - Part 5: Implement WebIDL bindings for Streams.
https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
2023-09-27 18:25:48 -05:00
Brian Smith 0099fc1627 Issue #1442 - Part 4: Add JSAPI functions for working with ReadableStream.
https://bugzilla.mozilla.org/show_bug.cgi?id=1272697
2023-09-27 17:33:34 -05:00
Brian Smith 8ce17f02ee Issue #1442 - Part 3: Implement ReadableStream and associated classes in the JS engine.
https://bugzilla.mozilla.org/show_bug.cgi?id=1272697
2023-09-27 16:00:10 -05:00
Brian Smith 269a703200 No Issue - IonMonkey: Don't test for a 3-byte opcode in a 2-byte opcode predicate.
https://bugzilla.mozilla.org/show_bug.cgi?id=1390214
Silence increasingly loud warnings from clang, also could cause errant behavior.
2023-09-27 14:29:07 -05:00
Brian Smith 582fd0dd81 Issue #1442 - Part 2: Add a run-time preference for toggling the streams API.
https://bugzilla.mozilla.org/show_bug.cgi?id=1272697
2023-09-27 10:45:00 -05:00
Moonchild 395caa8780 [network] Refactor TransactionObserver::OnDataAvailable() 2023-09-27 16:37:30 +02:00
Brian Smith f31471e689 Issue #1442 - Part 1: Change ArrayBufferCopyData self-hosting intrinsic to take a start offset for the destination.
This will be needed to manage stream chunks.
https://bugzilla.mozilla.org/show_bug.cgi?id=1272697
2023-09-27 09:36:44 -05:00
André Bargull be4b71b580 [js] Handle dead wrappers 2023-09-27 15:23:57 +02:00
Moonchild de91800956 Merge branch 'alloc-cleanup-work' 2023-09-27 00:53:54 +02:00
Moonchild 7a48dfc066 [memory] Guard OOM reporter from incorrectly reported (too small) size. 2023-09-26 21:07:29 +02:00
Moonchild 4769b2a9fa [memory] Remove likely/unlikely duplication in mozalloc.
We already have this in mozilla/Likely.h, use that instead.
2023-09-26 21:02:11 +02:00
Moonchild b12c222c61 [memory] Remove MOZALLOC_INLINE
MOZ_ALWAYS_INLINE_EVEN_DEBUG is always defined through
mozilla/Attributes.h, so the fallbacks are never used in practice.
2023-09-26 20:56:11 +02:00
Moonchild 2ac006763b Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2023-09-26 15:23:20 +02:00
Moonchild 3edbfa6b6e Merge branch '2316-drawimage-svg-work'
Resolves #2316
2023-09-26 15:22:52 +02:00
Moonchild fcb74a0fb6 Issue #2316 - Part 3: Clarify comment 2023-09-26 15:21:34 +02:00
Moonchild bfda40bce9 Issue #2316 - Part 2: Add reftests 2023-09-26 15:15:45 +02:00
Moonchild 8b4aae99b4 Issue #2316 - Part 1: Use fallback element sizes for w/h-less SVG
Instead of completely failing the call, use the CSS specified intrinsic
default width/height of 300x150.
2023-09-26 15:15:31 +02:00
Basilisk-Dev 4e1d7760d5 Issue #2058 - add patches from dbsoft to fix Mac and FreeBSD builds 2023-09-25 18:22:49 -04:00
Moonchild 1b2961f93f Merge pull request 'Replace libav's FFT functions with the ones from FFmpeg and remove now unused libav source files.' (#2312) from trav90/UXP-contrib:media-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2312
2023-09-25 16:39:24 +00:00
Moonchild 8775eedca5 Merge pull request 'Implement WebAssembly sign extension opcodes.' (#2315) from dbsoft/UXP:wasm-sign2313 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2315
2023-09-25 08:38:17 +00:00
Basilisk-Dev 8ffb592b72 Issue #2058 - restore FBSDID 2023-09-23 13:53:52 -04:00
trav90 522d8c66a5 Issue #2311 - Part 7 - Unset CONFIG_DCT and CONFIG_FFT
These functions aren't be needed at the moment and disabling them should fix builing on Windows.
2023-09-22 15:34:15 -05:00
Basilisk-Dev 7df5060161 Issue #2058 - fix OS defines for Windows builds 2023-09-22 16:17:40 -04:00
Basilisk-Dev 73a150b1c1 Issue #2058 - fix typo 2023-09-22 14:38:38 -04:00
Basilisk-Dev 89f280a78e Issue #2058 - fix issues with sctp_bsd_addr.c memory allocation causing breakage 2023-09-22 14:36:28 -04:00
Brian Smith 6aeae2ba74 Issue #2313 - Implement WebAssembly sign extension opcodes.
https://bugzilla.mozilla.org/show_bug.cgi?id=1389461
2023-09-22 13:23:36 -05:00
Moonchild 5fd783135d Issue #2307 - Follow-up: remove some missed SIMD scalar types. 2023-09-22 12:36:34 +02:00
Moonchild 1b2be9536f Clobber and goanna version bump. 2023-09-22 10:00:52 +02:00
Moonchild 2ad1f8f08d Merge branch 'simdjs-removal' 2023-09-21 10:26:10 +02:00
trav90 85734b9adf Issue #2311 - Part 6 - Remove now unused libav source files 2023-09-20 17:17:43 -05:00
trav90 2b46202164 IIssue #2311 - Part 5 - Only load function pointer in FFTBlock once 2023-09-20 17:16:35 -05:00
trav90 18ec63e459 Issue #2311 - Part 4 - Use FFTBlock from ffvpx instead of libav 2023-09-20 17:16:01 -05:00
trav90 004a3d003b Issue #2311 - Part 3 - Add accessor for ffvpx real DFT functions 2023-09-20 17:15:46 -05:00
trav90 9c72ce666b Issue #2311 - Part 2 - Link ffmpeg real DFT functions 2023-09-20 17:15:23 -05:00
trav90 47f213c878 Issue #2311 - Part 1 - Add ffmpeg's own floating point real FFT functions to ffvpx
Instead of using Libav's.
2023-09-20 17:14:31 -05:00
Moonchild d2eb2ce9f4 Merge branch 'master' into simdjs-removal 2023-09-20 11:56:31 +02:00
Moonchild dba1e36601 Merge pull request 'Collection of BigInt related fixes from working on Proton Mail issue' (#2310) from dbsoft/UXP:bigint-incdec into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2310
2023-09-20 00:40:04 +00:00
Moonchild bb39e1e38f Issue #2307 - Part 3b: Fix build bustage. 2023-09-19 16:53:12 +02:00
Moonchild 7003ea7dc4 Issue #2307 - Part 3: Remove SIMD.js support
This gets rid of the SIMD-specific scalar types in JS.
This considerably deviates from Mozilla's work because of our divergent
path.
2023-09-18 16:57:09 +02:00
Brian Smith dca8417ba7 Issue #2308 & #1240 Follow-up - Fill in missing JSOP_INC/DEC cases for Doubles in Ion. 2023-09-18 01:10:07 -05:00
Brian Smith 99184b1764 Issue #2308 & #1240 Follow-up - Replace JSOP_POS in ++/-- with JSOP_TONUMERIC.
https://bugzilla.mozilla.org/show_bug.cgi?id=1519135
2023-09-17 12:39:03 -05:00
Brian Smith 8f26f1a873 Issue #2308 & #1240 Follow-up - Fill in missing JSOP_INC/DEC cases for Ion on Intel32/64. 2023-09-17 06:21:49 -05:00
Brian Smith 53ce814858 Issue #2308 & #1240 Follow-up - Add BigInt support to JSOP_INC and JSOP_DEC.
https://bugzilla.mozilla.org/show_bug.cgi?id=1526309
2023-09-17 04:23:57 -05:00
Brian Smith 33d4be58a5 Issue #2308 & #1240 Follow-up - Introduce new increment and decrement operations.
https://bugzilla.mozilla.org/show_bug.cgi?id=1508521
2023-09-16 05:38:42 -05:00
Moonchild 8635073418 Issue #2307 - Part 2b: Remove superfluous dev comment 2023-09-13 17:09:54 +02:00
Moonchild f122b231e5 Issue #2309 - Cherry-pick upstream libwebp fix.
Backport of: https://chromium.googlesource.com/webm/libwebp.git/+/2af26267cdfcb63a88e5c74a85927a12d6ca1d76

Resolves #2309
2023-09-13 10:20:51 +02:00
Moonchild 1a7f79ef9a Issue #2307 - Part 2: Move SIMD code generation to masm methods 2023-09-12 23:28:49 +02:00
Moonchild 281497201e Issue #2307 - Part 1: Extend masm with the pmovmskb SSE2 instruction. 2023-09-12 23:26:44 +02:00
Brian Smith dce6745dec Issue #2308 - Fix JSON BigInt regressions.
https://bugzilla.mozilla.org/show_bug.cgi?id=1522433
2023-09-11 04:01:25 -05:00
Moonchild a9bb437550 Merge pull request 'Make Gecko Media Plugins optional when not building EME or WebRTC' (#2301) from mrnhmath/UXP:optgmp3 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2301
2023-09-09 19:09:32 +00:00
Brian Smith 01ee4539cb Issue #2282 - Performance observer safety checks.
Both fixes from later revisions, without the Dispatch API changes.
2023-09-07 15:31:26 -05:00
Brian Smith 47fbe9552a Issue #2026 Follow-up: Fill in missing BigInt64 cases in js::IsTypedArrayConstructor().
Hopefully fixes RSA errors on ProtonMail.
2023-09-06 11:18:05 -05:00
Moonchild ee97a5dad4 [DOM] Follow-up: fix refcounting in FilePickerParent. 2023-09-01 09:54:03 +02:00
Matheus MarinhoandMoonchild c94c303447 Make Gecko Media Plugins optional when not building EME or WebRTC
Co-authored-by: Moonchild <moonchild@palemoon.org>
2023-08-31 17:04:44 -03:00
Basilisk-Dev a15cbf9256 Issue #2058 - apply additional patches from dbsoft for OS defines 2023-08-31 08:44:34 -04:00
Moonchild 7a4b850150 [gfx] Check if we have a valid texture before trying to delete it. 2023-08-31 10:02:50 +02:00
Moonchild 7de2732e7f [DOM] Make IORunnable::mFilePickerParent into a RefPtr. 2023-08-30 19:30:17 +02:00
Moonchild f20e3f4dd1 [network] Hold a strong ref to mChannel in OpenConn 2023-08-30 18:59:32 +02:00
Moonchild ca691c8d2d [DOM] Deny web notifications if principal can't resolve. 2023-08-30 17:46:49 +02:00
Moonchild 226f97e2f4 [network] Add locking around access to WebSocketChannel::mPMCECompressor 2023-08-30 16:38:42 +02:00
Moonchild 7fdc866b5a [XPCOM] Add xll files to the executables list. 2023-08-30 12:48:43 +02:00
Moonchild e112df8849 Merge pull request 'Implement ergonomic brand check' (#2300) from martok/UXP-contrib:mr/ergo-brand-check into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2300
2023-08-30 09:36:31 +00:00
Moonchild 45ec6b3a86 Issue #2293 - Add preferences to disable CSS animation/transition props.
This resolves #2293
2023-08-30 10:52:52 +02:00
Martok 8b9d69f912 Issue #2298 - Support '#x in obj' ergonomic brand check syntax 2023-08-30 09:38:14 +02:00
Martok 92ecaaeaa9 Issue #2298 - Carry private-ness of names through ParseNodeHandler 2023-08-30 09:38:13 +02:00
Basilisk-Dev ebf4f559e0 Issue #2058 - Apply patches from dbsoft to fix Mac and FreeBSD builds 2023-08-28 12:54:45 -04:00
Basilisk-Dev d9eb5d3e2b Issue #2058 - Fix build issues in DataChannel.cpp after sctp upgrade 2023-08-26 23:09:27 -04:00
Basilisk-Dev 9e85eb2816 Issue #2058 - Cleanup obsolete code from netwerk/sctp
Port of commit 84fa3f9f72
2023-08-26 22:19:37 -04:00
Basilisk-Dev 32ef10e763 Issue #2058 - Initial update of usrsctp library 2023-08-26 21:58:02 -04:00
Moonchild ac24db13ef Merge pull request 'Bug 1274518 - Add IPDL preprocessing support' (#2296) from mrnhmath/UXP:ipdlprep into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2296
2023-08-26 07:07:10 +00:00
Matheus MarinhoandKai-Zhen Li 8ac0957072 Bug 1274518 - Add IPDL preprocessing support
Co-authored-by: Kai-Zhen Li <seinlin.maung@gmail.com>
2023-08-25 17:18:15 -03:00
Moonchild 7178ca44ef Merge pull request 'Add --enable-irc and --enable-inspector to old.configure' (#2292) from mrnhmath/UXP:extflags into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2292
2023-08-19 05:05:16 +00:00
Matheus Marinho 178a43839d Add --enable-irc and --enable-inspector to old.configure 2023-08-18 23:23:51 -03:00
Moonchild da947c5045 Merge pull request 'Hunspell must be built into libxul on SunOS.' (#2291) from athenian200/UXP:sunos_hunspell_fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2291
2023-08-18 21:35:17 +00:00
athenian200 6d65f1d192 Issue #2290 - Hunspell must be built into libxul on SunOS. 2023-08-18 10:29:49 -05:00
Moonchild 4ddaf0f490 Merge pull request 'Implement Address Sanitizer for MSVC, Leak, Undefined Behavior and other debug fixes.' (#2288) from dbsoft/UXP:sanitize into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2288
2023-08-16 07:08:19 +00:00
Brian Smith ff81f4969c Issue #2266 - Part 2 - Add Leak and Undefined Behavior Sanitizer support.
Also fix building on FreeBSD and Linux, from the previous commit.
2023-08-14 23:40:46 -05:00
Brian Smith 369ba2e7d6 Issue #2266 - Part 1 - Allow MSVC and potentially GCC to use Address Sanitizer on Windows.
Check for WINNT instead of CLANG-CL, except for the Blacklist that isn't supported by MSVC.
Neither CLANG-CL nor MSVC require -fsanitize=address on the link phase.
2023-08-14 19:56:06 -05:00
Brian Smith a0fb8c06de Issue #2255 - Disable untested code path in Stopwatch.(h|cpp).
https://bugzilla.mozilla.org/show_bug.cgi?id=1325299
Multiprocessor support in Windows returned bogus times causing debug asserts.
This may or may not be related to the issue but found it trying to debug it.
2023-08-14 13:08:41 -05:00
Brian Smith d16b014115 No Issue - Fix building WebRTC/Basilisk with --enable-debug
A bogus MOZ_ASSERT was added at some point, this should make it work.
2023-08-14 13:06:15 -05:00
Moonchild 3bb0c18a59 Merge branch '2284-flexpercentage-work' 2023-08-14 10:34:09 +02:00
Moonchild 53b548e31a Issue #2284 - Adjust some in-content CSS to account for flex definite-sizing change.
As of this change, flex items in a vertical flex container will sometimes
be considered to have "indefinite" sizes, i.e. percent sizes in them will
no longer resolve.
To work around this, they need to provide a definite flex-basis (e.g. as
part of the "flex" shorthand property) if we want percent sizes to
resolve (instead of being treated as "auto") inside of them.
2023-08-13 22:09:27 +02:00
Moonchild 2a6187709b Issue #2284 - Update reftest for behaviour change.
I've verified this against Edge-latest.
2023-08-13 22:06:13 +02:00
Moonchild cd98dce5fa Issue #2284 - Add exception for flex/grid items resolving percentages against parent.
This folds in BZ bugs 1578586 and 1092007 part 2.
2023-08-13 22:04:54 +02:00
Moonchild 9bfeaab2e6 Merge pull request 'Fix RegEx GC crash' (#2287) from martok/UXP-contrib:mr/2172-regex-gc into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2287
2023-08-10 06:05:46 +00:00
Martok 3b32a66cb6 Issue #2172 - add null zone sanity checks 2023-08-09 22:41:30 +02:00
Martok edfb29e1a2 Issue #2172 - ensure pointers in RegExpShared are updated after GC compacting 2023-08-08 19:36:21 +02:00
Martok 41f38134f1 Issue #2172 - add missing RegExpShared TraceKind declaration 2023-08-08 19:36:13 +02:00
Moonchild 20ac6059ce Merge pull request 'Several low risk fixes and improvements' (#2286) from dbsoft/UXP:fixes into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2286
2023-08-07 07:36:53 +00:00
Brian Smith d9aa76f5c2 No Issue - Fix building with --enable-js-lto
Needed to include jscntxt.h due to de-unified building.
2023-08-06 23:22:09 -05:00
Brian Smith 9dda91e5cb Issue #2285 - Ensure we don't try to treat non-DOM-Node event targets as such,
https://bugzilla.mozilla.org/show_bug.cgi?id=1440809
Fix crash on https://beeper.notion.site
2023-08-06 22:35:51 -05:00
Brian Smith 39d52370dc Issue #2026 - Follow-up: Support Big(U)Int64Array in crypto.getRandomValues.
https://bugzilla.mozilla.org/show_bug.cgi?id=1718932
2023-08-06 22:28:22 -05:00
Moonchild 8b1222c5f8 Merge pull request 'Properly implement Performance Timeline Level 2 w3c spec.' (#2283) from dbsoft/UXP:perf-l2-2282 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2283
2023-08-06 14:21:18 +00:00
Brian Smith e748187360 Issue #2282 - - Properly implement Performance Timeline Level 2 w3c spec.
https://bugzilla.mozilla.org/show_bug.cgi?id=1539006
Do not throw from PerformanceObserver.observe when none of the entryTypes are known.
https://bugzilla.mozilla.org/show_bug.cgi?id=1403027
Implement PerformanceObserver::takeRecords().
https://bugzilla.mozilla.org/show_bug.cgi?id=1436692
"server" is not a valid PerformanceEntry type.
https://bugzilla.mozilla.org/show_bug.cgi?id=1463065
Fix a null ptr crash in PerformanceObserver::Observe.
https://bugzilla.mozilla.org/show_bug.cgi?id=1631346
2023-08-02 02:41:40 -05:00
Moonchild 13cca807e6 Merge pull request 'Implement Big(U)Int64Array and fill in some missing BigInt pieces.' (#2280) from dbsoft/UXP:bigint64-2026 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2280
2023-07-29 08:58:35 +00:00
Brian Smith 7f8ea9ae2f Issue #1240 - Follow-up: Add missing JSVAL_TYPE_BIGINT cases in JitFrames.cpp.
As pointed out by roytam1 during testing with Discord.
2023-07-28 19:57:55 -05:00
Brian Smith 1851f19271 Issue #1240 - Follow-up: Fix incorrect values in Number() constructor.
https://bugzilla.mozilla.org/show_bug.cgi?id=1466893
Our code base was using the return value to create the Number object.
However with the BigInt changes, it is no longer stored in rval, use args[0].
2023-07-28 19:55:53 -05:00
Brian Smith 3dc659b86d Issue #2026 - Part 4 - Fill in missing dense elements case and fix a comment.
https://bugzilla.mozilla.org/show_bug.cgi?id=1456569
Skipped this during the initial implementation, not sure when or if  this code path
is used, but I figure it should be there just in case.
Also fix debug builgs by removing an no longer valid MOZ_ASSERT.
2023-07-28 19:54:06 -05:00
Brian Smith 83daf83360 Merge branch 'bigint-devtools-test' of https://repo.palemoon.org/martok/UXP-contrib into bigint64-2026 2023-07-28 19:47:20 -05:00
Martok 5a7348a8d1 Issue #2026 - Part 3c - Add BigInt Devtools support. (new frontend) 2023-07-29 01:39:08 +02:00
Martok fa32034f30 Issue #2026 - Part 3b - Add BigInt Devtools support. (legacy frontend) 2023-07-28 23:35:59 +02:00
Brian Smith 56a82b8ed4 Issue #2026 - Part 3a - Add support for BigInt in devtools. (Server side)
https://bugzilla.mozilla.org/show_bug.cgi?id=1527867
2023-07-25 02:27:03 -05:00
Brian Smith 7a5b68c98e Issue #2026 - Part 2b - Format BigInts representable as int64_t without first converting them to strings.
https://bugzilla.mozilla.org/show_bug.cgi?id=1543677
2023-07-25 01:59:56 -05:00
Brian Smith 1edc4e41d3 Issue #2026 - Part 2a - Support BigInt in NumberFormat and toLocaleString.
https://bugzilla.mozilla.org/show_bug.cgi?id=1543677
2023-07-25 01:41:42 -05:00
Brian Smith edacbbd965 Issue #2026 - Part 1 - Implement BigInt64 and BigUint64Array.
https://bugzilla.mozilla.org/show_bug.cgi?id=1456569
2023-07-24 23:30:27 -05:00
Moonchild a3096d09f9 Update UXP/Goanna version now BigInt has landed. 2023-07-25 01:02:59 +02:00
Moonchild b4ddadd8b9 Merge pull request 'Add BigInt primitive type.' (#2276) from dbsoft/UXP:bigint-merged into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2276
2023-07-23 23:38:53 +00:00
Brian Smith f359533b82 Issue #1240 - Part 11 - Fix several issue reported on review.
Skip over block delimiters when parsing BigInt literals.
Update BigInt hashing to account for the possibility of moving GC.
https://bugzilla.mozilla.org/show_bug.cgi?id=1531018
Make HashableValue comparison of BigInts infallible.
https://bugzilla.mozilla.org/show_bug.cgi?id=1530406
Fix BigInt constructor API CallArgs usage.
https://bugzilla.mozilla.org/show_bug.cgi?id=1526279
2023-07-23 15:36:19 -05:00
Brian Smith 94609cf97b Issue #1240 - Part 10 - Implement minimal Ion support for BigInt.
https://bugzilla.mozilla.org/show_bug.cgi?id=1507484
Implement IC support for BigInt.
https://bugzilla.mozilla.org/show_bug.cgi?id=1522431
2023-07-21 20:25:52 -05:00
Brian Smith 6257513c7e Issue #1240 - Part 9 - Fix incorrectly parsing decimal BigInt 0n.
The decimal parser strips leading 0s, so prevent tokenbuf being empty.
2023-07-21 14:20:11 -05:00
Brian Smith 0587c85114 Issue #1240 - Part 8 - Fix incorrect asserts with debug enabled.
Fix BigInt errors in remainder operations
https://bugzilla.mozilla.org/show_bug.cgi?id=1524136
Also fix 2 debug asserts in fallthroughs due to missing BigInt cases.
2023-07-21 04:10:47 -05:00
Brian Smith f4c134225c Issue #1240 - Part 7 - Handle BigInt values in XPCVariant code.
https://bugzilla.mozilla.org/show_bug.cgi?id=1603055
2023-07-20 17:25:46 -05:00
Brian Smith 24e4a09270 Issue #1240 - Part 5g - Implement BigInt comparison operators.
Implement BigInt support for equality operators.
https://bugzilla.mozilla.org/show_bug.cgi?id=1486173 Part 3.
Implement BigInt support for relational comparison operators.
https://bugzilla.mozilla.org/show_bug.cgi?id=1492669
2023-07-19 17:10:33 -05:00
Brian Smith f193a4a7dc Issue #1240 - Part 6c - Implement asIntN and asUintN methods for BigInt values.
https://bugzilla.mozilla.org/show_bug.cgi?id=1501104
2023-07-19 16:39:34 -05:00
Brian Smith 2b198142f0 Issue #1240 - Part 6b - Use ToIndex when constructing TypedArray with length argument.
https://bugzilla.mozilla.org/show_bug.cgi?id=1317383 Part 2.
2023-07-19 16:36:58 -05:00
Brian Smith 700bead8ba Issue #1240 - Part 6a - Implement BigInt.prototype.toLocaleString.
https://bugzilla.mozilla.org/show_bug.cgi?id=1366287 Part 5.
2023-07-19 16:00:07 -05:00
Brian Smith f734e4f724 Issue #1240 - Part 5f - Add DataView methods for BigInt access.
https://bugzilla.mozilla.org/show_bug.cgi?id=1528582
2023-07-19 15:27:59 -05:00
Brian Smith 32acbcb96b Issue #1240 - Part 5e - BigInt bitwise operators.
https://bugzilla.mozilla.org/show_bug.cgi?id=1490387
2023-07-19 14:32:00 -05:00
Brian Smith 0da765e156 Issue #1240 - Part 5d - Use the radix when parsing BigInts.
Fixes Hex, Octal and Binary BigInt literal parsing.
Previously it was only parsing in decimal.
2023-07-19 03:02:35 -05:00
Brian Smith a816a6b6de Issue #1240 - Part 5c -Implement ToInt32OrBigInt operation.
https://bugzilla.mozilla.org/show_bug.cgi?id=1490387
2023-07-19 03:00:43 -05:00
Brian Smith 37e02a4bd4 Issue #1240 - Part 5b - BigInt support for basic arithmetic operations.
https://bugzilla.mozilla.org/show_bug.cgi?id=1471134 Parts 3-5.
2023-07-19 02:19:32 -05:00
Brian Smith 93a10f9e2f Issue #1240 - Part 5a - BigInt to Number conversion.
https://bugzilla.mozilla.org/show_bug.cgi?id=1466893
2023-07-19 02:17:04 -05:00
Brian Smith 94240c9002 Merge branch 'master' into bigint-merged 2023-07-18 20:25:54 -05:00
Brian Smith 069fa50258 Issue #1240 - Part 4 - Implement parser support for BigInt literals.
https://bugzilla.mozilla.org/show_bug.cgi?id=1505849
Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1456568
Un-result-ified the BigInt XDR code, so we can enable it.
https://bugzilla.mozilla.org/show_bug.cgi?id=1419094
Uninitialised memory read with BigInt right-shift
https://bugzilla.mozilla.org/show_bug.cgi?id=1679003
2023-07-18 20:23:02 -05:00
Moonchild 7175868124 Merge pull request 'Fix intermittent crash on MacOS 14 Sonoma Beta 3.' (#2274) from dbsoft/UXP:sonomafix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2274
2023-07-17 18:38:50 +00:00
Brian Smith 8c25550baf No Issue - Fix intermitted crash on MacOS 14 Sonoma Beta 3.
Not sure why this is happening but mIOSurface is nullptr.
If we just skip binding, it will be created on the next call to BeginUpdate.
2023-07-17 02:01:35 -05:00
Moonchild cd0c08484d Merge pull request 'Fix cloning of self-hosted functions' (#2273) from martok/UXP-contrib:mr/canon-names into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2273
2023-07-14 16:31:37 +00:00
Martok 3c37b8857d Issue #2271 - Use declared names of self-hosted functions for cloning
Ensure that cloning a self-hosted function always has access to the declared
name from the source and that it doesn't get lost on successive clones.
This is done by storing the declared name in an extended slot on rename, and
cloning it with the function.

Based-on: m-c 1546232
2023-07-13 13:57:43 +02:00
Martok 1eccb6f42a Issue #2271 - Separate cloning of native and interpreted functions
Separate code paths make it easier to follow and specialize than a single
one-size-fits-all function.

Based-on: m-c 1405766, 1411954
2023-07-13 13:57:42 +02:00
Brian Smith cb1aa7f456 Issue #1240 - Part 3c - Fast-forward to the V8 version of BigIntType.
Disabling some sections temporarily since the dependencies are not there yet.
Based on the following: https://bugzilla.mozilla.org/show_bug.cgi?id=1502797
https://bugzilla.mozilla.org/show_bug.cgi?id=1471134
https://bugzilla.mozilla.org/show_bug.cgi?id=1441098 Part 3 & 4
Add structured clone support for BigInt and Enable BigInt wrapping from DOM bindings.
https://bugzilla.mozilla.org/show_bug.cgi?id=1522738
2023-07-13 04:07:05 -05:00
Brian Smith 42cf583a57 Issue #1240 - Part 3b - Implement WrappingOperations.h for wraparound math operations & conversions.
https://bugzilla.mozilla.org/show_bug.cgi?id=1441657
Implement mozilla::WrappingMultiply.
Prerequisite for our V8 fast forward.
2023-07-13 03:27:12 -05:00
Brian Smith 3aeea5f9d0 Issue #1240 - Part 3a - Adjust mozilla::FloatingPoint<T>'s definition.
So only the barest details are specified for floating-point encodings,
with every other number, bit mask, &c. mathematically derived.
Also add a bunch of documentation comments.
https://bugzilla.mozilla.org/show_bug.cgi?id=1508725
Prerequisite for our V8 fast forward.
2023-07-13 03:02:29 -05:00
Brian Smith b2ae4d3885 Issue #1240 - Part 2 - Define the BigIntObject class for BigInt wrapper objects.
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1366287 Part 3.
In our Part 3 we will fast forward to the V8 implementation skipping GMP.
2023-07-13 02:40:25 -05:00
Brian Smith eb7a856c76 Issue #1240 - Part 1 - Define a new BigInt primitive type.
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1366287 Part 1.0.
However leaving out the --enable-bigint changes.
2023-07-13 01:59:24 -05:00
Moonchild 8e0e86face Merge pull request 'Further enhance Maybe<> and use it in the Performance API' (#2272) from dbsoft/UXP:maybe-2255-deux into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2272
2023-07-13 05:54:23 +00:00
Brian Smith 0980b1e936 Issue #2255 - Fix build bustage on Linux.
Need #include <utility> to ensure std::forward is available.
2023-07-12 17:52:59 -05:00
Brian Smith f0b08a209d Issue #2255 - Use Maybe<> in the Performance API. 2023-07-12 14:25:06 -05:00
Brian Smith 3284e449a7 Issue #2255 - Add support for Maybe<T&>
https://bugzilla.mozilla.org/show_bug.cgi?id=1620568
Make Maybe<T>::emplace() work when T is const
https://bugzilla.mozilla.org/show_bug.cgi?id=1335780
2023-07-12 14:24:28 -05:00
Moonchild 377625e539 Merge pull request 'Enhance Mac Packaging via mozconfig options and fix ARM Mac debug builds.' (#2269) from dbsoft/UXP:macbundle-2268 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2269
2023-07-11 15:53:23 +00:00
Brian Smith eae076209f Issue #2268 - Fix Mac packaging by making the individual parts configurable.
Add --with-macbundle-entitlement= to specify alternate entitlements or "none"
Add --with-macbundle-type=hybrid to use the old DMG format.
2023-07-07 17:46:55 -05:00
Brian Smith 7a2f114334 No Issue - Fix debug builds on ARM Mac.
mach_override used by the IO Poisoner used in debug mode is not support on ARM.
https://bugzilla.mozilla.org/show_bug.cgi?id=1658385
2023-07-07 17:38:09 -05:00
Moonchild af5dbfc120 [XPCOM] Win: Update executable extension list 2023-07-05 22:08:40 +02:00
Moonchild 3d87998c59 [DOM] Filter out symlinks for webkitdirectory.
This is effectively a back-out of the following patches from Bug 1274959
except we add comments and test coverage:

- Part 1 which made the DirectoryListingTask include symlinks in the
  results as exposed by Directory.getFilesAndDirectories.
- Part 3 which made GetFilesHelper include symlinks in the results.

Test coverage for getFilesAndDirectories is provided by
dom/filesystem/tests/test_basic.html by way of changes to its included
file dom/filesystem/tests/filesystem_commons.js and changes to the
createTreeFile helper in dom/filesystem/tests/script_fileList.js.
Test coverage for GetFilesHelper is provided by
dom/filesystem/tests/test_webkitdirectory.html and changes to the
createTestFile helper in dom/filesystem/tests/script_fileList.js.

Commenting out either of the `isLink` test in the relevant C++ code will
cause the given tests to fail on non-windows platforms.
2023-07-05 21:55:00 +02:00
Moonchild 6f46768035 [network] Prepare for requiring Authorization in CORS ACAH preflight
The Authorization header with a JSON Web Token (JWT) can be sent via
XMLHttpRequest without explicit authorization via Access-Control headers.
According to the spec, this must always explicitly be mentioned in ACAH
request headers and isn't allowed to be wildcarded. However, nobody
currently obeys this rule and many websites are misconfigured because
Chromium and Firefox always allowed it.

This patch adds the more stricter code but keeps it behind an #ifdef 0
to be released later on if and when there is enough consensus on the web
to obey this spec. This patch explicitly avoids the added complexity
Mozilla added to educate web devs since our role in that respect is not
significant. it's not preffed and it won't throw an explicit deprecation
warning.

See Mozilla bugs 1687364 and 1841019.
2023-07-05 19:27:03 +02:00
Moonchild b98ca4be18 Merge pull request 'Simplify and enhance Maybe and Some().' (#2267) from dbsoft/UXP:maybesome-update into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2267
2023-07-04 21:17:52 +00:00
Brian Smith d9c5b3bde5 Issue #2255 & #1240 - Simplify and enhance Maybe and Some().
https://bugzilla.mozilla.org/show_bug.cgi?id=1325351
This is a prerequisite for our BigInt V8 fast forward and potential #2255 fix.
2023-07-04 13:58:36 -05:00
Moonchild b3f6b7a224 [multiple] Update Intl tests. 2023-07-02 11:36:47 +02:00
Moonchild 05d58b4aa1 Issue #1656 - Follow-up: Re-nuke the vim lines introduced in #2265 2023-07-02 10:28:09 +02:00
Moonchild 90aaa1fdfb Merge pull request 'Intl API Updates' (#2265) from martok/UXP-contrib:intl-upgrades into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2265
2023-07-02 08:18:10 +00:00
Moonchild e40bea1e04 Merge pull request 'Improve incremental GC sweeping' (#2264) from gcsweep-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2264
2023-07-02 08:16:54 +00:00
Martok 569f23eb6a Issue #2046 - Implement Intl.DateTimeFormat's date-/timeStyle and hourCycle options
- remove mozExtensions flag and expose to client code

Based-on: m-c 1557718
2023-06-30 00:01:36 +02:00
Martok af47a256b5 Issue #1819 - Further align Intl.Locale to spec
- Reference updates (UTS 35)
- variant subtag and transform extension canonicalisation
2023-06-30 00:01:35 +02:00
Martok e96f965422 Issue #2259 - Performance improvements for LanguageTag parsing
- parsing: dont normalise things that don't need to be normalised anymore:
  extension, private-use, variant, language, script, and region subtags
- Add missing() and present() methods to LanguageSubtag
- Change mozilla::Range to mozilla::Span for slightly better code

Based-on: m-c 1592588
2023-06-30 00:01:35 +02:00
Martok 7c3aa6a8b6 Issue #2259 - Performance improvements in Locale
- Move BestAvailableLocale function to C++
- Move default locale computation to C++
- Add available-locales set to SharedIntlData
- Remove separate sets for DateFormat and NumberFormat available locales.

Based-on: m-c 1373089
2023-06-30 00:01:35 +02:00
Martok 1a9d6d6372 Issue #1819 - Implement Intl.Locale proposal
This is according to spec for the mozilla71 cycle, a follow-up will further adjust to spec.

- Add Intl.Locale as native C++
- Port Unicode BCP 47 locale identifier parser to C++
- Port language tag parser to C++
- adjust make_intl_data to generate the data

Based-on: m-c 1433303, 1570370
2023-06-30 00:01:35 +02:00
Martok 2f940bdc9d Issue #2259 - process Unicode langtags and locale identifiers according to BCP 47
Major spec change: text references are to BCP47 (not the implementing RFCs) and
the single source of truth is now Unicode CLDR.

- Switch from IANA to CLDR for make_unicode
- Update grandfathered tag handling directly in the parser
- Don't support extlang, irregular, privateuse or 4-letter subtags
- Adjust comments to refer to Unicode BCP 47 locale identifiers, remove RFC 5646
- Canonicalize/order langtags correctly
- Tokenize BCP47 in reusable class

Based-on: m-c 1407674(partial), 1451082, 1530320, 1522070, 1531091
2023-06-30 00:01:34 +02:00
Martok 6808e659ad Issue #2195 - Add support for hourCycle to Intl.DateTimeFormat
Based-on: m-c 1386146, 1430809
2023-06-30 00:01:34 +02:00
Martok 371ae1639a Issue #2259 - Improve ResolveLocale performance when initializing the default Intl objects
Based-on: m-c 1365650
2023-06-30 00:01:27 +02:00
Martok 33ec3d04f2 Issue #2259 - Support Unicode extensions with multiple value subtags in BCP47 language tags
Based-on: m-c 1321789
2023-06-30 00:01:18 +02:00
Martok f168e0afe9 Issue #2259 - Reimplement String.prototype.toLocale{Lower,Upper}Case per ECMAScript Intl specification
- Update make_unicode to output SpecialCasing
- Handle special casing
- Use realloc instead of malloc when resizing a newly created string buffer

Based-on: m-c 1318403, 1431957
2023-06-29 23:05:33 +02:00
Martok 9eb285a9fb Issue #2259 - Implement caseFirst option in Intl.Collator
Based-on: m-c 866473
2023-06-29 23:03:12 +02:00
Martok bbe3b8e12f Issue #2046 - Introduce mozIntl.DateTimeFormat with mozExtensions
Based-on: m-c 1329904
2023-06-29 23:02:37 +02:00
Martok 73c366766a Issue #2259 - Update Intl.* Object-ness to ECMA-402, 4th edition
- turn each Intl object into a NativeObject subclass
- create them as PlainObject
- ensure correct type is passed in self-hosted code
- implement legacy constructor semantics for DateTime&NumberFormat
- store internals on object slot instead of JS WeakMap

Based-on: m-c 1328386, 1332604
2023-06-29 23:02:11 +02:00
Martok 388733cd1d Issue #2259 - Introduce helper for self-hosted hasOwnProperty calls in intl 2023-06-29 22:27:29 +02:00
Martok 35f1a49cf2 Issue #2259 - Adjust self-hosted Array.prototype.sort to ES2018
The comparator to ArraySort must be optional also in self-hosted code, where calling the
implementation directly is generally faster than calling between JS and C++ multiple times.
2023-06-29 22:27:29 +02:00
Martok c2019fa28c Issue #2259 - Add JS::StackGCVector and JS::RootedVector
Based-on: m-c 1521732/{1,3}, 1527881
2023-06-29 22:27:29 +02:00
Martok bed754c21c Issue #2259 - Add mozilla::Result<V, E> and JS::Result<> for fallible return values
Based-on: m-c 1283562, 1277368/1, 1324828
2023-06-29 22:27:28 +02:00
Martok 85efbc0c1e Issue #2259 - Add mozilla::Vector -> mozilla::Span implicit conversion
Based-on: part of m-c 1578339
2023-06-29 22:27:18 +02:00
Martok 93bd7fc61e Issue #2259 - Add missing IsAscii* helper functions in mozilla/TextUtils.h 2023-06-29 22:18:07 +02:00
Martok 1ec5d757e6 Issue #1969 Follow-Up: Error reporting arguments in RelativeTimeFormat/DateTimeFormat 2023-06-29 22:18:07 +02:00
Moonchild 1a3f3da99d Fix debug builds 2023-06-28 19:54:07 +02:00
Moonchild b238bb079f Avoid TLS lookups when checking if zones need to be marked for GC.
This converts the fromPointer() calls to an object cast to (hopefully)
avoid the GC crashes. Logic is reversed from MustSkipMarking to
ShouldMark with appropriate renames.
2023-06-27 18:39:24 +02:00
Moonchild c3d4cec8ad Simplify incremental GC sweeping
Splitting several parts of `SweepPhase` into constituent parts to
separate out sweeping code from code that handles yielding to the
mutator and resuming.
2023-06-27 03:04:39 +02:00
Moonchild a666c05d68 Merge pull request 'Build UXP with C++14 by default' (#2263) from martok/UXP-contrib:build-cpp14 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2263
2023-06-26 09:36:27 +00:00
Martok 14836b0c17 Issue #2262 - Build with C++14 by default
Including infrastructure changes to ensure correct opts for future changes.

Based-on: m-c 1325632, 1418047, 1418573
2023-06-21 22:18:07 +02:00
Moonchild 30829b7a07 Merge pull request 'Remove support for "experiment" type extensions' (#2261) from FranklinDM/UXP-contrib:work_telemetry-remove-experiment-extensions into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2261
2023-06-20 09:31:08 +00:00
Moonchild 2fe6bb5c36 Merge pull request 'Follow-up: Print leaking class name and remove crash reporter dependency' (#2260) from FranklinDM/UXP-contrib:work_js-1691-followup-1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2260
2023-06-20 09:30:39 +00:00
FranklinDM 773cbb1a3e Issue #21 - Follow-up: Remove experiment category images 2023-06-19 21:59:39 +08:00
FranklinDM 5f6b2407e7 Issue #21 - Part 3: Remove experiments localization
This also removes bits from about:support that weren't removed in bf6bb142fc.
2023-06-19 21:55:23 +08:00
FranklinDM adfb8133d1 Issue #21 - Part 2: Remove experiment extension assets and styling 2023-06-19 21:55:22 +08:00
FranklinDM 559d2ed26f Issue #21 - Part 1: Remove experiments base code from the Add-ons Manager
The experiments manager was already removed in bf6bb142fc and this was imported dead code from Tycho AM.
2023-06-19 21:55:21 +08:00
Moonchild 2004256c89 No issue - Update SQLite lib to 3.42.0 2023-06-19 15:34:01 +02:00
FranklinDM 32751e3d8f Issue #1691 - Follow-up: Print leaking class name and remove crash reporter dependency 2023-06-19 15:15:47 +08:00
Moonchild c11311fd5b No issue - Set the default for incremental cycle collector to be off.
Negative performance impact if enabled.
2023-06-04 17:15:36 +02:00
Moonchild 4253a2a893 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-01 18:45:35 +02:00
Moonchild 6e35a8566e 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-05-29 22:47:26 +02:00
Moonchild 281a8854d0 Merge pull request 'Fix crashes and assertions involving ::slotted() and ancestor matching' (#2253) from FranklinDM/UXP-contrib:work_css-slotted-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2253
2023-05-23 13:32:31 +00:00
Moonchild 370e66ecce Merge pull request 'Prevent crash when attempting to load a script with execution disallowed.' (#2254) from dbsoft/UXP:noscript2252 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2254
2023-05-23 13:28:22 +00:00
Brian Smith beabbde706 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-21 07:55:37 -05:00
FranklinDM ac5101015f Issue #1592 - Follow-up: Ensure topmost scope marker is cleaned up 2023-05-21 19:01:42 +08:00
FranklinDM 0627dc7639 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-21 19:01:42 +08:00
FranklinDM c58f825821 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-21 19:01:41 +08:00
Moonchild e4eb31879f Merge pull request 'Ensure jit_ioncheck{1|2|3}_deunified_sources in js/src/moz.build is defined.' (#2248) from jobbautista9/UXP:2221-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2248
2023-05-17 11:09:09 +00:00
Job Bautista 709d0bde73 Issue #2221 - Follow-up: Simplify jit_ioncheck{1|2|3}_deunified_sources assignment. 2023-05-17 19:02:53 +08:00
Moonchild 2a730d59f9 Merge pull request 'Implement Array find from last.' (#2247) from jobbautista9/UXP:array-findlast into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2247
2023-05-17 10:52:33 +00:00
Job Bautista 5ee57767e0 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-17 18:13:48 +08:00
Job Bautista 61d8ec5478 Issue #2246 - Implement Array find from last.
Based on the implementation from Mozilla bug 1704385.
2023-05-17 17:21:08 +08:00
Moonchild 3f09edfde0 Merge pull request 'Implement geometry .from* static constructors' (#2242) from jobbautista9/UXP:2241-fromrect-nodouble into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2242
2023-05-14 22:05:31 +00:00
Moonchild b116ab7a1e Merge pull request 'Implement partial support for calc-in-color' (#2244) from FranklinDM/UXP-contrib:work_css-hack-calc-in-color into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2244
2023-05-14 22:03:43 +00:00
FranklinDM ddf3f39070 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-14 18:31:21 +08:00
FranklinDM e56b7b826d 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 https://github.com/roytam1/UXP/commit/8a0897d23f5b51526f8a2c6ef63cb26968e6b985
2023-05-13 19:22:42 +08:00
FranklinDM 19650c6f8a Issue #1765 - Part 1: Move ReduceNumberCalcOps struct up higher, rename IsCSSTokenCalcFunction to CSSParserImpl::IsCalcFunctionToken 2023-05-13 19:22:42 +08:00
Job Bautista d2a86d81f3 Issue #2241 - Part 7.2 Follow-up: Fix build bustage due to unified building in Basilisk.
Tag #80
2023-05-12 19:04:16 +08:00
Job Bautista ccb51f2f40 Issue #2241 - Part 8: Remove non-working layout.css.DOM*.enabled prefs.
A follow-up to fdfe7a8245.
2023-05-12 16:28:57 +08:00
Job Bautista ecf05312e6 Issue #2241 - Part 7.2: Implement .fromRect and .fromQuad.
Backported from Mozilla bug 1558101.
2023-05-12 16:26:06 +08:00
Job Bautista c7ca649bd1 Issue #2241 - Part 7.1: Implement .fromFloat{32/64}Array.
Backported from Mozilla bug 1558101.
2023-05-12 16:26:06 +08:00
Job Bautista b2889d844f Issue #2241 - Part 6: Implement DOMMatrix.fromMatrix.
Also fixes .multiply() to use DOMMatrixInit.

Backported from Mozilla bug 1560462.
2023-05-12 16:26:06 +08:00
Job Bautista fdfe7a8245 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-12 16:26:06 +08:00
Job Bautista 709c34a448 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-12 16:26:05 +08:00
Job Bautista 0adb8cc71f 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-12 16:26:05 +08:00
Job Bautista 286e18e40c 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-12 16:26:05 +08:00
Job Bautista 4c2a1920b8 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-12 16:26:05 +08:00
Job Bautista 29bdffbb54 Issue #2241 - Part 3: Extend DOMMatrixReadOnly to allow instantiation with a Matrix4x4.
Backported from Mozilla bug 1355675.
2023-05-12 16:26:05 +08:00
Job Bautista ef31c426b1 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-12 16:26:04 +08:00
Job Bautista 30b5a4d830 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-12 16:26:04 +08:00
Moonchild aed983c97b No issue - block a few problematic DLLs. 2023-05-11 01:13:44 +02:00
Moonchild ab3e0ceef7 No issue - Disable ms-cxh and ms-cxh-full protocol handling. 2023-05-11 00:10:27 +02:00
Moonchild 0fcefb9d0a [widget] Rewrite data-read loop in OnDataAvailable.
The read-loop in OnDataAvailable was needlessly baroque and used a very
strange dialect of Hungarian notation. Factored out the zero-element
case for simplicity, and added justification in comments as-appropriate.
2023-05-10 23:15:23 +02:00
Moonchild 8666ce68fc No issue - Limit JPEG decoder memory allocation to surface cache size.
This means that for trivial images whose header specifies large
dimensions but with no image data, we don't waste a lot of memory.
See BZ bug 1277397
2023-05-10 22:50:22 +02:00
Moonchild f9f3dfd1ac Merge pull request 'Fix import.meta module error in lambdas by moving parseGoal() into SharedContext.' (#2238) from dbsoft/UXP:importmeta into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2238
2023-05-09 07:44:27 +00:00
Moonchild 8395e1f700 Merge pull request 'Updates to Mac packaging for notarization.' (#2239) from dbsoft/UXP:macentitlements into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2239
2023-05-09 07:36:08 +00:00
Brian Smith 688394928d No Issue - Updates to Mac packaging for notarization. Add Mac entitlements.
Switch to using "create" instead of "makehybrid" when creating the disk image.
This fixes bogus extended attributes which interfere with the code signature.
Finally add any -bin or dylibs in the Resources folder since --deep skips that folder.
2023-05-08 20:18:12 -05:00
Brian Smith 13536bf8c9 Issue #2236 - Fix import.meta module error in lambdas by moving parseGoal() into SharedContext.
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1604792
Also remove ParseGoal being passed through Parser introduced in #1691 Part 2.
2023-05-08 18:28:18 -05:00
Moonchild 2971cffab4 Merge pull request 'Create async function wrapper when instantiating module functions' (#2235) from FranklinDM/UXP-contrib:work_js-async-func-in-modules into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2235
2023-05-06 19:52:30 +00:00
FranklinDM ca10d0ad23 Issue #2234 - Part 3: Update tests
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1402649 and https://bugzilla.mozilla.org/show_bug.cgi?id=1382306
2023-05-07 01:01:23 +08:00
FranklinDM e381dd84c2 Issue #2234 - Part 2: Ensure that the created async function wrapper is valid
This excludes the GC-related changes (cell pointer asserts) since we don't have them. This bug should be revisited if we'd ever plan on porting those asserts over.

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1402649
2023-05-07 01:01:22 +08:00
FranklinDM 4b516daf13 Issue #2234 - Part 1: Create async function wrapper when instantiating module functions
This excludes the change that removes "excessive" rooting from the Lambda* methods in Interpreter.cpp.

Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1382306
2023-05-07 01:01:21 +08:00
Moonchild a928dac2f1 Merge pull request 'Parse exported async functions.' (#2233) from jobbautista9/UXP:2232-exportasync into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2233
2023-05-06 08:11:54 +00:00
Job Bautista 42f88e499d Issue #2232 - Parse exported async functions. 2023-05-06 15:32:59 +08:00
Moonchild 83edd9cfc6 Issue #1691 - Follow-up: Ship dynamic module imports enabled by default. 2023-05-05 16:07:21 +02:00
Moonchild 08a7bb2e70 Merge pull request 'Do not parse or return body for XHRs with HEAD/CONNECT method or content-length=0' (#2231) from martok/UXP-contrib:mr/xhr-parse-body into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2231
2023-05-05 13:55:17 +00:00
Moonchild e7e10ab287 Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from accessible, [root], tools, uriloader, widget, xpcom and
xpfe.
Resolves #1656
2023-05-05 15:53:29 +02:00
Moonchild b9da018639 Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from modules, netwerk, security, storage, testing, toolkit, and
a few scattered misc files. More to come.
2023-05-05 15:20:27 +02:00
Moonchild 5eab50c9f9 Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from embedding, extensions, gfx, hal, ipc, layout, mailnews,
media and memory. More to come.
2023-05-04 22:06:35 +02:00
Martok 285cc24da6 No Issue - Do not parse or return body for XHRs with HEAD/CONNECT method or content-length=0
Based-on: m-c 1392220, 1437360
2023-05-04 21:03:16 +02:00
Moonchild 1e50ffb192 Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from dom. More to come.
2023-05-04 03:33:25 +02:00
Moonchild ce594b49ca Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from the rest of js, caps, chrome, config, devtools, docshell,
image, intl. More to come.
2023-05-03 22:09:21 +02:00
Moonchild 5d4f11bfaf Issue #1656 - remove vim control lines from js/src
With recent work a bunch more vim control lines were re-introduced.
This nukes them again.
2023-05-03 20:17:09 +02:00
Moonchild b30d6d72f7 Bump platform version. 2023-05-03 19:56:24 +02:00
Moonchild 127bf5784a Merge pull request 'JS: Implement Class Fields & Logical Assignment Operators' (#2224) from martok/UXP-contrib:mr/class-fields into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2224
Reviewed-by: Moonchild <moonchild@palemoon.org>
2023-05-03 17:29:59 +00:00
Moonchild 36ea7f9a5c Merge pull request 'Fix videojs and potentially other problems.' (#2228) from dbsoft/UXP:1691fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2228
2023-05-02 19:06:08 +00:00
Brian Smith c29f841bdc Issue #1691 - Follow-up: Fix videojs and potentially other problems.
When rewriting the ExecutionContext code in ScriptLoader I accidentally removed some required code.
2023-05-02 10:44:02 -05:00
Martok 63a00fdd25 Issue #2097 - Handle Logical Assignment in Ion CFG 2023-05-01 17:16:22 +02:00
Martok 3d38507c23 Issue #2097 - Implement logical assignment operators
Based-on: 1629106/1, 1684020
2023-05-01 17:16:22 +02:00
Martok 12626eeba3 Issue #2142 - Remove the temporary fields option
Now that everything is finished, we don't need the feature flag any more.
2023-05-01 17:16:21 +02:00
Martok 5e32190186 Issue #2142 - Implement class static block
Based-on: m-c 1712138/{2,3}, 1713155/2
2023-05-01 17:16:21 +02:00
Martok 7b74607f1f Issue #2142 - Track isFieldInitializer on JSScript instead of Scope
Introduce a FunctionSyntaxKind for FieldInitializer since special rules
(around `arguments`) apply. At the same time we can move the flag from the
scope to the JSScript. This is similar to how derived constructors are handled
and makes the initWithEnclosingScope code closer to initWithEnclosingContext.

This version is a bit more complex than Mozilla's due to different storage of
bit flags on JSScript.

Based-on: m-c 1636800
2023-05-01 17:16:21 +02:00
Martok 0f3f695117 Issue #2142 - Parse and process static class fields
Based-on: m-c 1535804/{6,7}
2023-05-01 17:16:21 +02:00
Martok 09956fe9e4 Issue #2142 - Support SuperProperty in field initializers
Based-on: m-c 1555037/2
2023-05-01 17:16:20 +02:00
Martok 3ceff0d994 Issue #2142 - Optimize .initializers scoping and emitter
* Refactor code for emitting the .initializers array into ClassEmitter
* Only emit .initializers scope when actually required
* Remove unfinished code to handle non-present class field initialisers
* Use predicate count_if and any_of of ListNode
* Remove unnecessary parameters for class field parsing

Based-on: m-c 1553744, 1555979, 1555037/1, 1535804/{1-5}
2023-05-01 17:16:20 +02:00
Martok fc82386ef5 Issue #2142 - Set anonymous function name in field initializer
This was done wildly different in m-c 1552875, in the interest of keeping
|setOrEmitSetFunName| around it is implemented differently here.
2023-05-01 17:16:20 +02:00
Martok 2c06165a59 Issue #2142 - Don't treat PNK_NAME specially emitAssignmentOrInit
If there ever was a point where this structure "avoids duplication", at least since the
*OpEmitter refactor emitting PNK_NAME differently makes it actually harder to follow.

Mozilla makes the same change at a different time.
2023-05-01 17:16:19 +02:00
Martok 445fd61891 Issue #2142 - Emit field keys in correct order
Based-on: m-c 1552229
2023-05-01 17:16:19 +02:00
Martok c1681ef614 Issue #2142 - Pass through arguments in synthesized constructors for derived classes
Based-on: m-c 1552022
2023-05-01 17:16:19 +02:00
Martok 7521dd33e7 Issue #2142 - Fix several scoping issues in field initializers
Based-on: m-c 1540789, 1547130, 1547467
2023-05-01 17:16:19 +02:00
Martok 98853c14d7 Issue #2142 - Restrict contents of direct eval in fields
Based-on: m-c 1542406
2023-05-01 17:16:18 +02:00
Martok e708a68921 Issue #2142 - Use JSOP_INITPROP for field initializers
We don't want to call setters for field initialization.

Based-on: m-c 1535471, 1547035
2023-05-01 17:16:18 +02:00
Martok b35fadd54c Issue #2142 - Implement ASI for fields
Based-on: m-c 1529772/{3,4}
2023-05-01 17:16:18 +02:00
Martok 0d3a394cad Issue #2142 - Factor out PropertyName parsing from Parser::propertyName()
Based-on: m-c 1529772/{1,2}
2023-05-01 17:16:18 +02:00
Martok f7935ec5b2 Issue #2142 - Handle fields in derived classes
* Don't name field initializer lambdas

Based-on: m-c 1534721, 1551454, 1542448
2023-05-01 17:16:18 +02:00
Martok b72b80ed58 Issue #2142 - Add FunctionEmitter, FunctionScriptEmitter, and FunctionParamsEmitter with current methods
Based-on: m-c 1473796/3, 1473796/4
2023-05-01 17:16:17 +02:00
Martok a3584bd6b9 Issue #2142 - Add PropertyEmitter, ObjectEmitter, ClassEmitter, LexicalScopeEmitter, DefaultEmitter
Based-on: m-c 1501577, 1521696, 1501578, 1473796/1
2023-05-01 17:16:17 +02:00
Martok 559bacdb66 Issue #2142 - Improve TokenPos handling in BCE
* Don't print bogus error locations on BCE internal errors
* Do not use TokenPos in BytecodeEmitter::{setFunctionBodyEndPos,setScriptStartOffsetIfUnset}

Based-on: m-c 1451826/1, 1530034, 1473796/2
2023-05-01 17:16:17 +02:00
Martok 3cbe292dc6 Issue #2142 - Implement syntax for public/private fields and computed field names
This state still has the initializers scoped on .initializers local variable, which will be changed later.

Based-on: m-c 1499448, 1530084, 1530832, 1529448 (partial), 1532921, 1528039, 1528038, 1535166, 1550628,
              1535166, 1550628, 1541641, 1547133, 1540787, 1535804/9
2023-05-01 17:16:17 +02:00
Moonchild 741ecee75a Merge pull request 'Implement Element.replaceChildren' (#2226) from FranklinDM/UXP-contrib:work_js-element-replacechildren into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2226
2023-05-01 14:17:52 +00:00
FranklinDM eb4d4475b0 Issue #2225 - Implement Element.replaceChildren
This accounts for refactoring changes (e.g. avoids RemoveChild*
changes).

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1626015
2023-05-01 21:05:38 +08:00
Martok 7647230e93 Issue #2142 - Add internal option for fields, but always true
This allows us to perform bisects on the following commits without causing runtime issues.

Based-on: m-c 1529758
2023-04-30 22:00:06 +02:00
Martok 6b36e0f3c0 Issue #2142 - Reduce calls to FindReservedWord when checking for forbidden identifiers during parsing
Based-on: m-c 1351913/{1,2}
2023-04-30 22:00:06 +02:00
Moonchild ed041c19c5 Merge pull request 'Replace deprecated Harfbuzz functions with current ones.' (#2223) from jobbautista9/UXP:1862-harfbuzz-deprecated-methods into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2223
2023-04-30 19:44:13 +00:00
Moonchild 40f2e813d4 Merge pull request 'Use link-time optimization for Spidermonkey in Windows by default, and fix a deprot in js/src' (#2222) from jobbautista9/UXP:ltcg-js into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2222
2023-04-30 19:40:46 +00:00
Moonchild 3ff018f32f Merge pull request 'Collected small changes' (#2214) from martok/UXP-contrib:mr/collect-1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2214
2023-04-30 19:36:28 +00:00
Martok 6ab2fe9a69 Issue #2142 - Ensure 'await' is always a restricted identifier when parsing modules
Based-on: m-c 1356189
2023-04-30 20:56:24 +02:00
Martok 750a32d64d Issue #2142 - Add predicate functions count_if and any_of to ListNode iterator 2023-04-30 20:56:23 +02:00
Martok d4be309498 Issue #2142 - Change InitPropertyOperation to accept a PropertyName directy and use DefineDataProperty
Based-on: m-c 1413907, 1547129
2023-04-30 20:56:23 +02:00
Martok 196d6a6931 Issue #2142 - Extend newSuperCall for JSOP_SPREADSUPERCALL
Based-on: m-c 1537936
2023-04-30 20:56:23 +02:00
Martok a356af699f Issue #2142 - Fold BytecodeEmitter::checkTypeSet into BytecodeEmitter::emitCheck
The bytecode emitter used to call checkTypeSet for each JOF_TYPESET op. Despite
correctness asserts in the TypeScript code, this was pretty error prone.

The solution is to move this check to BytecodeEmitter::emitCheck (called for
each opcode we emit), so we don't have to worry about this anymore.

Based-on: m-c 1521491/3
2023-04-30 20:56:22 +02:00
Martok eebbd8cb00 Issue #1691 - Follow-up: use error message with no arguments for bad import statements 2023-04-30 20:55:40 +02:00
Job Bautista 4a2aae060f Issue #1862 - Follow-up: Replace deprecated Harfbuzz functions with current ones.
Based on Mozilla bug 1500356.
2023-04-30 21:20:06 +08:00
Job Bautista 9baae9a47e Issue #1691 - Follow-up: Fix CallSelfHostedFunction deprot introduced by Part 4. 2023-04-30 21:11:01 +08:00
Job Bautista 42e0b5db07 Issue #2221 - Enable link-time optimization for Spidermonkey by default if building it shared.
Currently only Windows can take advantage of this.

The reason why the arrays of deunified sources are named like that in
Spidermonkey's moz.build is to avoid UnsortedErrors in python. There's probably
a better way to handle that, but I just want something that works for now.

And yes, the deunified sources will be reunified if LTO is disabled.
2023-04-30 21:10:44 +08:00
Martok 311482507b Issue #1285 - Follow-up: Correctly handle follow-up compilations of RegExp with named capturing groups 2023-04-30 13:26:26 +02:00
Martok 9f246c4c74 Issue #1894 - Follow-up: Fix return value ordering in IonMonkey nullish coalescing 2023-04-30 13:26:26 +02:00
Martok 06222816f7 Issue #2173 - Follow-up: Use common ancestor of PNK_(OPT)DOT in ASTSerializer::expression 2023-04-30 13:26:26 +02:00
Martok c11d3892a5 Issue #2213 - Follow-up: Fix derieved Generator prototypes after previous change 2023-04-30 13:26:25 +02:00
Moonchild 4d4d8cfc9f Merge pull request 'Bug 1432272 - Make Fetch API use the global's base URL instead of the entry document's base URL' (#2217) from FranklinDM/UXP-contrib:work_js-bz-1432272 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2217
2023-04-30 10:55:21 +00:00
Moonchild ff537f4ffd Merge pull request 'Split hunspell library out of xul.' (#2212) from jobbautista9/UXP:shared-hunspell-nojs into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2212
2023-04-30 10:54:22 +00:00
Moonchild 78156cd0ca Merge pull request 'Follow-up: Use internal Move instead of std::move for consistency in SurfaceCache' (#2220) from FranklinDM/UXP-contrib:work_image-followup-move into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2220
2023-04-30 10:51:48 +00:00
Moonchild 732e1bb7f7 Merge pull request 'Implement Dynamic Module Import and its various dependencies.' (#2215) from dbsoft/UXP:d-m-i into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2215
2023-04-30 10:51:26 +00:00
Moonchild 22e68f166c Merge pull request 'Free ImageSurfaceCache outside of the SurfaceCache mutex lock' (#2219) from FranklinDM/UXP-contrib:work_image-free-imagesurfacecache-outside-lock into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2219
2023-04-30 10:51:00 +00:00
FranklinDM e821844e24 Issue #2073 - Follow-up: Use internal Move instead of std::move for consistency 2023-04-30 18:21:06 +08:00
FranklinDM 7251ed27ff Issue #2218 - Part 2: Make SurfaceCache free ImageSurfaceCache objects outside of the lock
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1389479
2023-04-30 18:17:29 +08:00
FranklinDM 608f037816 Issue #2218 - Part 1: Add nsExpirationTracker::NotifyEndTransaction(Locked) callbacks for subclasses to know when an aging iteration is complete
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1389479
2023-04-30 18:17:24 +08:00
Moonchild 1978ebd3b8 Merge pull request '[MailNews] Fix build bustage due to recent MIME API changes' (#2216) from FranklinDM/UXP-contrib:work_mail-fix-mime-api-bustage into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2216
2023-04-28 16:54:12 +00:00
FranklinDM 80a323d747 Bug 1432272 - Make Fetch API use the global's base URL instead of the entry document's base URL 2023-04-28 20:52:48 +08:00
FranklinDM 479561661e No issue - [MailNews] Fix build bustage due to recent MIME API changes 2023-04-28 20:23:29 +08:00
Brian Smith f7ee58a9e7 Issue #1691 - Part 16: Dynamically imported modules can throw any value as an exception.
https://bugzilla.mozilla.org/show_bug.cgi?id=1508672

(cherry picked from commit 910a37b53f1826a863cc3ab6eb61fc369f4505a0)
2023-04-27 13:35:48 -05:00
Brian Smith 32029813bb Issue #1691 - Part 15: Make |new import()| a syntax error.
https://bugzilla.mozilla.org/show_bug.cgi?id=1508672

(cherry picked from commit 45fda91268b6a3ca8471c8094f2d640ebad682f9)
2023-04-27 13:35:40 -05:00
Brian Smith 623b0dc624 Issue #1691 - Part 14: Fix a debug assert and memory leak.
PNK_IMPORT_META and PNK_CALL_IMPORT are binary nodes... They function similar
to list nodes, so they worked there, but debug mode asserts because of the wrong type.
https://bugzilla.mozilla.org/show_bug.cgi?id=1342012
Fixed a memory leak due to missing code in SourceScriptObject::finalize(). Thanks FranklinDM!

(cherry picked from commit 15e81193c692c2c2aec665e7e5a88d98a9b85eca)
2023-04-27 13:35:34 -05:00
Brian Smith b1ed742b2f Issue #1691 - Part 13: Remove MUST_MATCH_TOKEN* macros in Parser.
https://bugzilla.mozilla.org/show_bug.cgi?id=1501928
This was helpful in debugging one of the crashes, the macros made debugging a nightmare.

(cherry picked from commit 7bceec3f7dff086305c3f50939a8c830ca7f107b)
2023-04-27 13:35:28 -05:00
Brian Smith 1adf442e92 Issue #1691 - Part 12: Fix return value in ExecScript() and debug assert in ParseTask.
https://bugzilla.mozilla.org/show_bug.cgi?id=1331662
Replace nsJSUtils::EvaluateString calls by ExecutionContext scopes.
ExecutionContext: The mRetValue is not used even though it is checked in various asserts.
This is how it is in the Mozilla code even years later, only the passed in value is used.
ParseTask: JoinDecode() and JoinCompile() run the same code but the type is different
causing a debug assert when it checks the type Script vs ScriptDecode.

(cherry picked from commit 8f577428b7834b7d0f0d5afacbe060fbb1ff2136)
2023-04-27 13:35:21 -05:00
Brian Smith 7b42bc809d Issue #1691 - Part 11: Fix incorrect reference counting in ModuleScript class.
(cherry picked from commit 4ef1fa98c9518f5c107424667229ddb6f9f97767)
2023-04-27 13:35:14 -05:00
Brian Smith 22d254b479 Issue #1691 - Part 10: Add and use method to annotate CC crashes with a class name.
https://bugzilla.mozilla.org/show_bug.cgi?id=1277260
Make PtrInfo into a class and mark it final.
Also fix an erroneous debug assert because mBaseURL not set in one code path.

(cherry picked from commit a1890054011adf0cf87be0d56047418c9f201420)
2023-04-27 13:35:07 -05:00
Brian Smith 30a6828f47 Issue #1691 - Part 9: Make import() work when the active script is in another document.
https://bugzilla.mozilla.org/show_bug.cgi?id=1342012
Associate event handler with active script when they are compiled.

(cherry picked from commit 1a3cc5d6828a05a6309d959fad3c7e959ab9eb8d)
2023-04-27 13:35:01 -05:00
Brian Smith 914299b8ba Issue #1691 - Part 8: Fix --enable-debug builds and continue dynamic module import changes.
https://bugzilla.mozilla.org/show_bug.cgi?id=1342012
Support import from timeout handlers by associating the initiating script with the compiled JSScript.
Fix error message that covers all import() failures that don't throw a JS exception.
https://bugzilla.mozilla.org/show_bug.cgi?id=1331662
Partial - Replace nsJSUtils::EvaluateString calls by ExecutionContext scopes.
Left EvaluateString() in nsXBLProtoImplField.cpp until ExecutionContext errors can be fixed.

(cherry picked from commit 22fcfc77971a9bb204df664c474681f4dcf54211)
2023-04-27 13:34:55 -05:00
Brian Smith e29f4488b1 Issue #1691 - Part 7f: Split up compile and execute so we can use ClassicScript.
https://bugzilla.mozilla.org/show_bug.cgi?id=1342012
Refactor nsJSUtils::ExecutionContext to separate compilation and execution steps and allow extraction of compiled JSScript.
https://bugzilla.mozilla.org/show_bug.cgi?id=1366773
Move buffer argument from JS::StartIncrementalEncoding to JS::FinishIncrementalEncoding.

(cherry picked from commit d4b520b08b958e116dfeeffdc61f3425610d1ce9)
2023-04-27 13:34:48 -05:00
Brian Smith 8431e52405 Issue #1691 - Part 7e: Dependencies for required to finish part 7d.
https://bugzilla.mozilla.org/show_bug.cgi?id=1331662
Reimplement EvaluateString using the ExecutionContext class.
https://bugzilla.mozilla.org/show_bug.cgi?id=1316078
Extract redudant code into StartOffThreadParseTask.
Use an ExclusiveContext instead of a JSContext in XDR functions.
Add a script decoder as a valid off-main-thread parse-task.
https://bugzilla.mozilla.org/show_bug.cgi?id=900784
Add nsJSUtils functions for encoding and decoding the bytecode.
https://bugzilla.mozilla.org/show_bug.cgi?id=1316081
Add XDRIncrementalEncoder to replace delazified LazyScript in the encoded XDR buffer.
Add an XDRIncrementalEncoder instance on the ScriptSource.
Expose a new JSAPI to incrementally encode bytecode when it is generated.
https://bugzilla.mozilla.org/show_bug.cgi?id=1334091
XDR function use the sourceObject instead of the enclosingScript as argument.

(cherry picked from commit d6de9a669f4b2f5115670bd771cd53d7cfb3956a)
2023-04-27 13:34:41 -05:00
Brian Smith 3a59f91dee Issue #1691 - Part 7d: Allow dynamic import in cases where there's no referencing script or module.
Support dynamic import from classic scripts by creating ClassicScript objects and associating them with the compiled.
https://bugzilla.mozilla.org/show_bug.cgi?id=1342012
This patch is incomplete, some code in ScriptLoader::EvaluateScript() could not be applied for missing dependencies.
Part 7e will apply the missing dependencies and finish the patch.

(cherry picked from commit ce31a906e801b72f06385b0755710317ccf3658b)
2023-04-27 13:34:33 -05:00
Brian Smith b84f08cf54 Issue #1691 - Part 7c: Refactor ModuleScript into ClassicScript class and LoadedScript base class so we can represent all scripts that can perform dynamic import.
https://bugzilla.mozilla.org/show_bug.cgi?id=1342012

(cherry picked from commit c37b8b55231f6609c87e49c84edf7e94a1bf5518)
2023-04-27 13:34:27 -05:00
Brian Smith 1ddeac519b Issue #1691 - Part 7b: Make load request element optional.
https://bugzilla.mozilla.org/show_bug.cgi?id=1342012

(cherry picked from commit 169bb5d2ada59026fb6407716a7b3862810c9b97)
2023-04-27 13:34:20 -05:00
Brian Smith 9fa3fc6315 Issue #1691 - Part 7a: Add a JS API to get the private value for the calling script or module.
https://bugzilla.mozilla.org/show_bug.cgi?id=1342012

(cherry picked from commit e89e50d5047468e0bb02ee82f9cd0be282b24a1b)
2023-04-27 13:34:14 -05:00
Brian Smith c961285752 Issue #1691 - Part 6e: Fix problems due to divergent codebases. This gets basic dynamic import working.
Fix a problem in Part 5b where Mozilla used toGCThing() and we don't.
Fix a problem in Part 4 where runtime() returns nullptr in our codebase since it runs on JS Helper thread.
We need to get the runtime via runtimeFromAnyThread() instead.

(cherry picked from commit dddb46225bbd1adff11f635e32934aee36923e47)
2023-04-27 13:34:05 -05:00
Brian Smith a28f3edf2a Issue #1691 - Part 6d: Optimize handling of internally-created Promise objects.
https://bugzilla.mozilla.org/show_bug.cgi?id=1358879
The patch uses a different test: PROMISE_FLAG_DEFAULT_REJECT_FUNCTION which doesn't
exist in our codebase.  It was added in this bug, which appears to be partly complete:
https://bugzilla.mozilla.org/show_bug.cgi?id=1313049

(cherry picked from commit 97fc74b693813eaaa9ab833d9c51fc5868ff039f)
2023-04-27 13:33:56 -05:00
Brian Smith 6b69dad2aa Issue #1691 - Part 6c: Fix a few issues with the earlier commits.
Need PNK_CALL_IMPORT and PNK_IMPORT_META in the node children list or it will abort.
When porting ScriptFetchOptions support, I had 2 constructors, I picked the wrong one.
Missed adding the preference javascript.options.dynamicImport to all.js.

(cherry picked from commit b95ccb711dc41b343d02ae69b3dc4747bbbe86fb)
2023-04-27 13:33:47 -05:00
Brian Smith e4c920f397 Issue #1691 - Part 6b: Initial browser support for dynamic import from module scripts.
https://bugzilla.mozilla.org/show_bug.cgi?id=1342012
Factor out script fetch options from script load request classes.
https://bugzilla.mozilla.org/show_bug.cgi?id=1480720
Remove support for version parameter from script loader.
https://bugzilla.mozilla.org/show_bug.cgi?id=1428745

(cherry picked from commit 3ec2529aa6303f6950622e3cb91a23580649c73b)
2023-04-27 13:33:36 -05:00
Brian Smith 5f63601f0f Issue #1691 - Part 6a: Support private values which contain pointers to cycle-collected C++ objects
https://bugzilla.mozilla.org/show_bug.cgi?id=1342012

(cherry picked from commit 1286cca73d58332ba0becd0011f747713b8acfac)
2023-04-27 13:33:27 -05:00
Brian Smith 1a4146cead Issue #1691 - Part 5b: Stop modules from entraining the top-level JSScript.
https://bugzilla.mozilla.org/show_bug.cgi?id=1489477

(cherry picked from commit 6ce0af856186e65fb4987daf4e06dc68fb3f7483)
2023-04-27 13:33:17 -05:00
Brian Smith fdfe9a8ad2 Issue #1691 - Part 5: Don't pre-create module metadata object when compiling.
https://bugzilla.mozilla.org/show_bug.cgi?id=1489477

(cherry picked from commit d83bad49f6b03894548fbf85fc18ad7e8cc19a93)
2023-04-27 13:33:10 -05:00
Brian Smith 130d9f4d91 Issue #1691 - Part 4: Finish implementing call import.
https://bugzilla.mozilla.org/show_bug.cgi?id=1499140

(cherry picked from commit 7bf7d64887944b127a72090dd62eb57f67c5089d)
2023-04-27 13:33:00 -05:00
Brian Smith 6eecfad57c Issue #1691 - Part 3: Finish implementing import meta.
https://bugzilla.mozilla.org/show_bug.cgi?id=1427610

(cherry picked from commit a8625238ac846fb7eb103646ddb8634a5860f067)
2023-04-27 13:32:52 -05:00
Brian Smith 12291f8248 Issue #1691 - Part 2: Implement call import and import meta in the parser.
https://bugzilla.mozilla.org/show_bug.cgi?id=1427610
https://bugzilla.mozilla.org/show_bug.cgi?id=1484948

(cherry picked from commit 6be083187f49e444de1bb116bb5930b20125190b)
2023-04-27 13:32:43 -05:00
Brian Smith 7223fb518d Issue #1691 - Part 1: Provide a way of associating a private value with a script
or module.

This is a prerequisite for dynamic import

(cherry picked from commit 2e2972647ee29340df51a804f05e40fc1da2c89b)
2023-04-27 13:28:56 -05:00
Job Bautista ff9c52f223 Issue #1451 - Fix hunspell build bustage in FreeBSD.
Thanks to dbsoft for this patch!
2023-04-26 17:46:36 +08:00
Moonchild ba04f314c0 Merge pull request 'Place Skia back into gkmedias.' (#2211) from jobbautista9/UXP:61-skia-gkmedias into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2211
2023-04-25 15:07:35 +00:00
Moonchild dae88dede5 Merge pull request 'Correct handling of async (arrow) functions declared inside constructors' (#2213) from martok/UXP-contrib:mr/nested-async-assert into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2213
2023-04-25 15:06:18 +00:00
Martok dd512188ed No issue - Correct handling of async (arrow) functions declared inside constructors
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1462353, but since we still support
legacy generators, this only corrects the handling and leaves the newTarget plumbing
intact.
2023-04-23 23:02:00 +02:00
Job Bautista a12787e985 Issue #1451 - Split hunspell library out of xul.
utf_info.cxx imported from 1.4.1 upstream.

Also moved unicode_info struct to the header to fix bustage with compiling the
new utf_info.cxx.

I've also gone ahead and deunified this new shared library as unified building
is busting in hunspell.cxx, complaining about config.h not being found. Weird
that it only happens in unified mode.

This reduces libxul size on all platforms by ~200 KB.
2023-04-23 13:51:11 +08:00
Job Bautista 41944ab728 Issue #61 - Follow-up: Fix xul.dll link bustage related to Skia. 2023-04-20 20:05:39 +08:00
Job Bautista acb5f39d42 Issue #61 - Follow-up: Fix gkmedias.dll link bustage related to Skia.
I don't understand why SK_API is being a problem, but it seems they are.
2023-04-20 20:05:39 +08:00
Job Bautista a6f9c5fe3e Revert "Issue #61 - Place Skia in libxul"
This reverts commit 39cebe99e2.
2023-04-20 20:05:39 +08:00
Moonchild e2acdfd18d [No issue] Remove unmaintained WebGL conformance test suite. 2023-04-20 00:51:12 +02:00
Moonchild eb5c408991 Issue #2053 - Follow-up: Clear the performance entries buffer if full.
Also enlarged the buffer to 16k entries which should be enough for all
legitimate use of performance measurements (and then some).
This throws a quota exceeded error if sites want to record more entries
into the buffer and just clears it (similar to Moz's behaviour under
memory pressure) ready for fresh entries to be added again.
2023-04-13 17:22:41 +02:00
Moonchild 69868a9ad6 [devtools] Don't allow sourcemap URLs to redirect 2023-04-12 17:28:19 +02:00
Moonchild 3a6949f398 [network] Improve checks while parsing MIME parameters. 2023-04-12 16:41:04 +02:00
Moonchild dfa402aa98 Issue #1911 - Follow-up: Filter out illegal characters in more locations. 2023-04-12 15:08:37 +02:00
Moonchild c74cecc05c No issue - Fix off-by-one of kLargeDatasetSize 2023-04-12 12:08:35 +02:00
Moonchild 0ba7d1e988 Merge pull request 'Use nsAnonymousTemporaryFile for clipboard cache' (#2209) from _Sandra_/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2209
2023-04-12 10:03:14 +00:00
Sandra 9f22c3a7b9 Increase size of data over which we write the data to disk rather than keep it around in memory 2023-04-12 07:12:24 +03:00
Moonchild c2211e7ddc Issue #2053 - Follow-up: Re-enable navigation timing now it's to-spec.
Verified fixed with Google website translation.
2023-04-11 23:55:32 +02:00
Moonchild 2f258b259f Issue #2053 - Follow-up: Make the default ResourceTimingBufferSize larger
Contrary to setting no limit by default, we're giving it a reasonable
default size to prevent runaway memory usage when websites just keep
recording ad infinitum.
2023-04-11 23:38:10 +02:00
Moonchild c95e970df5 Merge pull request 'Update Performance API to User Timing L3' (#2208) from FranklinDM/UXP-contrib:work_js-user-timing-l3 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2208
2023-04-11 21:32:22 +00:00
_Sandra_ 558c26bbbf Merge pull request 'work_js-user-timing-l3' (#1) from FranklinDM/UXP-contrib:work_js-user-timing-l3 into master
Reviewed-on: https://repo.palemoon.org/_Sandra_/UXP/pulls/1
2023-04-11 16:16:48 +00:00
Sandra 1efbe485bb Use nsAnonymousTemporaryFile for clipboard cache
Base on https://github.com/mozilla/gecko-dev/commit/ecc04a9245b409d7eed7df63ba733cd2073180de
2023-04-11 11:58:51 +03:00
FranklinDM 9e976ddf7f Issue #2053 - Part 5: Throw a DOMException instead of a JS exception for some errors 2023-04-10 18:22:55 +08:00
FranklinDM ac1fd1133c Issue #2053 - Part 4b: Fix measure name to timestamp conversion
Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1772417
2023-04-10 18:22:54 +08:00
FranklinDM 65203af3dc Issue #2053 - Part 4a: Align IsPerformanceTimingAttribute to user-timing spec
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1772417
2023-04-10 18:22:54 +08:00
FranklinDM 19a7544fdf Issue #2053 - Part 3: Update PerformanceMark to User Timing L3
There are a few minor differences between this and Mozilla's implementation:
(a) The type error messages were not hardcoded to the Performance class and were moved to Errors.msg or domerr.msg instead.
(b) Resist fingerprinting-pref changes were skipped.

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1724645
2023-04-10 18:22:53 +08:00
FranklinDM d4138780ee Issue #2053 - Part 2: Update PerformanceMeasure to User Timing L3
There are a few minor differences between this and Mozilla's implementation:
(a) The type error messages were not hardcoded to the Performance class and were moved to Errors.msg instead.
(b) PerformanceMeasureOptions is used directly and doesn't use the the Maybe<> container class. I haven't found the reason yet, but PerformanceMeasureOptions is disallowed from having a copy constructor and without that, it isn't possible to use it with Maybe<>... There doesn't seem to be any problem with using it directly, though.
(c) Resist fingerprinting-pref changes were skipped.

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1762482
2023-04-10 18:22:53 +08:00
FranklinDM 5fc711ba17 Issue #2053 - Part 1: Performance should be an EventTarget
Some sites (e.g. Bitbucket) are now calling `performance.addEventListener` and expect that Performance is an EventTarget.

Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1432522
2023-04-10 18:22:46 +08:00
Moonchild ff29aa37a8 Merge pull request 'Add support for libavcodec 60/FFmpeg 6.0' (#2204) from trav90/UXP-contrib:ffmpeg60 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2204
2023-04-09 13:47:20 +00:00
Moonchild bfeb62ceec Merge pull request 'Implement self.structuredClone()' (#2206) from FranklinDM/UXP-contrib:work_js-structuredclone into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2206
2023-04-09 13:44:46 +00:00
Moonchild b62bf0c4b7 Merge pull request 'Implement window.event' (#2207) from FranklinDM/UXP-contrib:work_js-window-event into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2207
2023-04-09 13:38:38 +00:00
FranklinDM 78e4526d55 Issue #595 - Implement window.event
This MSIE extension is still technically part of the standard*, although its use is discouraged. This API will also likely never go away based on some comments at this issue on MDN content**.

Note that this uses a different approach for getting the inner window.

* https://dom.spec.whatwg.org/#interface-window-extensions
** https://github.com/mdn/content/issues/21848

Spec PR: https://github.com/whatwg/dom/pull/407
Spec discussion: https://github.com/whatwg/dom/issues/334

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=218415
2023-04-08 00:20:48 +00:00
FranklinDM ae19a0513e Issue #2197 - Follow-up: Remove GC debug assertion on sandbox
There's no way to access GC from here.
2023-04-08 08:16:11 +08:00
FranklinDM c660c6f699 Issue #2197 - Part 4: Expose structuredClone in Sandbox
Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1734320
2023-04-07 23:41:57 +08:00
FranklinDM 84af6181e7 Issue #2197 - Part 3: Implement self.structuredClone()
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1722576
2023-04-07 23:41:56 +08:00
FranklinDM 6d2e5850ce Issue #2197 - Part 2d: Implement PostMessageOptions for Window
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1502802
2023-04-07 23:41:56 +08:00
FranklinDM b3a6a8f274 Issue #2197 - Part 2c: Implement StructuredSerializeOptions for ServiceWorker
Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1502802
2023-04-07 23:41:55 +08:00
FranklinDM 83501c86d2 Issue #2197 - Part 2b: Implement StructuredSerializeOptions for Worker
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1502802
2023-04-07 23:41:55 +08:00
FranklinDM 5c8599d223 Issue #2197 - Part 2a: Implement StructuredSerializeOptions for MessagePort
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1502802
2023-04-07 23:41:54 +08:00
FranklinDM 0206e87a2e Issue #2197 - Part 1b: Transferables should be arrays of objects
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1336020
2023-04-07 23:41:54 +08:00
FranklinDM 253c711a92 Issue #2197 - Part 1a: postMessages should have transferable as [] by default
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1336020
2023-04-07 23:41:48 +08:00
Moonchild c01fd8ec19 Merge pull request 'Move getElementsByName from HTMLDocument to nsIDocument' (#2201) from FranklinDM/UXP-contrib:work_dom-move-getelementsbyname-to-document into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2201
2023-04-07 15:41:23 +00:00
Moonchild a9c9fc184a Merge pull request 'No issue - Use inet_ntop() for converting IPv4 network addresses instead of the deprecated inet_ntoa()' (#2202) from FranklinDM/UXP-contrib:work_network-replace-deprecated-intet-ntoa into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2202
2023-04-07 15:38:34 +00:00
FranklinDM e35a3f19c7 Issue #252 - Follow-up: Include a null check against mDocument 2023-04-07 23:24:03 +08:00
trav90 717f059d1b Issue #2199 - Add support for libavcodec 60/FFmpeg 6.0 2023-04-07 09:59:19 -05:00
Moonchild dcdbf5d1da Merge pull request 'Follow-up: Silence compiler warnings for libjxl (MSVC)' (#2200) from FranklinDM/UXP-contrib:work_media-silence-jxl-msvc into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2200
2023-04-07 14:58:41 +00:00
Moonchild 4f166f3ddb Merge pull request 'Merge dom.getRootNode.enabled pref into dom.webcomponents.enabled.' (#2198) from jobbautista9/UXP:1361-rootnode-merge into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2198
2023-04-07 14:57:55 +00:00
FranklinDM 4cc241fb63 No issue - Use inet_ntop() for converting IPv4 network addresses instead of the deprecated inet_ntoa()
The original implementation opted to silence the warnings instead and use the deprecated inet_ntoa() as a Windows XP consideration (bug 1240932). Since we've removed support for that platform, it makes sense to use the modern inet_ntop() API instead.
2023-04-07 22:20:38 +08:00
FranklinDM c2b9a9e005 Issue #252 - Move getElementsByName from HTMLDocument to Document
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1415176
2023-04-07 22:08:20 +08:00
FranklinDM 80bd22fc35 Issue #2061 - Follow-up: Silence compiler warnings for libjxl (MSVC) 2023-04-07 21:59:19 +08:00
Job Bautista 8f602a52ee Issue #1361 - Follow-up: Merge dom.getRootNode.enabled pref into dom.webcomponents.enabled. 2023-04-07 20:16:46 +08:00
Moonchild 8e2788496d Merge pull request 'Update in-tree harfbuzz to 7.1.0, remove old fontconfig support on GTK systems, and cache ScaledFonts in gfxFont::GetScaledFont' (#2196) from jobbautista9/UXP:2191-cache-scaledfonts into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2196
2023-04-06 22:20:55 +00:00
Job Bautista 7fe1f000c7 Issue #2191 - Follow-up: Add missing mozilla::gfx in gfxFcPlatformFontList.cpp
Fixes build bustage in GNU/Linux
2023-04-05 21:22:18 +08:00
Job Bautista 5e50b32a3c Issue #2191 - Remove virtual from gfxFont::GetCairoScaledFont.
Backported from Mozilla bug 1385029.
2023-04-05 21:22:18 +08:00
Job Bautista 82bce1935f Issue #2191 - Require implementation of gfxFont::GetScaledFont and remove unnecessary gfxPlatform::GetScaledFontForFont.
Backported from Mozilla bug 1385029.
2023-04-05 21:22:18 +08:00
Job Bautista c85b510dbb Issue #2191 - Remove redundant CairoScaledFont accessor from gfxFont subclasses.
Backported from Mozilla bug 1385029.
2023-04-05 21:22:18 +08:00
Job Bautista 4af61863f3 Issue #2191 - Get rid of gfxFontconfigUtils.h since gfxFontconfigFontBase is unnecessary.
Backported from Mozilla bug 1385029.
2023-04-05 21:22:17 +08:00
Job Bautista b494419e91 Issue #2191 - Make ScaledFont::SetCairoScaledFont virtual so it can be accessed from outside Moz2D.
Backported from Mozilla bug 1385029.
2023-04-05 21:22:17 +08:00
Job Bautista 57ef40f783 Issue #2191 - Remove as much old fontconfig support as needed for Harfbuzz 7.1.0 update.
Based on Mozilla bugs 1119128, 1285533, and 1421964.

gfx.font_rendering.fontconfig.fontlist.enabled is no longer available.

gfxFontconfigUtils.h still exists, and will be removed in another commit. Just
need more research on bug 1385029.

Tag #1862
2023-04-05 21:22:17 +08:00
Job Bautista 3122de9547 Issue #1862 - Part 2: Update harfbuzz's build system for 7.1.0.
Harfbuzz upstream seems to have fixed all conflicts originally encountered
before 2.6.0, so let's unify all harfbuzz's sources.
Some parts of README-mozilla (now README-mcp) no longer apply, so update that as
well.
2023-04-05 21:22:17 +08:00
Job Bautista b137a3cff3 Issue #1862 - Part 1: Update harfbuzz source to 7.1.0. 2023-04-05 21:22:16 +08:00
Moonchild 186d4b7132 Merge pull request 'Fix FreeBSD build failure with WebRTC enabled.' (#2193) from dbsoft/UXP:freebsdwebrtc into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2193
2023-04-05 10:15:13 +00:00
Moonchild a85b4739e4 Merge pull request 'Fix build bustage with GCC 9 related to checkExportedNamesForDeclaration' (#2192) from jobbautista9/UXP:2189-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2192
2023-04-05 10:14:24 +00:00
Brian Smith dad82a67d6 No Issue - Fix FreeBSD build failure with WebRTC enabled. 2023-04-05 00:54:29 -05:00
Job Bautista 1359f67e56 PR #2189 - Follow-up: Fix build bustage with GCC 9 related to checkExportedNamesForDeclaration 2023-04-05 13:11:44 +08:00
Moonchild a68e524a90 Merge pull request 'JS: Parser Frontend Refactor' (#2189) from martok/UXP-contrib:mr/frontend-2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2189
2023-04-04 18:54:15 +00:00
Moonchild e354a428b7 Merge pull request 'Update freetype2 to 2.13.0.' (#2190) from jobbautista9/UXP:freetype2-2.13.0 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2190
2023-04-04 10:38:11 +00:00
Job Bautista 031f4f5504 Issue #1863 - Update freetype2 to 2.13.0. 2023-04-04 14:09:09 +08:00
Martok 98a18afe5b Issue #2173 - Introduce FunctionNode::syntaxKind instead of JSOPs
This moves some "implementation details" to later in the emitter,
and also keeps syntax information available for later use.

Based-on: 1518391/{3+4}
2023-04-03 16:50:25 +02:00
Martok 0c7e7591b7 Issue #2173 - Separate CodeNode into FunctionNode and ModuleNode
ModuleNode only has a body and FunctionNode has many more attributes,
and will get more in the following commit.

Based-on: 1518391/2
2023-04-03 16:50:24 +02:00
Martok c3617331a1 Issue #2173 - Remove unused case/code from function node ops
CodeNodes only ever use 3 JSOPs at this point in time.

Based-on: 1518391/1
2023-04-03 16:50:24 +02:00
Martok 3415e1d32d Issue #2173 - Allow constant folding to see inside functions when using the module pattern
(function() { ... })() IIFE pattern should get its body const-folded. This won't make much
runtime difference on JIT, but can be significant in interpreted code (and saves time for
JIT codegen).

Based-on: m-c 632020
2023-04-03 16:50:24 +02:00
Martok f687581b7f Issue #2173 - Fix remaining ParseNode* in FullParseHandler methods signature
The handlers should use the alias types exclusively in their interface.

Based-on: m-c 1479659/11
2023-04-03 16:50:24 +02:00
Martok 6d9f234c60 Issue #2173 - Add TryNode
This is adjusted from upstream to follow our data structure with PNK_CATCHLIST

Based-on: m-c 1479659/8
2023-04-03 16:50:23 +02:00
Martok 2067485b27 Issue #2173 - Add accessors to LexicalScopeNode
Based-on: m-c 1479659/7
2023-04-03 16:50:23 +02:00
Martok 9cd981b485 Issue #2173 - Add accessors to NullaryNode and change LoopControlStatement arity to PN_LOOP
Based-on: m-c 1479659/6
2023-04-03 16:50:23 +02:00
Martok 88f7cba9c9 Issue #2173 - Add accessors to NameNode, CodeNode, RegExpLiteral, and add NumericLiteral
Based-on: m-c 1479659/{5,9,10}, m-c 1491147
2023-04-03 16:50:23 +02:00
Martok 6cea01f811 Issue #2173 - Add accessors to UnaryNode and subclasses
Based-on: m-c 1479659/4
2023-04-03 16:50:22 +02:00
Martok 0fdd23e0b4 Issue #2173 - Add accessors to BinaryNode and subclasses
Based-on: m-c 1479659/3
2023-04-03 16:50:22 +02:00
Martok ad4b2ecefa Issue #2173 - Add accessors to TernaryNode
Based-on: m-c 1479659/2
2023-04-03 16:50:22 +02:00
Martok cc14ee0148 Issue #2173 - Add accessors to ListNode
Based-on: m-c 1479659/{1,12}
2023-04-03 16:50:22 +02:00
Martok 483420f253 Issue #2173 - Fix return value of MUST_MATCH_TOKEN* macros in Parser methods which returns bool
Based-on: m-c 1479659/0
2023-04-03 16:50:21 +02:00
Martok 4d76651ff2 Issue #2173 - Store the info about the existence of the default case into the switch ParseNode
Based-on: m-c 1477157
2023-04-03 16:50:21 +02:00
Martok 33d29efe43 Issue #2173 - Add a new PNK_PROPERTYNAME to hold location information about property access name
Based-on: m-c 1378808/2
2023-04-03 16:50:21 +02:00
Martok 416d9683fe Issue #2173 - Add a new PNK_ARGUMENTS node type for call argument lists
Also change PNK_GENEXP (not supported by upstream) to a PN_BINARY node

Based-on: m-c 1378808/1
2023-04-03 16:50:06 +02:00
Martok 3481496454 Issue #2173 - Fix exporting array and object binding patterns
Examples:
  export const [name1, name2] = [1, 2];
  export var {...name} = get;

Based-on: m-c 1446811, m-c 1462286
2023-04-03 15:33:21 +02:00
Martok 299090f227 Issue #2155 - Follow-up: Reorder super-property evaluation order per latest spec change
Fix regression from difference between Interpreter (old) and ElemOpEmitter (new). We don't have
any Ion/IC support for these ops.

Based-on: m-c 1472211
2023-04-03 14:52:45 +02:00
Moonchild 9d03184aa2 Merge pull request 'Also use xz compression for packaging FreeBSD builds.' (#2188) from jobbautista9/UXP:freebsd-xz into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2188
2023-04-03 09:40:47 +00:00
Job Bautista 7598e16eaa No issue - FreeBSD builds should also use xz compression for packaging.
Currently it defaults to bzip2, which has been obsolete for us.
2023-04-03 15:46:55 +08:00
Moonchild 85f0301dd8 Merge pull request 'Fix debug build bustage with shared Spidermonkey.' (#2187) from jobbautista9/UXP:62-jsprincipals-debug-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2187
2023-04-02 13:36:39 +00:00
Job Bautista d3ed316788 Issue #62 - Follow-up: Fix debug build bustage with shared Spidermonkey.
A method marked with dllimport shouldn't be defined.
2023-04-02 12:47:04 +08:00
Moonchild 131409a24b Merge pull request 'Increase mozjemalloc page cache size from 1 MiB to 16 MiB.' (#2185) from jobbautista9/UXP:2184-mozjemalloc-12 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2185
2023-04-01 07:37:59 +00:00
Job Bautista 4a052de454 Issue #2184 - Increase mozjemalloc page cache size from 1 MiB to 16 MiB.
We don't need the reduced memory overhead as we are not using e10s. This
should speed up JS by a point according to Speedometer 2.1.
2023-04-01 10:42:03 +08:00
Moonchild c36eae9bf5 Merge pull request 'Add sys/auxv.h to system-headers' (#2183) from jobbautista9/UXP:2181-auxv into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2183
2023-03-30 09:40:57 +00:00
Job Bautista da09b1d972 Issue #2181 - Add sys/auxv.h to system-headers
This should fix getauxval being undefined when building highway on Linux ARM64.
2023-03-30 14:39:44 +08:00
Moonchild 93addf962f Merge pull request 'Fix drawing in titlebar on Mac when building with the Big Sur 11.0 SDK.' (#2182) from dbsoft/UXP:drawintitlebar into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2182
2023-03-29 20:32:48 +00:00
Brian Smith c09fb2cd97 No Issue - Fix drawing in titlebar on Mac when building with the Big Sur 11.0 SDK.
On Intel we build with the 10.12 SDK so this problem is avoided.
Also Pale Moon no longer supports drawing in the titlebar in the front end.
However Basilisk does and built for ARM the tabs were cut off by the native titlebar.
This uses the new APIs introduced in SDK 10.10 and 11.0 to draw in the titlebar.
2023-03-29 02:46:32 -05:00
Moonchild ad7ffc0525 Issue #2180 - Follow-up: Move sentinel check up a bit. 2023-03-28 17:59:19 +02:00
Moonchild 500ece900a Issue #2180 - Add pref to control NSS TLS 1.3 protocol downgrade sentinel 2023-03-28 15:13:09 +02:00
Moonchild f90106bd7e Merge pull request 'Refactor more BytecodeEmitters' (#2179) from martok/UXP-contrib:mr/bce-split2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2179
2023-03-27 14:10:07 +00:00
Moonchild 5a0b5b05da Merge pull request 'Issue #2175 - Fix build bustage in WebRTC.' (#2177) from tvall43/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2177
2023-03-27 14:08:41 +00:00
Moonchild 77692ac0bf Merge pull request 'Fix JS_SHARED_LIBRARY and always build Spidermonkey and ICU as shared lib in Windows.' (#2164) from jobbautista9/UXP:62-shared-mozjs into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2164
2023-03-27 14:07:14 +00:00
Martok 1a24ac966e Issue #2155 - Add SwitchEmitter
Based-on: m-c 1456006/{0,1}
2023-03-26 20:20:16 +02:00
Martok c26df1a48a Issue #2155 - Move TryEmitter and ForOfLoopControl to TryEmitter.{cpp.h} and ForOfLoopControl.{cpp.h}
Based-on: m-c 1460489/5
2023-03-26 20:20:16 +02:00
Martok 0a2eb24435 Issue #2155 - Move NestableControl classes except ForOfLoopControl to BytecodeControlStructures.{cpp.h}
Based-on: m-c 1460489/3
2023-03-26 20:20:15 +02:00
Martok 2e2855cf04 Issue #2155 - Split Nestable to ds/ and EmitterScope to EmitterScope.{cpp.h}
Based-on: m-c 1351107/17, m-c 1460489/2
2023-03-26 20:20:15 +02:00
Moonchild 73d78767c8 Merge pull request 'Don't reconstruct the parent when tearing down display:contents nodes' (#2178) from 2176 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2178
2023-03-26 18:06:09 +00:00
Timothy Valldeperas 5b6c6b98d2 Issue #2175 - Fix build bustage in WebRTC. 2023-03-26 01:16:13 -05:00
Job Bautista f23839412e Issue #62 - Always build Spidermonkey as shared lib in Windows.
Shared JS is confirmed working fine in Windows after a week of testing.
Non-Windows will have to wait unfortunately. The JS_SHARED_LIBRARY option is
kept for easy testing on those unsupported platforms.
2023-03-26 13:14:59 +08:00
Job Bautista 86b77f1284 Issue #2165 - Disable LNK4217 and LNK4286 warnings when linking ICU as they're too spammy. 2023-03-26 13:14:10 +08:00
Moonchild ecda3426e6 Issue #2176 - Don't reconstruct the parent when tearing down
display:contents nodes with pseudo-elements.

We need to use StyleChildrenIterator which iterates over them, instead.
This is a bit of a hack but we can't always have our cake.

We need to be a bit careful though, since ::before and ::after are owned
by their own frame, and thus could be unbound from the tree or even dead
after removing the frame.

This basically ports bugs 1435566 and 1438467
2023-03-26 00:15:45 +01:00
Moonchild eae71465d0 Merge pull request 'Don't discard event state mask when matching ::slotted() or :host arguments' (#2174) from FranklinDM/UXP-contrib:work_css-host-slotted-retain-event-states into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2174
2023-03-24 12:18:15 +00:00
Job Bautista 19b76a68ac Issue #324 - Follow-up: Remove more traces of *INTL_API.
The trace in Spidermonkey's old-configure is causing the MOZ_CONFIG_ICU function
to be called twice, which is not desirable as it can cause the MOZ_SHARED_ICU
check in build/autoconf/icu.m4 to fail and build an ICU data file even if we're
building ICU as a shared library.
2023-03-24 20:12:47 +08:00
FranklinDM 9365fbd8ad Issue #2135 - Don't discard event state mask when matching ::slotted() or :host arguments
This should fix issues with selectors like :host(:hover) that continue to be matched although the cursor is no longer hovering over those elements.
2023-03-24 19:39:30 +08:00
Job Bautista 431f782f17 Issue #2165 - Follow-up: Always build ICU as shared lib in Windows. 2023-03-24 17:51:39 +08:00
Job Bautista ee870812ff Revert "Issue #2165 - Follow-up: No longer support bundling the ICU data file into packaging, fold it into the ICU shared library, and always build ICU shared."
This reverts commit 0c63f5a273.
Building shared ICU is currently broken in non-Windows, so we need the option for now.
2023-03-24 17:45:16 +08:00
Moonchild 434379eb34 Issue #2161 - Ctrl + Enter should cause keypress event even though the
key combination doesn't input any character

Currently, we dispatch keypress event when Enter is pressed without
modifiers or only with the Shift key (line break).
However, other browsers dispatch keypress events for Ctrl + Enter also
even if it doesn't cause any text input.

So, we should fire keypress events for Ctrl + Enter, even in strict
keypress dispatching mode. Note that with other modifiers, it depends on
the browser and/or platform and we can't dispatch the event for
consistent behavior.

This means web developers shouldn't rely one keypress events to catch
Alt + Enter, Meta + Enter and two or more modifiers + Enter.

Based on BZ 1438133
Resolves #2161
2023-03-23 22:35:03 +01:00
Moonchild 2f3f8e13eb Merge branch 'css-slotted-pseudo-rebased' 2023-03-23 12:46:34 +01:00
FranklinDM ef7ff8da4b Issue #1592 - Follow-up: Don't post a restyle event if restyleElement is null
This fixes a potential crash caused if restyleElement is null.
2023-03-23 12:18:04 +01:00
FranklinDM 2733585a3f Issue #1592 - Part 10: Slot elements should restyle their parent on attribute changes 2023-03-23 12:18:04 +01:00
FranklinDM 039b67f6c6 Issue #1592 - Part 9: Post a restyle event after changing the slot of a slottable 2023-03-23 12:18:03 +01:00
FranklinDM c0e6ba933e Issue #1592 - Part 8: Test the assigned slot for type/class/ID/attribute instead of the slottable when matching ::slotted() 2023-03-23 12:18:02 +01:00
FranklinDM 4665c79582 Issue #1592 - Part 7: Slottables cannot be matched from the outer tree. 2023-03-23 12:18:02 +01:00
FranklinDM 7c82808510 Issue #1592 - Part 6: Allow pseudo-classes with a forgiving selector list argument to follow pseudo-elements
Pseudo-classes with a forgiving selector list argument are allowed to follow a pseudo-element, but must treat any selector that is not of the same type as invalid. It doesn't make any sense, but that's the behavior of other tainted browsers.
2023-03-23 12:18:01 +01:00
FranklinDM c5cb2983e6 Issue #1592 - Part 5: Use flattened element tree when looking for a parent while matching ::slotted() 2023-03-23 12:18:01 +01:00
FranklinDM 9c5999c8bc Issue #1592 - Part 4: Walk ::slotted()-containing rules for slottables
- Check against all selector parts and not the leftmost selector only for ::slotted()
- Walk rules for ::slotted() regardless if the shadow root is opened/closed
- Ensure that ::slotted() rules are walked in the right order
- Fix ::slotted inheritance from topmost shadow root
2023-03-23 12:18:00 +01:00
FranklinDM 8313fea7c5 Issue #1592 - Part 3: Ensure only tree-abiding pseudo-elements will follow ::slotted() 2023-03-23 12:17:59 +01:00
FranklinDM 5fc444a0b6 Issue #1592 - Part 2: Parse ::slotted() pseudo-element as if it were a pseudo-class
- Block slot elements from being matched by ::slotted
- Ensure ::slotted() is serialized as a pseudo-element
- Add pref to control whether the pseudo-class is enabled
2023-03-23 12:17:59 +01:00
FranklinDM d2be38e92b Issue #1592 - Part 1c: Pass SelectorParsingFlags as a reference 2023-03-23 12:17:58 +01:00
FranklinDM fc5d7a94b7 Issue #1592 - Part 1b: Move <slot> UA rule to html.css
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1468127
2023-03-23 12:17:58 +01:00
FranklinDM 8206716e8d Issue #1592 - Part 1a: Prevent crashing if a slot element was selected via DOM Inspector 2023-03-23 12:17:57 +01:00
Moonchild 376bae925b Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2023-03-23 01:57:44 +01:00
Moonchild 494ec06817 Merge pull request 'Follow-up: Fix :host matching from inside the shadow tree' (#2169) from FranklinDM/UXP-contrib:work_css-host-in-shadow-tree-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2169
2023-03-23 00:33:59 +00:00
FranklinDM ef8565458e Issue #2061 - Follow-up: Silence compiler warnings for libjxl 2023-03-23 01:12:42 +01:00
Moonchild 537a5d447e Issue #2171 - Skip over shadow nodes that don't have an owning node.
Resolves #2171
2023-03-23 00:29:13 +01:00
Moonchild da24537414 Merge pull request 'Port ByteCodeEmitter helper classes' (#2159) from martok/UXP-contrib:mr/bce-emitters into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2159
2023-03-22 16:20:08 +00:00
FranklinDM 9700f5557b Issue #1593 - Follow-up: Fix :host matching from inside the shadow tree
Previously, we'd match :host despite the element having a different shadow root from the one that we currently have. Also, there's a test where :host should be blocked from matching if it is a descendant of an explicit universal selector.
2023-03-20 20:15:13 +08:00
Job Bautista 0c63f5a273 Issue #2165 - Follow-up: No longer support bundling the ICU data file into packaging, fold it into the ICU shared library, and always build ICU shared.
This removes two variables in the build system: MOZ_ICU_DATA_ARCHIVE and
MOZ_SHARED_ICU.
Per discussion in PR #2164, it's now preferred to fold the ICU data into the new
shared library.
This effectively means --enable-shared-icu is no longer a thing. UXP apps must
update their packaging manifest to avoid breakage.
2023-03-19 10:55:00 +08:00
Moonchild 16baa04533 Revert "[widget] Linux GTK3: Detach accessible from moz_container before it's deleted"
This reverts commit 465a18f342.
Resolves #2168
2023-03-18 19:57:19 +01:00
Job Bautista eac3436960 Issue #2165 - Build ICU as a shared library if we're building Spidermonkey shared.
It seems that if we're going to enable JS_SHARED_LIBRARY, we need ICU to be a
shared library too in order to prevent code duplication in mozjs.dll bloating
it to a whopping 21 MB.
This unfortunately means we have to fold icudata back to icu itself. But since
icudata is still separated from libxul (which is what really matters for #1451),
I think this is a fair compromise.
Building ICU as shared is offered as an option via --enable-shared-icu. But
technically you really need --enable-shared-icu if you're going to use
--enable-shared-js. Unfortunately I can't make configure exit with an error if
MOZ_SHARED_ICU is not defined when JS_SHARED_LIBRARY is enabled, because options
are controlled by different configure scripts (icu is based on bash, while js is
based on python), and I have no idea how to pass MOZ_SHARED_ICU to js's
moz.configure.

Tag #62
2023-03-19 00:16:46 +08:00
Moonchild 09513970d8 Issue #2166 - Follow-up: Fix style nits. 2023-03-18 15:35:38 +01:00
Moonchild 1a19248860 Merge pull request 'Remove mozilla::AlignedStorage' (#2167) from FranklinDM/UXP-contrib:work_remove-aligned-storage into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2167
2023-03-18 14:24:31 +00:00
Moonchild df5696425e Issue #2117 - Follow-up: Run precomplete cmd during package staging
We rely on this for all OSes except Mac where precomplete should not
be in the root (it uses Mozilla's fallback packaging that places it in
$RESPATH)
2023-03-17 22:10:59 +01:00
FranklinDM d8a518b4db Issue #2166 - Part 6: Remove mozilla::AlignedStorage
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1341951
2023-03-17 20:29:23 +08:00
FranklinDM a343d564a6 Issue #2166 - Part 5c: Use override keyword for all virtual methods of Recover Instructions
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1341951
2023-03-17 20:29:22 +08:00
FranklinDM 5d6aca7e55 Issue #2166 - Part 5b: Replace RInstructionStorage copy by a cloneInto function on every RInstruction
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1341951
2023-03-17 20:29:22 +08:00
FranklinDM 705e2e17be Issue #2166 - Part 5a: Use alignas/alignof inside RInstructionStorage
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1341951
2023-03-17 20:29:21 +08:00
FranklinDM 53adec5e96 Issue #2166 - Part 4: Use alignas/alignof to define Variant's internal raw storage
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1338374
2023-03-17 20:29:20 +08:00
FranklinDM 88d2d5eef6 Issue #2166 - Part 3: Make tl::Min/Max variadic
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1338374
2023-03-17 20:29:19 +08:00
FranklinDM 5e6a0efb65 Issue #2166 - Part 2: Use alignas/alignof in MaybeOneOf
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1338374
2023-03-17 20:29:19 +08:00
FranklinDM 0c35e43441 Issue #2166 - Part 1: Use alignas/alignof for public JS::ProfilingFrameIterator's internal storage
... of a private wasm or JIT profiling frame iterator.

Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1338374
2023-03-17 20:29:18 +08:00
Moonchild 9477683481 Issue #1911 - Follow-up: Filter out illegal file extensions also.
We already did this for file names, just not extensions.
2023-03-16 17:14:07 +01:00
Moonchild 465a18f342 [widget] Linux GTK3: Detach accessible from moz_container before it's deleted 2023-03-16 16:49:56 +01:00
Moonchild 4435cfeeae [GFX] Add some sanity checks and clamps to SurfaceData calculations. 2023-03-16 14:39:31 +01:00
Moonchild 8577fab815 No Issue - Ensure more OsiSpace
ensureOsiSpace(); was very much under-used. This adds more instances
where it makes sense to ensure Osi space before placing masm calls.
2023-03-16 13:38:26 +01:00
Job Bautista 972e0410ca Issue #62 - Fix xul.dll link bustage related to JS::ubi::DominatorTree.
This is the one I don't understand how it fixed the bustage. Why is it needed
to remove JS_PUBLIC_API..? It would seem counter-intuitive, but it wasn't...
2023-03-16 14:02:16 +08:00
Job Bautista b805d9da66 Issue #62 - Fix xul.dll link bustage relating to JSErrorNotes. 2023-03-16 14:02:16 +08:00
Job Bautista 948268ffde Issue #62 - Fix xul.dll link bustage related to MovableCellHasher.
The unsafeSet method is based on Jon Coppeard's part 2 patch for Mozilla bug
1306008. This is needed because of the use of unsafeSet in rekey() of
MovableCellHasher<JS::Heap<T>>
2023-03-16 14:02:16 +08:00
Job Bautista bddc8b630c Issue #62 - Get --enable-shared-js and --enable-export-js working again, and fix link bustage related to ICU when doing shared lib 2023-03-16 14:02:16 +08:00
FranklinDM 68f456b5fd Issue #2148 - Shrink Vector from (usually) four pointers in size to three
when no inline storage is used.

See Bug 1338374
2023-03-15 13:02:23 +01:00
FranklinDM 9475b959d7 Issue #2148 - Make Vector not use AlignedStorage for its inline element storage
See Bug 1338374 1/2
2023-03-15 13:01:21 +01:00
Job Bautista 17e261ae9b Issue #2148 - Discard RegExpShared data tables when discarding regexp JIT code.
Based on Mozilla bug 1378736's part 2.
Should fix the double-free.
Follow-up for #2083
2023-03-15 13:00:37 +01:00
Job Bautista 1122d6cba6 Issue #2148 - Don't null out RegExpObject -> RegExpShared pointer on GC.
Follow-up for issue #2083.
Taken from Mozilla bug 1378736.
2023-03-15 12:59:35 +01:00
Moonchild 79201ad741 Merge pull request 'Support for notarizing during DMG package.' (#2163) from dbsoft/UXP:macnotarize into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2163
2023-03-15 11:50:34 +00:00
Martok c3a35f75a2 Issue #2155 - Fix wrong assertion
(x) = function() {..} is an extremely sparsely documented way to prevent function name inference.
Modeled after how BytecodeEmitter::emitInitializer does it.
2023-03-15 10:29:12 +01:00
Martok 6bb4747ff3 Issue #2155 - Fix debug build 2023-03-14 23:28:13 +01:00
Brian Smith 26b3d4c151 Issue #2160 - Initial support for notarizing during DMG package.
Added --with-macbundle-idenity configure option to set a codesign identity.
If no identity is set or cross-compiling from Linux no codesigning will be
done. Currently doing a full deep bundle v2 sign, instead of limited v1.
2023-03-14 15:28:51 -05:00
Moonchild 31e7e7e66c Merge pull request 'Fix all deprot in builtin/intl' (#2162) from jobbautista9/UXP:deprot-hunt3 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2162
2023-03-14 16:30:59 +00:00
Job Bautista 396549c5ac Issue #2046 - Follow-up: Fix deprot in builtin/intl
Missing a couple of includes.
Tag #80
2023-03-14 22:39:27 +08:00
Martok 0f87c37c5d Issue #2155 - Remove now-unused functions 2023-03-13 00:37:54 +01:00
Martok 482ef6ac19 Issue #2155 - Fix BytecodeEmitter::emitArguments for our ParseNode tree
This resolves the differences in storage of call arguments between Mozilla's and our ParseNode tree.
2023-03-13 00:37:54 +01:00
Martok b26511f287 Issue #2155 - Add PropOpEmitter, ElemOpEmitter, NameOpEmitter, CallOrNewEmitter
Attn: this plain patch port still contains issues caused by differences in the
ParseNode tree that will be fixed in the following commits.

Based-on: m-c 1466000/{7-10}
2023-03-13 00:37:54 +01:00
Martok da908629c1 Issue #2155 - Refactor BytecodeEmitter in preparation for *Emitter work
This removed a bit of reduncancy and makes stack building easier to follow.

- Move call context handling from BytecodeEmitter::emitGetNameAtLocation to BytecodeEmitter::emitCalleeAndThis
- Add stack comments for prop and elem related methods in BytecodeEmitter
- Remove emitAtopOp with NameNode*
- Pass JSOp to BytecodeEmitter::emitAssignment (modified)
- Add BytecodeEmitter::emitGetFunctionThis variant with offset

Based-on: m-c 1466000/{2-6}
2023-03-13 00:37:53 +01:00
Martok 6a6777e73e Issue #2155 - Simplify BytecodeEmitter::isRestParameter 2023-03-13 00:37:53 +01:00
Martok c7dff3002f Issue #2155 - Split TDZCheckCache, IfEmitter/InternalIfEmitter, JumpList from BytecodeEmitter 2023-03-13 00:37:53 +01:00
FranklinDM 9f009467d8 No issue - Make content-type on JAR channels behave the same as HTTP channels
This ensures that the content type is also determined when opening JAR channels both synchronously and asynchronously. Current m-c modifies only the async portion, while the mentioned commit below modifies only the sync portion. This commit does it for both.

Partially based on 425677ada7 and bug 1757604.
2023-03-12 20:19:03 +01:00
Moonchild d3d61f478c Merge pull request 'Fix some deprots in js' (#2156) from jobbautista9/UXP:deprot-hunt2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2156
2023-03-12 16:49:59 +00:00
Moonchild 5ed6e2e676 Merge pull request 'Use pre-C++17 static_assert() by adding reason for assert.' (#2157) from dbsoft/UXP:fix_static_assert into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2157
2023-03-12 16:47:59 +00:00
Brian Smith 3089da7aeb No issue - Use pre-C++17 static_assert() by adding reason for assert.
This fixes warnings with clang and build failures with Visual C versions prior to 2022.
2023-03-12 09:20:15 -05:00
Job Bautista 26201f3795 Issue #80 - Move implementation of CPOWTimer::CPOWTimer to header.
Fixes link bustage in xul.dll
Inline functions must be implemented in the header.
2023-03-12 22:04:36 +08:00
Job Bautista 4ca103d1b8 Issue #80 - Fix deprot in js/xpconnect.
I think we never deunified js/xpconnect before. But if we're going to ever build
this tree deunified in the future, there's nothing stopping us now!
2023-03-12 20:26:26 +08:00
Job Bautista 1d594e9b3e Issue #80 - Fix deprot in js/ipc.
I think we never deunified js/ipc before. But if we're going to build this tree
deunified ever in the future, there's nothing stopping us now!
2023-03-12 20:26:26 +08:00
Job Bautista b29ef13cd6 Issue #2046 - Follow-up: Fix deprot in RelativeTimeFormat.
Found while building js/src deunified, with the exception of builtin/intl.
Tag #80.
2023-03-12 20:26:25 +08:00
Moonchild 16c5b95b91 Bump Goanna milestone to 6.1 2023-03-12 10:54:48 +01:00
Moonchild e848bea43f Merge pull request 'Modify :not() selector to accept a complex selector list' (#2151) from FranklinDM/UXP-contrib:work_css-not-selector-list-support into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2151
2023-03-11 17:57:09 +00:00
Moonchild 4c4bc3ca0f Merge pull request 'Destroy the host frame and restyle when there are content changes' (#2152) from FranklinDM/UXP-contrib:work_wc-content-change-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2152
2023-03-11 07:08:38 +00:00
Moonchild 014e4b6e7f Merge pull request 'Follow-up: Ensure empty selector lists aren't iterated when serialized' (#2154) from FranklinDM/UXP-contrib:work_css-empty-selector-list-serialization-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2154
2023-03-11 07:02:24 +00:00
FranklinDM ac589d72a2 Issue #2078 - Follow-up: Ensure empty selector lists aren't iterated when serialized
Really odd that this wasn't caught/doesn't cause any issues on MSVC/unoptimized GCC. Must've been luck, I guess.
2023-03-11 12:09:53 +08:00
FranklinDM 14746314c4 Issue #2135 - Destroy the host frame and restyle when there are content changes
This is likely inefficient, but I haven't found a way other than this to ensure that the host frame is updated if the inserted/removed content isn't slotted. I'm assuming that Firefox is handling this somewhere else (and may have been even moved to Stylo), but was mentioned in an m-c bug we haven't seen yet. In fact, this is actually similar to how we handled elements passed to ContentInserted before landing e31ed5b074.
2023-03-11 00:04:53 +08:00
FranklinDM 18c6aa0252 Issue #2137 - Part 4: Fix namespace regression 2023-03-10 19:14:26 +08:00
FranklinDM 40c9c92116 Issue #2137 - Part 3: Don't always use the internal pseudo-class for handling negations 2023-03-10 19:14:25 +08:00
FranklinDM e9a1859915 Issue #2137 - Part 2: Implement SelectorParsingFlags and use it to pass info around 2023-03-10 19:14:25 +08:00
FranklinDM de225cca0d Issue #2137 - Part 1: Modify :not() selector to accept a complex selector list 2023-03-10 19:14:24 +08:00
Moonchild 476dec2351 Issue #2135 - Follow-up: Check for aElement not being null
This was introduced to Make <link rel="stylesheet"> work in shadow trees.
eElement can, however, be `null` here and if so, it would crash.
2023-03-10 11:44:28 +01:00
Moonchild 1affd523ec Merge pull request 'Root the RegExpShared in RegExpMacroAssembler.' (#2150) from jobbautista9/UXP:2148-rootregexpshared into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2150
2023-03-09 09:02:10 +00:00
Job Bautista 21668cd7d3 Issue #2148 - Root the RegExpShared in RegExpMacroAssembler.
Based on Mozilla bug 1355050.
2023-03-09 14:52:14 +08:00
Moonchild 713ada0ccf Merge pull request 'Follow-up: Ensure document is not null in nsImageLoadingContent::BindToTree' (#2147) from FranklinDM/UXP-contrib:work_wc-image-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2147
2023-03-08 08:28:08 +00:00
FranklinDM a4e18703e9 Issue #2135 - Follow-up: Ensure document is not null in nsImageLoadingContent::BindToTree 2023-03-08 12:14:27 +08:00
Moonchild 9fafaedafb Issue #2146 - Remove nsChannelClassifier/nsIURIClassifier
Resolves #2146
2023-03-08 01:19:47 +01:00
Moonchild e923f5aacd Merge branch 'trackingprotection-cleanup' 2023-03-07 17:38:18 +01:00
Moonchild 3f7b0b7164 Issue #1693 - Follow-up: restore exported NSS symbols for mailnews.
This restores the erroneously-removed CMS* symbol exports, as well as a
few NSS functions that are likely to be used or have utility value in
applications.
2023-03-07 17:36:12 +01:00
Moonchild dd32c96ac6 Issue #2133 - Part 4: Remove TrackingProtection var in classifier. 2023-03-07 11:35:36 +01:00
Moonchild 71a3487554 Issue #2133 - Part 3: Remove TrackingProtection plumbing 2023-03-07 01:37:28 +01:00
Moonchild 517ab728ac Issue #2133 - Part 2: Remove nsIPrivateBrowsingTrackingProtectionWhitelist
This removes the in-memory whitelist for PB mode.
2023-03-07 00:01:58 +01:00
Moonchild 4d38cb76c2 Issue #2133 - Part 1: Remove private browsing TP pref.
This removes selectively enabling TP mode in PB windows.
2023-03-06 22:37:16 +01:00
Moonchild 98e96503e6 Issue #1693 - Follow-up: restore exported NSS symbol for debug builds.
Tag #1382
2023-03-06 15:18:25 +01:00
Moonchild a75c4164e1 Merge pull request 'Implement CSS env() Environment Variables' (#2144) from martok/UXP-contrib:mr/css-env2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2144
2023-03-06 10:56:05 +00:00
Martok 958b02c358 Issue #2143 - Implement CSS env() Environment Variables 2023-03-05 23:06:55 +01:00
Moonchild 5b9f0fd796 Merge pull request 'Implement CSS inset property' (#2140) from FranklinDM/UXP-contrib:work_css-inset-property into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2140
2023-03-05 21:55:21 +00:00
Moonchild 6cdb875cc5 Merge pull request 'Incremental WebComponents merge' (#2139) from FranklinDM/UXP-contrib:work_wc-incremental-1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2139
2023-03-05 20:53:16 +00:00
FranklinDM f7e1c71930 Issue #2136 - Part 2: Regenerate devtools CSS database 2023-03-05 07:54:18 +08:00
FranklinDM 3e37869990 Issue #2136 - Part 1: Implement CSS inset property 2023-03-05 07:54:11 +08:00
FranklinDM ce47a81c57 Issue #2135 - Follow-up: Fix potential crash if shadow root is null 2023-03-05 07:41:07 +08:00
Moonchild e7cffa5316 Issue #2046 - correct debug assert for intl_FormatRelativeTime()
Probably fallout from the refactoring in #2109
Tag #1382
2023-03-04 20:42:22 +01:00
FranklinDM 50124e9ea6 Issue #2135 - Follow-up: Fix typo 2023-03-04 23:48:07 +08:00
FranklinDM d8befb4395 Issue #2135 - Follow-up: Fix crash for passing nullptr as an argument to the aNodesWithProperties parameter 2023-03-04 23:45:46 +08:00
Moonchild d38d687150 Merge pull request 'Update NSPR to 4.35 and NSS to 3.79.4' (#2138) from jobbautista9/UXP:1693-nss-nspr-3_79_4-update into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2138
2023-03-04 13:59:11 +00:00
FranklinDM cd76bf5aa1 Issue #2135 - Bug 1433669/Part 2: Flush the document instead of the shell in ContentEventHandler
* Unlike the original patch, I went with just getting a reference to the document rather than replacing mPresShell with mDocument.
2023-03-04 21:32:19 +08:00
FranklinDM 851e691089 Issue #2135 - Bug 1433669/Part 1: Remove dead function 2023-03-04 21:32:18 +08:00
FranklinDM 055ccba3c3 Issue #2135 - Bug 1419803: Use GetComposedDoc instead of GetUncomposedDoc in ContentEventHandler 2023-03-04 21:32:18 +08:00
FranklinDM 6cc4505e14 Issue #2135 - Bug 1425864: Ensure printing documents which have shadow DOM works 2023-03-04 21:32:17 +08:00
FranklinDM 8caa472402 Issue #2135 - Bug 1393806/Part 3: Change dom::ReparentWrapper to take an ErrorResult
* Bug 1393806 (Part 4) landed as part of Issue #1118.
* Account for ReparentWrappersInSubtree, introduced in 1466991
2023-03-04 21:32:17 +08:00
FranklinDM f9ee95f207 Issue #2135 - Bug 1393806/Part 2: Modify AdoptNodeIntoOwnerDoc to use the non-XPCOM version of document.AdoptNode
* Unlike the original patch, this does not remove the XPCOM version of Document.adoptNode/importNode to avoid breaking other applications that might be using those functions.
2023-03-04 21:32:16 +08:00
FranklinDM 88b54a8b67 Issue #2135 - Bug 1393806/Part 1: Change nsNodeUtils cloning/adopting stuff to use an ErrorResult for errors
This will allow us to propagate out more informative errors in some cases.
2023-03-04 21:32:16 +08:00
FranklinDM 744da8ddb3 Issue #2135 - Bug 1414692: Adopt shadow roots when adopting a shadow host across documents 2023-03-04 21:32:15 +08:00
FranklinDM 6a1b4a9e3a Issue #2135 - Bug 1329877: Optimize AncestorFilter usage in lazy frame construction 2023-03-04 21:32:15 +08:00
FranklinDM 7669ddb4b7 Issue #2135 - Bug 1518795: Properly track responsive content in a connected ShadowRoot 2023-03-04 21:32:14 +08:00
FranklinDM 8edbed3761 Issue #2135 - Implement sequential focus navigation for shadow DOM
This covers the following:
Bug 1413834	Implement sequential focus navigation regarding shadow DOM
> Bug 1430020	Let sequential focus navigation in shadow DOM enter iframes
> Bug 1430701	Handle focus navigation on frameless shadow hosts in light DOM
> Bug 1430692	Handle focus navigation on NAC in shadow DOM
> Bug 1453693	Ensure sequential focus navigation works in Shadow DOM and add some tests
> Bug 1466581	Handle sequential focus also in nested shadow DOM
> Bug 1481079	Shadow DOM hosts should be focusable
> Bug 1507101	Use StyleChildrenIterator instead of custom frame tree walking code to handle NAC inside shadow dom
> Bug 1512043	Ensure traverse all nodes owned by the top level shadow host
> Bug 1512457	Fix various cases that focus navigation doesn't work well with frameless shadow host
> Bug 1513141	Really minor nsFocusManager cleanup
> Bug 1519090	Keyboard focus is trapped inside <slot>
> Bug 1528034	Make IsHostOrSlot null-safe
> Bug 1544826	Wrong focus navigation behavior when the root element is a shadow root
>> Bug 1500273	Ensure backward focus navigation works in Shadow DOM
2023-03-04 21:32:14 +08:00
FranklinDM 125b8ae43c Issue #2135 - Bug 1455891/Part 1: Improve StyleChildrenIterator 2023-03-04 21:32:13 +08:00
FranklinDM 59dbe81c92 Issue #2135 - Bug 1410578: Make <link rel="stylesheet"> work in shadow trees 2023-03-04 21:32:13 +08:00
FranklinDM 00c570d27b Issue #2135 - Bug 1453789: Remove Element.createShadowRoot 2023-03-04 21:32:12 +08:00
FranklinDM 2fbefbbc58 Issue #2135 - Bug 1066965: Make contentEditable and spellchecking to work in Shadow DOM 2023-03-04 21:32:12 +08:00
FranklinDM 59b4e5ceb2 Issue #2135 - Bug 1356496: Don't use nsIDOM* in ConfirmSelectionInBody 2023-03-04 21:32:11 +08:00
FranklinDM 6ffdfa793e Issue #2135 - Bug 1430301: Implement ShadowRoot.elementFromPoint/elementsFromPoint 2023-03-04 21:32:11 +08:00
FranklinDM fb9484caa3 Issue #2135 - Bug 1438129: Remove ShadowRoot.applyAuthorStyles. 2023-03-04 21:32:10 +08:00
FranklinDM 4390724666 Issue #2135 - Bug 1323815: FocusEvent.relatedTarget should work consistently with MouseEvent.relatedTarget
* This incorporates changes from Bug 1413102.
2023-03-04 21:32:10 +08:00
FranklinDM a69e82b0d7 Issue #2135 - Bug 1413102 (Follow-up): Ignore current target because of shadow DOM retargeting
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1466581
2023-03-04 21:32:10 +08:00
FranklinDM 3d82baddf3 Issue #2135 - Bug 1413102: Ensure Shadow DOM boundaries are dealt properly in event handling
* RE: BasicEvents.h - our WidgetEvent is not movable (yet), so the change that requires that wasn't included.
* Parts of this use code that was introduced in bug 1427511. For now, they were replaced with their equivalents.
2023-03-04 21:32:09 +08:00
FranklinDM 60d420fe71 Issue #2135 - Bug 1430305: Implement ShadowRoot.fullscreenElement 2023-03-04 21:32:09 +08:00
FranklinDM 9e2c43705b Issue #2135 - Bug 1430303: Implement ShadowRoot.pointerLockElement 2023-03-04 21:32:08 +08:00
Job Bautista f0e4bf4035 Issue #1693 - Update old-configure and force clobber
NSS 3.79.4 and NSPR 4.35 upgrades require a clobber.
2023-03-04 13:58:00 +08:00
Job Bautista 1c811a1476 Issue #1693 - Update NSS symbols file for 3.79.4 upgrade
Based on latest SeaMonkey's security/nss.symbols, as well as some
unresolved external symbols I found myself.
2023-03-04 13:57:07 +08:00
Job Bautista 43c816cd19 Issue #1693 - Update NSS to 3.79.4 2023-03-04 13:13:49 +08:00
Job Bautista 409d3e66de Issue #1693 - Update NSPR to 4.35 2023-03-04 13:04:26 +08:00
Job Bautista c7aa6e40f6 Issue #1693 - Use scoped enums for IDBTransaction.
Based on a patch from Mozilla bug 1598164.
Needed due to identifier collision between NSS and IDBTransaction.

Co-authored by: Simon Giesecke <simon.giesecke@gmail.com>
Co-authored by: Matt A. Tobin <email@mattatobin.com>
2023-03-04 13:02:13 +08:00
Moonchild 8744033a34 Issue #1361 - Enable WebComponents' getRootNode by default.
Since we're enabling WebComponents, we should enable this too.
TODO: merge the two relevant prefs.
2023-03-01 23:49:34 +01:00
Moonchild 4b7f6babe3 Merge pull request 'CE define must upgrade elements in the shadow-including tree order' (#2134) from FranklinDM/UXP-contrib:work_wc-define-upgrade-in-shadow-including-tree-order into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2134
2023-02-28 08:32:23 +00:00
FranklinDM 059af6d121 Issue #1375 - Part 2: customElements.define must upgrade custom element in shadow-including tree order
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1326028
2023-02-28 07:48:27 +08:00
FranklinDM 9e2751484a Issue #1375 - Part 1: Allow moving a reference into nsInterfaceHashtable 2023-02-28 07:47:27 +08:00
Moonchild cd86d9ce3f No Issue - Remove speech recognition pref and enable TTS API by default.
Speech recognition was removed a while back. The pref is just leftover.
Having the TTS API available will provide some accessibility benefits
for users, so flip that on while we're here.
2023-02-28 00:42:11 +01:00
Moonchild 6da7d30e76 No Issue - Enable MSE for WebM on all platforms.
WebM is certainly mature enough to have hooked into MSE (default on
Linux and other for years now).
2023-02-28 00:40:26 +01:00
Moonchild 953a2eab75 Issue #1361 - Enable WebComponents by default in the platform. 2023-02-28 00:38:44 +01:00
Moonchild f3c063a868 Issue #2131 - Remove image.webp.enabled preference 2023-02-27 19:27:19 +01:00
Moonchild 41448d401d Merge pull request 'Remove shadow tree hacks in the frame constructor and use correct insertion point during reconstruction' (#2130) from FranklinDM/UXP-contrib:work_sdom-1404789 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2130
2023-02-27 09:20:32 +00:00
FranklinDM 679e53697c Issue #1375 - Follow-up: Get the insertion point right when reconstructing direct children of a shadow root
This should've been changed alongside bug 1404789 when it landed.
2023-02-27 13:15:43 +08:00
FranklinDM 047e44d5c7 Issue #1375 - Follow-up: Remove shadow tree hacks in the frame constructor
This should've been removed alongside bug 1404789 when it landed.
2023-02-27 13:15:37 +08:00
Moonchild eff173129a Merge branch 'full-range-video' 2023-02-26 21:15:12 +01:00
Moonchild a578a28dd8 Merge pull request 'RGB video playback' (#2125) from u3shit/UXP:gbrp-video into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2125
2023-02-26 20:14:03 +00:00
u3shit c64fe52b28 Issue #2101 - Part 7: Add color range support on GPUs 2023-02-26 19:42:14 +01:00
u3shit 338cbff242 Issue #2101 - Part 6: Plumbing of ColorRange between video decoders and YUV convert 2023-02-26 19:42:04 +01:00
u3shit c03bb68372 Issue #2101 - Part 5: Add ColorRange support to video decoders 2023-02-26 19:41:56 +01:00
u3shit e736dc2d34 Issue #2101 - Part 4: Add color range support to gfx/ycbcr
Loosely based on current mozilla code
https://hg.mozilla.org/mozilla-central/file/25a8668d92431d469b443f0f2030328bab754aea/gfx/ycbcr/yuv_convert.cpp
2023-02-26 19:41:47 +01:00
u3shit 8ed007c4e8 Issue #2101 - Part 3: Update libyuv
Updated to version 1861, git revision 88b050f337cc0ca2a51800fe7bf4737222c87344 from
https://chromium.googlesource.com/libyuv/libyuv/
2023-02-26 19:41:38 +01:00
u3shit 466b773179 Issue #2101 - Part 2: Use stdint.h types instead of uint8 and friends
Required for upcoming libyuv update
2023-02-26 19:41:30 +01:00
u3shit 092ff20c60 Issue #2101 - Part 1: Add mColorRange info to YCbCrBuffer
https://hg.mozilla.org/integration/autoland/rev/6f4c7904cda8
2023-02-26 19:41:20 +01:00
u3shit f6e1f851d0 Issue #2118 - Part 2: Add support for Identity YUVColorSpace
https://hg.mozilla.org/mozilla-central/rev/be342c90755d11551623362f2058c0326f63bbb3
2023-02-26 13:04:53 +01:00
u3shit 98fef024cd Issue #2118 - Part 1: Update gfxUtils YuvColorMatrix functions to match upstream mozilla code more closely.
https://hg.mozilla.org/mozilla-central/file/4fba5295dc19f9d2f5d065ba502a44d8f2dc9e85/gfx/thebes/gfxUtils.cpp#l1246
2023-02-26 13:04:53 +01:00
Moonchild c47d20f3f3 Merge pull request 'Fix HTML5 parser behavior when looking for custom elements' (#2129) from FranklinDM/UXP-contrib:work_wc-fix-parser-for-custom-elements into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2129
2023-02-26 10:20:48 +00:00
Moonchild 3e108a2c4e Merge pull request 'Fix :host selector matching' (#2128) from FranklinDM/UXP-contrib:work_css-fix-host-selector-matching into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2128
2023-02-26 10:16:24 +00:00
Moonchild e3275643e2 Merge pull request 'Remove assertion that GetPreEffectsVisualOverflowRect is called only by frames whose parent is an anonymous block' (#2127) from FranklinDM/UXP-contrib:work_css-remove-svg-frame-assertion into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2127
2023-02-26 10:14:07 +00:00
FranklinDM 6c2fef44cf Issue #1344 - (Parser: C++) Don't reset containsHyphen value after finding one 2023-02-26 16:19:09 +08:00
FranklinDM acbce95aa3 Issue #1344 - (Parser: Java) Don't reset containsHyphen value after finding one 2023-02-26 16:19:02 +08:00
FranklinDM 468a37eab8 Issue #1593 - Follow-up: Fix :host selector matching
Previously, we would match `:host` if:
(a) we don't have any arguments and our parent is the shadow root, or;
(b) if any of the arguments match, then reject if we don't have a containing shadow

Revised, we would match `:host` if:
(Preconditions) The element must have a shadow root, the selector must not have any feature selectors, and it is not blocked from matching `:host` (e.g. .matches outside of the shadow root context)
(a) The selector does not have any arguments, or;
(b) It matches any of its arguments in the functional part of the pseudo-class

With this, we now pass these tests that were previously failing:
http://wpt.live/css/css-scoping/css-scoping-shadow-host-rule.html
http://wpt.live/css/css-scoping/host-descendant-002.html
http://wpt.live/css/css-scoping/host-multiple-001.html
Improved (1 less red box):
http://wpt.live/css/css-scoping/css-scoping-shadow-host-namespace.html
2023-02-26 01:32:13 +08:00
FranklinDM 9d7d704523 Issue #1382 - Part 2: Add crash test
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=842114
2023-02-25 11:27:54 +08:00
FranklinDM a28ce48a16 Issue #1382 - Part 1: Remove assertion that GetPreEffectsVisualOverflowRect is called only by frames whose parent is an anonymous block
This is always hit if an SVG effect is applied on other frame types.

Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1340257
2023-02-25 11:27:53 +08:00
Moonchild 630e34a966 Merge pull request 'Cleanup Mac DMG packaging, better naming and remove extra precomplete file.' (#2123) from dbsoft/UXP:Mac2117 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2123
2023-02-24 13:33:54 +00:00
Moonchild fc408bf1e2 Merge pull request 'Propagate combinator restriction to :is()/:where()' (#2122) from FranklinDM/UXP-contrib:work_css-propagate-combinator-restriction into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2122
2023-02-23 09:40:56 +00:00
Moonchild 3a2adcff71 Merge pull request 'Move Has* function definition out of the header file for consistency' (#2121) from FranklinDM/UXP-contrib:work_css-pseudoclass-funcdef-move into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2121
2023-02-23 09:19:20 +00:00
Moonchild dabadd700c Issue #2046 - Follow-up: Fix debug assert using old chars definition. 2023-02-22 22:31:24 +01:00
FranklinDM 826464c80b Issue #2078 - Follow-up: Propagate combinator restriction to :is()/:where()
Based on spec discussion: https://github.com/w3c/csswg-drafts/issues/5093
2023-02-22 14:00:49 +08:00
FranklinDM f17feba05f Issue #2078 - Follow-up: aPreventComplexSelectors should be passed 2023-02-22 14:00:49 +08:00
FranklinDM 4493017fd8 Issue #2078 - Follow-up: Move isForgiving check to ParsePseudoClassWithSelectorListArg 2023-02-22 14:00:43 +08:00
FranklinDM bae06ce171 No issue - Move Has* function definition out of the header file for consistency 2023-02-22 13:51:53 +08:00
Moonchild f2ef28d09c Merge pull request 'Improve :host and :host-context matching' (#2120) from FranklinDM/UXP-contrib:work_css-host-matching-fixes into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2120
2023-02-21 22:56:39 +00:00
Moonchild b9f3a03a5f Merge pull request 'Ensure :host() and :host-context() are given proper weights' (#2119) from FranklinDM/UXP-contrib:work_css-host-and-host-context-specificity into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2119
2023-02-21 22:55:35 +00:00
Moonchild 5b21c547de [DOM] WebCrypto: Check decoded key type before using it.
Just in case someone forces the wrong key type and misuses WebCrypto.
It won't be usable anyway so better to throw.
2023-02-21 21:07:04 +01:00
Moonchild ee7201bbb4 Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2023-02-21 20:29:51 +01:00
Moonchild b2af611dc1 No issue - Refactor FindErrorInstanceOrPrototype
The logic here wasn't very transparent or easy to follow.
Doing a positive check to set the result instead of defaulting to it
also potentially prevents issues.
2023-02-21 20:29:35 +01:00
FranklinDM e0226ccae6 Issue #1593 - Follow-up: Accept only a single selector in the argument of :host/:host-context
Current spec says these two pseudo-classes accept only a single compound selector:
:host( <compound-selector> )
:host-context( <compound-selector> )
2023-02-21 22:50:18 +08:00
FranklinDM 9c1d44f5f6 Issue #1593 - Follow-up: Copy mIsRelevantLink value over rather than calling IsLink
Calling IsLink ignores whatever state we have for aTreeMatchContext and will trigger an assertion if aTreeMatchContext.mForStyling is false. This also adds a comment about what that line effectively does.
2023-02-21 22:50:18 +08:00
FranklinDM ab5a651d55 Issue #1593 - Follow-up: :host() should not automatically match if we have a non-empty selector list 2023-02-21 22:50:17 +08:00
FranklinDM ae59eb00e5 Issue #1823 - Ensure :host() and :host-context() are given proper weights 2023-02-21 22:46:04 +08:00
Moonchild 9d9d93381e Merge pull request 'Implement :is() and :where() CSS pseudo-classes' (#2110) from FranklinDM/UXP-contrib:work_css-is-where into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2110
2023-02-21 12:31:17 +00:00
athenian200 d022966201 Merge pull request 'MailNews: Re-check availability of OAuth2 when hostname fields modified.' (#2052) from blu.256/UXP:fix/mailnews/oauth-custom-domain into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2052
2023-02-21 06:12:19 +00:00
Brian Smith c2ed566b06 Issue #2117 - Part 2 - Revert "Follow up to d0eee8f01 - Run precomplete cmd during package staging"
This reverts commit c622e988fe.
2023-02-20 10:17:49 -06:00
Brian Smith 2f5798b5db Issue #2117 - Part 1 - Update Mac DMG platform names to intel64 for Intel and arm64 for Apple Silicon. 2023-02-20 10:12:47 -06:00
FranklinDM 31c074ce15 Issue #2078 - Part 6: Replace empty list head with the next non-empty list for forgiving selector lists
What happens here if aListHead is an empty selector list:
(1) next selector group is parsed and continues to the next iteration if it's empty or invalid
(2) if we're a forgiving selector list and aListHead is empty, replace it with the selector group that we've just parsed
(3) step 1 ignores invalid/empty, so we assert that step 2 should never have an empty selector list
2023-02-20 23:36:28 +08:00
FranklinDM f19504608e Issue #2078 - Part 5: Ensure :is() and :where() are given proper weights 2023-02-20 23:36:27 +08:00
FranklinDM adc21f14fa Issue #2078 - Part 4: Unify selector list matching
This should allow pseudo-classes that accept selector lists to properly handle complex selectors. `:visited` is also matched inside selector lists.
A previous iteration of this commit had incorrect matching behavior when called from `RestrictedSelectorListMatches`.
2023-02-20 23:36:26 +08:00
FranklinDM 828c8cc46f Issue #2078 - Part 3: Rename nsCSSRuleProcessor::SelectorListMatches to RestrictedSelectorListMatches
This is in preparation for merging the logic of RestrictedSelectorListMatches and AnySelectorInArgListMatches.
2023-02-20 23:35:55 +08:00
FranklinDM bc399f7871 Issue #2078 - Part 2: Rename nsPseudoClassList->u.mSelectors to mSelectorList
This makes it clear that we're accessing a selector list (nsCSSSelectorList), which is different from the selectors (nsCSSSelector) contained inside a selector list. Previously, both were confusingly referred to as mSelectors.
2023-02-20 23:35:54 +08:00
FranklinDM 024b7500d1 Issue #2078 - Part 1: Update CSS rule processor to handle :is() and :where() CSS pseudo-classes
This modifies selector list parsing to accommodate being "forgiving". Aliases for the :is selector's former names were also included. Note that the older and prefixed variant `-moz-any` remains unforgiving.
2023-02-20 23:35:47 +08:00
Moonchild 9b1b294e29 Merge pull request 'Improve fallback handling with mach clobber python command' (#2116) from FranklinDM/UXP-contrib:work_python-clobber-fallback into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2116
2023-02-20 12:24:04 +00:00
Moonchild 33bc5535f2 Merge pull request 'Annotate crash with database name when storage connection not closed' (#2115) from FranklinDM/UXP-contrib:work_js-annotate-crash-with-db-name into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2115
2023-02-20 12:09:47 +00:00
Moonchild 3076df399c Merge pull request 'Fix invalid assert for decoder type if JXL is not built on debug builds' (#2114) from FranklinDM/UXP-contrib:work_jxl-assert-fix-1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2114
2023-02-20 11:12:10 +00:00
Moonchild aa43190b9a Merge pull request 'Split monolithic Intl.* into separate files' (#2109) from martok/UXP-contrib:mr/intl-split into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2109
2023-02-20 11:07:49 +00:00
FranklinDM ae476cc42c No issue - Improve fallback handling and resolve PATH issues with python clobber command 2023-02-20 17:32:40 +08:00
FranklinDM a434994229 Issue #1382 - Annotate crash with database name when storage connection not closed
Reported on https://bugzilla.mozilla.org/show_bug.cgi?id=1384036
This was fixed with an unrelated issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1372823
2023-02-20 17:25:09 +08:00
FranklinDM 8d980914af Issue #1382 - Fix invalid assert for decoder type if JXL is not built on debug builds 2023-02-20 17:22:16 +08:00
Moonchild 97f69387f4 Merge pull request 'Implement CSSStyleRule.selectorText setter' (#2113) from FranklinDM/UXP-contrib:work_css-stylerule-selectortext-setter into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2113
2023-02-20 08:31:46 +00:00
FranklinDM 8d6c043b89 Issue #2111 - Implement CSSStyleRule.selectorText setter
Unlike the original patch, this copies Chrome behavior: ignores invalid values of selectorText without any console log.

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=37468
2023-02-20 12:56:39 +08:00
Moonchild 41bab244fc Force clobber 2023-02-19 17:53:21 +01:00
Moonchild fb73c3aa3b [NSS] Update NSS to 3.52.9 to pick up fixes. 2023-02-19 15:26:44 +01:00
Moonchild 078a424cf3 [DOM] Check whether module load request was already cancelled when a load fails 2023-02-19 13:10:29 +01:00
Moonchild 576ac835f0 [widget] Properly test for and handle errors in target-surface creation
and mapping.
2023-02-19 12:08:17 +01:00
Martok ac4240f055 Issue #2046 - Move a bunch of functions in builtin/intl/CommonFunctions.js into more-specific files, where those functions are only used in a single more-specific file 2023-02-17 00:21:40 +01:00
Martok 233feee823 Issue #2046 - Move builtin/Intl.js (which now contains only shared functionality) to builtin/intl/CommonFunctions.js 2023-02-17 00:07:06 +01:00
Martok df8d3c4b0a Issue #2046 - Move Intl.Collator self-hosted code to a new builtin/intl/Collator.js file 2023-02-17 00:01:59 +01:00
Martok d3abfaff82 Issue #2046 - Move Intl.NumberFormat self-hosted code to a new builtin/intl/NumberFormat.js file 2023-02-17 00:00:36 +01:00
Martok 5cf6aa9065 Issue #2046 - Move Intl.DateTimeFormat self-hosted code to a new builtin/intl/DateTimeFormat.js file 2023-02-17 00:00:21 +01:00
Martok 1491d55375 Issue #2046 - Move Intl.PluralRules self-hosted code to a new builtin/intl/PluralRules.js file 2023-02-16 23:56:35 +01:00
Martok f53901c567 Issue #2046 - Move Intl.RelativeTimeFormat self-hosted code to a new builtin/intl/RelativeTimeFormat.js file 2023-02-16 23:55:05 +01:00
Martok a63ea3fdfb Issue #2046 - Move the self-hosting of non-constructor properties of Intl to a new builtin/intl/IntlObject.js file 2023-02-16 23:53:01 +01:00
Martok fe7e00d47f Issue #2046 - Move various generated files from builtin/Intl* to builtin/intl/*, and add "Generated" to their names for clarity 2023-02-16 23:42:45 +01:00
Martok face1e6e9b Issue #2046 - Move builtin/Intl.* to builtin/intl/IntlObject.* 2023-02-16 22:41:00 +01:00
Martok 22b189727f Issue #2046 - Trim builtin/Intl.*'s #include set down to what is required for Intl itself 2023-02-16 22:24:52 +01:00
Martok 9ad97da85b Issue #2046 - Move Intl.RelativeTimeFormat functionality into builtin/intl/RelativeTimeFormat.* 2023-02-16 21:26:50 +01:00
Martok 5f9d4f115e Issue #2046 - Move Intl.PluralRules functionality into builtin/intl/PluralRules.* 2023-02-16 01:33:43 +01:00
Martok 29e2547f26 Issue #2046 - Move Intl.DateTimeFormat functionality into builtin/intl/DateTimeFormat.* 2023-02-16 00:14:24 +01:00
Martok 24f8c4f052 Issue #2046 - Move SharedIntlData into its own builtin/intl/SharedIntlData.* files so the world doesn't have to import all shared Intl functionality. 2023-02-15 22:58:28 +01:00
Martok 52821c2e85 Issue #2046 - Move Intl.Collator functionality into builtin/intl/Collator.* 2023-02-15 22:32:08 +01:00
Martok 2b0f6aea16 Issue #2046 - Move NewUNumberFormatForPluralRules next to its only use 2023-02-15 22:32:07 +01:00
Martok 31adccdffc Issue #2046 - Move Intl.NumberFormat functionality into builtin/intl/NumberFormat.* 2023-02-15 22:32:07 +01:00
Martok b13cd385a4 Issue #2046 - Create helper method to call ICU string conversion methods
Based-on: m-c 1333844
2023-02-13 01:29:00 +01:00
Martok 3091ff4e57 Issue #2046 - Move functionality used in the implementation of multiple Intl.* constructors into builtin/intl/CommonFunctions.* 2023-02-12 23:27:21 +01:00
Martok 8ca01873c0 Issue #2046 - Move ScopedICUObject into builtin/intl/ScopedICUObject.h 2023-02-12 22:32:41 +01:00
Moonchild 013e19eed6 Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2023-02-11 22:52:55 +01:00
Moonchild 6a353ef32d Issue #1851 - Update TwemojiMozilla to 0.7.0 (Twemoji 14) 2023-02-11 22:52:29 +01:00
Moonchild 05ad5bcb5b Merge pull request 'Clean up caret when destroying editor.' (#2108) from jobbautista9/UXP:2107-caret into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2108
2023-02-11 09:16:39 +00:00
Job BautistaandMakoto Kato 42742eceae Issue #2107 - Clean up caret when destroying editor.
Editor changes caret visibility during drag and drop. But when destroying
editor, we don't restore caret state. So we should restore it when destroying
editor.

Co-authored-by: Makoto Kato <m_kato@ga2.so-net.ne.jp>
2023-02-09 20:51:34 +08:00
Moonchild ffdba3d91e No issue - Accept also video/vp8 as MIME type (bis) 2023-02-08 01:01:25 +01:00
Moonchild 1f32c17fcf No issue - Accept also video/vp8 as MIME type 2023-02-07 19:58:04 +01:00
Moonchild 8b26fcd0de Merge pull request 'Implement XUL crop:clip property value for string cropping' (#2105) from FranklinDM/UXP-contrib:work_xul-crop-clip into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2105
2023-02-04 17:00:04 +00:00
FranklinDM 1a2a779aaf Issue #2104 - Part 2: Indicate if a label was cropped via the "_is_cropped" attribute 2023-02-03 22:44:04 +08:00
FranklinDM dc14e5a906 Issue #2104 - Part 1: Implement "clip" attribute value for XUL string cropping
This implements the "clip" attribute value for the "crop" attribute found in XUL label elements. It functions similarly to having the text-overflow property set to an empty string or "". This shouldn't break previously established behavior as it only adds a new value to be checked.

The behavior of the "none" attribute value in the documentation (https://udn.realityripple.com/docs/Archive/Mozilla/XUL/Attribute/crop) is incorrect. The "none" attribute value literally means "don't crop anything" if you'd check the code and is also equivalent to not setting the "crop" attribute at all. This has always been the case since Firefox 2 (earliest version I checked) and apparently, this section of the documentation was copied verbatim from XULPlanet without even checking if it's correct.
2023-02-03 22:44:04 +08:00
Moonchild fb8347c7d2 Issue #2103 - Fix typo in RegExp Parser
This corrects the typo where the left-hand character would determine if
the right-hand character would be added or not.

Resolves #2103
2023-02-02 10:50:02 +01:00
Moonchild aa0d7fc060 Merge pull request 'Promises pt. 3: Implement Promise.any' (#2102) from martok/UXP-contrib:mr/prom-async-pt3 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2102
2023-02-01 22:52:14 +00:00
Martok 04e13794b2 Issue #2089 - Implement the Promise.any combinator
Based-on: m-c 1568903/9,1560300
2023-02-01 00:02:45 +01:00
Martok 2421d31e02 Issue #2089 - Rename shared Promise combinator functions, with helpers for element functions
Based-on: m-c 1568903/{5-8}
2023-02-01 00:02:45 +01:00
Martok 0148ae5a60 Issue #2089 - Implement AggregateError
Based-on: m-c 1568903/4,1641355(partial),1652148,1643397
2023-02-01 00:02:44 +01:00
Martok ec38c883c6 Issue #2089 - Move ErrorObject parts from jsexn.cpp to ErrorObject.cpp
Based-on: m-c 1568903/2
2023-02-01 00:02:44 +01:00
Martok e3c44ebafa Issue #2089 - Add cache for Promise property lookups
Based-on: m-c 1475678/11
2023-02-01 00:02:44 +01:00
Moonchild c9764f76ec Merge pull request 'Remove unnecessary cast in GeneratorObject::suspend's do loop.' (#2100) from jobbautista9/UXP:2099-generatorobject-cast into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2100
2023-01-31 16:22:02 +00:00
Job Bautista a1d573eb13 Issue #2099 - Remove unnecessary cast in GeneratorObject::suspend's do loop.
This resolves build bustage with --enable-debug.
2023-01-31 20:03:09 +08:00
Moonchild 94e2874370 Merge pull request 'Promises pt. 2: Optimization and Unification' (#2096) from martok/UXP-contrib:mr/prom-async-pt2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2096
2023-01-31 11:10:03 +00:00
Moonchild a13035b1de Merge pull request 'Make RegExpShared into a proper GC thing' (#2095) from jobbautista9/UXP:2083-regexpshared-gc-final into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2095
2023-01-31 09:46:14 +00:00
Moonchild d7c90a831a [xpcom] remove incorrect assertion.
See https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2095#issuecomment-33796
2023-01-29 19:19:48 +01:00
Moonchild 243c2bd498 No issue - bump default platform UA compatibility mode to 102.0 2023-01-29 19:17:00 +01:00
Moonchild e57d4347cd Issue #1382 - Remove incorrect assertion.
Tag #2090 #2095
2023-01-29 19:16:16 +01:00
Job Bautista 5732cf1f17 Issue #2083 - Follow-up: RegExpShared::source should be a GCPtr.
A hangover from before RegExpShared was a GC thing, as noted by m-c 1399928.
2023-01-28 19:32:24 +08:00
Martok ae4149e7ee Issue #2089 - Report unhandled rejection for optimized away promise
Based-on: m-c 1498775
2023-01-27 19:31:17 +01:00
Job Bautista 40ef2a5756 PR #2090 - Follow-up: Remove invalid MOZ_ASSERT in js::NativeDefineDataProperty
We don't have isHelperThreadContext, and this is breaking debug builds.
2023-01-27 16:47:12 +08:00
Martok 15a0dd6e4c Issue #2089 - Further runtime perf improvements for PromiseState
- Reduce slot size of PromiseReactionRecord to fit into OBJECT8 alloc kind
- Use the Call() helper from Interpreter.h to reduce code duplication
- Clear the incumbent global slot when it's no longer used

Based-on: m-c 1475678/{12-14}
2023-01-27 00:09:15 +01:00
Martok c1b1638522 Issue #2089 - Create a shared helper for PerformPromiseRace, PerformPromiseAll and PerformPromiseAllSettled
Replace the previous non-CommonPerformPromiseAllRace port with the unified one

Based-on: m-c 1475678/10,1539694
2023-01-26 22:33:28 +01:00
Martok c805a6a526 Issue #2089 - Add a PromiseCapability struct, directly initialize dense elements in PerformPromiseAll using NewbornArrayPush
Based-on: m-c 1475678/{8,9}
2023-01-26 22:25:07 +01:00
Martok 82222eb7b4 Issue #2089 - Improve Runtime perf of Promises
- reduce typecasting
- reduce rooting already rooted values
- directly handle unwrapped promises

Based-on: m-c 1475678/{1-7}
2023-01-26 20:54:33 +01:00
Martok 0dc2b249dc Issue #2089 - Don't use BlockOnPromise fast path with non-default resolving functions, combine default resolving functions flags
Based-on: m-c 1474348
2023-01-26 20:54:32 +01:00
Martok f2eeb76969 Issue #2089 - Optimize Promise.then and Promise.all/race with default resolving functions
Based-on: m-c 1401508,1412200,1473970/{1-4}
2023-01-26 20:54:32 +01:00
Martok 6445a1bdb4 Issue #2089 - Turn AsyncGeneratorResumeNext recursion into iteration to avoid stack overflow
Based-on: m-c 1416809
2023-01-26 20:54:32 +01:00
Martok 94df491338 Issue #2089 - Only create result Promises in Promise#then and Promise#catch if it's used or the creation is otherwise observable
Based-on: m-c 1342070
2023-01-26 20:54:31 +01:00
Martok a6ceedf7b2 Issue #2089 - Shrink Promise instances from 8 to 4 slots by moving debug information to an external object
Based-on: m-c 1342050
2023-01-26 20:54:31 +01:00
Job Bautista 47c6fe9cee Revert "Issue #1382 - RegExpShared::groupsTemplate_ cannot be a GCPtr since RegExpShared is managed by C++"
This workaround has been obsoleted by the work on Issue #2083.
This reverts commit bbd7436086.
2023-01-26 15:26:32 +08:00
Job Bautista 64370b64d2 Issue #2083 - Part 5: Fix memory leak in RegExpObject.
Based on Mozilla bug 1345177.
2023-01-26 15:26:32 +08:00
Job Bautista 523201f3e4 Issue #2083 - Part 4: Give RegExpShared a finalizer.
Based on Mozilla bug 1345177.
2023-01-26 15:26:32 +08:00
Job Bautista 997616e308 Issue #2083 - Part 3: Fix RegExpShared rooting hazards now it's a GC thing.
Based on Mozilla bug 1345177.
Changes from the original bug's patch:

- The original patch didn't have a dotAll for a call to irregexp::ParsePattern,
  so let's make our dotAll a member of the MutableHandleRegExpShared re.
- Make RegExpShared::initializeNamedCaptures, introduced in Issue #1285, static.
  This resolves a build bustage where static RegExpShared::compile was trying to
  use a member function.
2023-01-26 15:26:32 +08:00
Job Bautista f5761df1c7 Issue #2083 - Part 2: Remove use of RegExpGuard.
Based on Mozilla bug 1345177.
There were more uses of RegExpGuard in js/src/builtin/RegExp.cpp not found in
 the original bug's patch.
2023-01-26 15:26:31 +08:00
Job Bautista c566c36791 Issue #2083 - Part 1: Make RegExpShared a GC thing.
Based on Mozilla bug 1345177.
Changes from the original bug's patch:

- We don't have JS::CurrentThreadIsHeapCollecting, so let's use
  trc->runtime()->isHeapCollecting() instead.
- Mozilla bug 1337117 renamed runtimeFromMainThread to
  runtimeFromActiveCooperatingThread for Firefox 54, so let's use the former
2023-01-26 15:26:31 +08:00
Moonchild 5a4478b409 Merge pull request 'Fix crash in js::CreateRegExpMatchResult' (#2094) from martok/UXP-contrib:mr/2093-regexp into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2094
2023-01-25 23:02:39 +00:00
Martok cce4862b70 Issue #2093 - Trace HeapPtr<RegExpShared::groupsTemplate_> for GC move/compact events, regression from #2072 2023-01-25 23:22:07 +01:00
Moonchild c06a9ae523 Merge pull request 'Parse \p{Extended_Pictographic} too.' (#2092) from jobbautista9/UXP:2091-extended-pictographic into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2092
2023-01-25 21:46:18 +00:00
Job Bautista aa108a39d6 Issue #2091 - Parse \p{Extended_Pictographic} too.
This is essentially a follow up to Issue #1286. We already have
 UCHAR_EXTENDED_PICTOGRAPHIC in our in-tree ICU, so there's no reason to comment
 this case out.
2023-01-25 16:33:44 +08:00
Moonchild b87775f75a Merge pull request 'Promises pt. 1: Basics' (#2090) from martok/UXP-contrib:mr/prom-async-pt1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2090
Reviewed-by: Moonchild <moonchild@palemoon.org>
2023-01-23 16:55:39 +00:00
Martok d72c98277b Issue #2089 - Avoid copying/recreating iterator result, AsyncGeneratorRequest and GeneratorObject expression stacks
Based-on: m-c 1394682,1410283,1396499
2023-01-22 00:11:28 +01:00
Martok 9f07ad27f5 Issue #2089 - In Promises, use a C++ version of SpeciesConstructor when calling from C++
Based-on: m-c 1344656,1386534
2023-01-22 00:11:28 +01:00
Martok b1440d285b Issue #2089 - Use JS engine stack if necessary when reporting errors
Based-on: m-c 996060
2023-01-22 00:11:27 +01:00
Martok d78912ec17 No issue - Throw error when resolving or rejecting promise returned by async function with testing function
Based-on: m-c 1418106
2023-01-22 00:11:27 +01:00
Martok d454045363 No issue - add API to tell Profile Timeline Recording state to JS engine
Based-on: m-c 1342070/5
2023-01-21 22:49:10 +01:00
Martok 44adc9e25c No issue - Cleanup unused function exports to self-hosted global
Based-on: m-c 1325696
2023-01-21 22:49:10 +01:00
Martok 7cde54d976 No issue - Remove "code" from jsprototype.h macros
Based-on: m-c 1394084
2023-01-21 00:55:40 +01:00
Martok 13eac0ae3f No issue - reformat GlobalObject::skipDeselectedConstructor 2023-01-21 00:51:34 +01:00
Martok 0d1d366685 No issue - implement js::NativeDefineDataProperty helper 2023-01-21 00:50:37 +01:00
Moonchild 9536cf49ce [DOM] Make nsHTMLContentSerializer handle noscript depending on the
scripting enabled state of the document.
2023-01-18 21:23:40 +01:00
Moonchild bd9042426a [devtools] Improve Copy as cURL
Windows commonly fails to work because of --compressed, and its string
escaping needed improvement because of the complexities of argument
parsing in command windows.
2023-01-18 19:21:26 +01:00
Moonchild 76f10666f4 [DOM] Add some null checks for PerformanceWorkers 2023-01-18 17:54:34 +01:00
Moonchild c8b74d4cbd No issue - factor out some frame iterator helper functions. 2023-01-18 14:08:50 +01:00
Moonchild 25ed473471 [gtk widget] Use text/uri-list for file drag&drop. 2023-01-18 12:32:12 +01:00
Moonchild 304dfb8da2 [network] Avoid queue manipulation inside a loop 2023-01-18 02:26:23 +01:00
Moonchild 2c4410681f Merge pull request 'Re-unify some more missed sources in js/src' (#2088) from jobbautista9/UXP:js-src-80 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2088
Reviewed-by: Moonchild <moonchild@palemoon.org>
2023-01-10 11:22:52 +00:00
Job Bautista 5b3edcd412 Issue #80 - Re-unify some more missed sources in js/src 2023-01-10 15:50:56 +08:00
Moonchild 8dadf744e3 Issue #2087 - Don't throw on lacking PresShell in SetFontInternal
In CanvasRenderingContext2D::SetFontInternal, we should not throw if
there is no PresShell due to (sandboxed/hidden) iframe use that has not
initialized its presentation yet at the time of property manipulation.
This removes the throwing of the error and just silently fails.

Resolves #2087
2023-01-09 10:52:49 +01:00
Moonchild e7268f447a Merge pull request 'Remove CSS unprefixing service' (#2085) from FranklinDM/UXP-contrib:work_css-remove-unprefixing-service into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2085
Reviewed-by: Moonchild <moonchild@palemoon.org>
2023-01-06 15:49:41 +00:00
Moonchild d3830bea8d Merge pull request 'Fix invalid inequality check on assert in RegExpParser' (#2086) from FranklinDM/UXP-contrib:work_regexp-assert-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2086
2023-01-06 15:04:30 +00:00
Moonchild 4ebfc47dff Merge pull request 'Performance Enhancements for Animated Images' (#2081) from martok/UXP-contrib:gfx-gifmem into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2081
2023-01-06 15:02:51 +00:00
FranklinDM 9694f5c216 No issue - Fix invalid neq check on assert in RegExpParser 2023-01-06 22:16:32 +08:00
FranklinDM 1264824127 Issue #2084 - Part 2: Simplify logic in CSSParserImpl::LookupKeywordPrefixAware
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1259348
2023-01-06 22:13:16 +08:00
FranklinDM b5f8fa6479 Issue #2084 - Part 1: Remove CSSUnprefixingService.js and associated code
It's effectively dead code since it's been supplanted by built-in webkit-prefixed-CSS support (landed before fork point in Firefox 49).

Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1259348
2023-01-06 22:13:08 +08:00
Moonchild af3a27e838 Merge pull request 'Follow-up fixes to #2060' (#2072) from martok/UXP-contrib:irregexp-fix1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2072
2023-01-06 09:06:56 +00:00
Moonchild 1d4532ac5e Merge pull request 'Fix linking libxul on *nix when using gold, lld, and mold as linker.' (#2082) from jobbautista9/UXP:staticxul-ldmagic into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2082
2023-01-05 17:53:04 +00:00
Job Bautista 2e8442e6ec Issue #2079 - Fix linking libxul on *nix when using a linker other than bfd.
Don't mark the .kPStaticModules section as relro for bfd, as the linkers on
 Windows and Mac don't do this anyway.
Add a section insert of .kPStaticModules to config/expandlibs_exec.py, which
 seems to be the primary cause of linking bustage on gold, lld, and mold.
2023-01-05 13:12:29 +08:00
Martok bbd7436086 Issue #1382 - RegExpShared::groupsTemplate_ cannot be a GCPtr since RegExpShared is managed by C++ 2023-01-04 20:48:25 +01:00
Martok 61dccf9933 Issue #2073 - m-c 1454149: Do not advance animated images which are not displayed 2023-01-04 00:50:26 +01:00
Martok cbcf9b9d8e Issue #2073 - m-c 1546500: Avoid dispatching synchronous thread shutdown runnables 2023-01-04 00:50:17 +01:00
Martok d28497f2cf Issue #2073 - m-c 1651587: Make image::Image release efficient on main thread 2023-01-04 00:50:03 +01:00
Martok 919a966dc2 Issue #2073 - m-c 1383404: make SourceBuffer::Compact more efficient (squashed)
The first part also means that Compact no longer needs the SurfaceCache lock (used to be via CreateChunk->CanHold),
which avoids potential deadlocks during shutdown that m-c 523950 would otherwise cause
2023-01-04 00:49:05 +01:00
Martok b618b3fb76 Issue #2073 - m-c 523950: Discard decoded frames of very large GIF animations (squashed)
Controlled by image.animated.decode-on-demand.threshold-kb, default 256MB

Includes squashed bugfixes/regressions:
 - m-c 1444537: Shutting down the decode pool should make animated decoders bail early
 - m-c 1628606: Make sure to mark the surface cache entry available before sending the frame complete notification
 - m-c 1502275: Skip recreating the decoder after redecode errors if an animated image is reset
 - m-c 1443232: Don't insert frames into our AnimationFrameBuffer that we consider in error and unusable
2023-01-04 00:49:04 +01:00
Martok e7fd4ba61b Issue #2073 - m-c 1343341: Infrastructure necessary to allow discarding of animated images (squashed)
Includes squashed changes of:
 - m-c 1317907: Refactor FrameAnimator::GetCompositedFrame to be a bit simpler
 - m-c 1351434: bugfix
 - m-c 686905: Enable the pref image.mem.animated.discardable to allow discarding of animated images
2023-01-03 02:01:10 +01:00
Martok 608ecc9549 Issue #2073 - m-c 1382683: Accelerate GIF decoding to SurfacePipe
1. Implement SurfacePipe::WritePixelBlocks for faster writing of pixels
2. Switch nsGIFDecoder2 to write pixels in blocks instead of individually
2023-01-03 02:01:10 +01:00
Moonchild 61b688198a Merge pull request 'Implement inset-(block|inline)-(start|end)' (#2076) from css-offset-inset-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2076
Reviewed-by: Travis W. <travawine@palemoon.org>
2023-01-01 23:33:27 +00:00
Moonchild 7bcc49489a Issue #2075 - Part 5: Allow logical aliases in the property database. 2022-12-31 10:19:45 +00:00
Moonchild 45193b1a82 Issue #2075 - Part 4: Update tests
* Update reftests to use inset-*
* Update property database
* Update logical properties test
2022-12-31 01:32:15 +00:00
Moonchild f404243371 Issue #2075 - Part 3: Regenerate devtools CSS database
Using `mach devtools-css-db`
2022-12-31 01:30:30 +00:00
Moonchild a943408c35 Issue #2075 - Part 2: Update devtools for inset-* 2022-12-31 01:29:03 +00:00
Moonchild 34ccfbcc0e Issue #2075 - Part 1: Rename offset-* logical properties to inset-*
This adds aliases behind a pref with the old offset-* names
2022-12-30 22:37:02 +00:00
Martok 4731658b7e Follow-up #2060 - Correctly handle \k in non-unicode expressions 2022-12-30 15:27:03 +01:00
Moonchild 4a3caaf522 Merge pull request 'Fix deprot in dom/base and js/src when building them de-unified.' (#2074) from jobbautista9/UXP:deprot-hunt1 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2074
2022-12-29 21:12:51 +00:00
Job Bautista edaddb1e5d Issue #80 - Fix deprot in js/src/irregexp.
Regression seems to have been introduced by PR #2060? This tree didn't fail
 building before we've reinstated unified building for js/src.
Found while building js/src de-unified.
2022-12-29 22:00:18 +08:00
Job Bautista 028e97d11e Issue #80 - Fix deprot in dom/base.
This regression was introduced by my PR #2015.
Found while building dom/base de-unified.
2022-12-29 22:00:07 +08:00
Moonchild a6d113f87b Issue #2053 - Disable DOM Performance API navigation timing.
We may eventually want to make this permanent in the front-end of
Pale Moon for privacy reasons.
Disabling this to avoid usage expecting changed spec results.
2022-12-26 11:21:32 +00:00
Moonchild 413cb600cc Update README 2022-12-25 16:59:18 +00:00
Moonchild 4ed26484ee Issue #2070 - When multiple HSTS headers are received, only consider the first.
This implements a plain interpretations of RFC 6797, which says to only consider
the first HSTS header.
This slightly conflicts with RFC 7230, which says that sending multiple headers
which can't be merged is illegal (except for a specific whitelist which HSTS isn't in),
so this situation should never occur in the first place (and would therefore not need
the explicit entry in RFC 6797).

It improves HSTS robustness dealing with non-compliant servers.

Resolves #2070
2022-12-25 11:42:42 +00:00
Moonchild 2a77e5662d Merge pull request 'Terminate some fallthrough attributes with a semicolon.' (#2071) from jobbautista9/UXP:fallthrough-sc into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2071
2022-12-25 08:27:44 +00:00
Moonchild 1555b1d89c Merge pull request 'Update libjxl to 0.7.0 and highway to 1.0.2.' (#2062) from jobbautista9/UXP:jxl-0.7 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2062
2022-12-25 08:26:16 +00:00
Job Bautista 080877ccec No issue - Fallthrough attributes must be terminated with semicolon.
This also fixes building with Clang 15 on Linux.
2022-12-25 14:50:24 +08:00
Job BautistaandMoonchild dcf9837607 Issue #2061 Follow-up: Fix moz.build to compile on all platforms.
Remove stuff from /extra/ and the JPEG transcoding file from compilation, as
 we don't need them.
A disable define for box decoding is also added, but currently commented out as
 there's no need to disable the function right now.

Co-authored-by: Moonchild <moonchild@palemoon.org>
2022-12-25 11:33:10 +08:00
Moonchild 5de28553a1 Current changes to the platform warrant a new milestone version for Goanna. 2022-12-24 23:36:07 +00:00
Moonchild 6249e60f41 Merge pull request 'Only wrap the last line of inline elements when positively padding to the right.' (#2069) from jobbautista9/UXP:paddingright-linewrap-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2069
2022-12-24 23:22:11 +00:00
Moonchild fb305d451f Merge pull request 'Restore and fix support for FasterMake' (#2066) from FranklinDM/UXP-contrib:work_restore-faster-make into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2066
2022-12-24 20:56:23 +00:00
Moonchild 154b94d350 Merge pull request 'Ensure a floated ::first-letter inherits from ::first-line.' (#2064) from jobbautista9/UXP:first-letter-floatinherit into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2064
2022-12-24 19:29:20 +00:00
Moonchild ea2d754647 Merge pull request 'Replace use of deprecated GetPreventDefault in GTK menu bar' (#2067) from FranklinDM/UXP-contrib:work_gtkmb-defaultprevented into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2067
2022-12-24 19:28:28 +00:00
Job BautistaandJonathan Kew 0063a28576 Issue #2068 - Only wrap the last line of inline elements when positively padding to the right.
This fixes the 21 year old Mozilla bug 122795.

Co-authored-by: Jonathan Kew <jfkthame@gmail.com>
2022-12-24 17:41:31 +08:00
FranklinDM 4e9a2f783e No issue - Replace use of deprecated GetPreventDefault in GTK menu bar 2022-12-24 13:16:03 +08:00
FranklinDM 84acd8c0ef Issue #2065 - Part 5: Fix incorrect inclusion of base file name in destination path for generated FasterMake track files
I'm not sure about what they had in mind when they first wrote this, but this is completely unnecessary. The base name is the file name. This part will break building with `mach faster` once partial filenames with wildcards are included in the package manifest, which became the case when we began supporting the newer MSVC runtime.

This also aligns FasterMake with how RecursiveMake treats wildcard copy directives.

They fixed this in bug 1416465, but it included a conditional that will almost always be true and kept this incorrect joining of the path and base name in the destination path. Since the value for the base name is either empty or contains a partial file name, that conditional effectively does nothing.
2022-12-24 12:57:59 +08:00
FranklinDM fba59dfc4b Issue #2065 - Part 4: Revise comments and remove parts dependent on hybrid FasterMake/RecursiveMake backend 2022-12-24 12:57:55 +08:00
FranklinDM 7ff4b0d120 Issue #2065 - Part 3: Process install manifests with --track in the recursive make backend
This excludes parts that remove support for building the Mozilla SDK.
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1390916
2022-12-24 12:57:52 +08:00
FranklinDM 13e658a200 Issue #2065 - Part 2: Expand pattern when track file is created rather than read
This fixes build bustage on Windows when using `mach build faster`.

Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1416465
2022-12-24 12:57:48 +08:00
FranklinDM abf74404c5 Issue #2065 - Part 1: Restore FasterMake build backend
I use this for quickly rebuilding and preprocessing the JS/XUL/CSS assets them without the need to recompile the IDL interfaces and other unnecessary items.
2022-12-24 12:57:44 +08:00
Job Bautista cfc61b4c5d Issue #2061 Follow-up: Export jxl/version.h.
Fixes building on Windows.
I also decided to move the preprocessed jxl/version.h to our include/jxl
 instead of relying on moz.build in preprocessing the file. Future me
 should note to not forget to update the version number at that new file
2022-12-24 10:42:27 +08:00
Moonchild 012669ee58 Merge pull request 'RegExp: upgrades to the irregexp regex engine' (#2060) from martok/UXP-contrib:irregexp-upgrades into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2060
2022-12-23 19:55:27 +00:00
Job BautistaandRyo Onodera 6f635acadc Issue #2063 - Ensure a floated ::first-letter inherits from ::first-line.
This fixes the 24 year old Mozilla bug 13610.

Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2022-12-23 19:21:40 +08:00
Job Bautista fc4d64665f Issue #2061 - Part 4: Update build system for highway library update. 2022-12-22 12:55:56 +08:00
Job Bautista ada110f579 Issue #2061 - Part 3: Update highway source to 1.0.2. 2022-12-22 12:55:25 +08:00
Job Bautista 1356ecde96 Issue #2061 - Part 2: Update build system for libjxl update. 2022-12-22 12:54:52 +08:00
Job Bautista 3d07029232 Issue #2061 - Part 1: Update libjxl source to 0.7.0. 2022-12-22 12:53:52 +08:00
Martok 3f2b011ee6 Issue #1286 - Parse unicode property escapes and property sequences
In addition to upstream, we also allow RGI-named sequences since they're used in the wild.
2022-12-21 19:35:56 +01:00
Martok 9a9e4e0c9a No issue - Refactor CharacterRange + Unicode handling into module for maintainability
Collects code from RegExpParser and RegExpEngine (regexp-compiler-tonode.cc)
Simplify parsing AtomEscape/CharacterClassEscape
2022-12-21 18:53:27 +01:00
Martok 58f3b2c581 Issue #1285 - Implement named capturing groups for replacing 2022-12-21 18:53:27 +01:00
Martok b356d64f4e Issue #1285 - implement named capturing groups and named backrefs
- RegExpParser collects seen groups in named_captures_.
- After irregexp::ParsePattern has finished, RegExpParser::StoreNamedCaptureMap translates
  the parser data to RegExpCompileData.capture_name/index
- RegExpShared::initializeNamedCaptures takes these and builds a PlainObject map which
  is kept with the compiled expression
This is done because irregexp doesn't have access to the JS context and so can't allocate
any JSValues itself.
- for each match result, this map is used to build PlainObjects of name->match/undefined
  (extremely simplified from upstream at the expense of some perf)

IonMonkey switches to non-masm code path for expressions with named groups.
2022-12-21 18:53:27 +01:00
Martok 9a0807a62c No issue - Refactor parsing of unicode escapes to be more general 2022-12-21 18:53:26 +01:00
Martok ffab95c3a3 No issue - Fix VectorMatchPairs allocating more memory than required 2022-12-21 18:53:26 +01:00
Martok 4a290b16b0 No issue - Flag to parse 'v' flag as 'u' for automated tests, disabled by default 2022-12-21 18:53:26 +01:00
Martok 4e252574e0 No issue - refactor base classes for easier access
- move InfallibleVector into its own header, together with common typedefs
- refactor CapturesVector
2022-12-21 18:53:25 +01:00
Martok 94f456f834 Issue #2056 - Fix handling of captures in lookbehinds
- Port unification of CheckNotBackReference*
- Port LoadCurrentCharacter
- Make RegExpMacroAssembler::CheckAtStart understand cp_offset
- Replace magic numbers in ChoiceNode::Emit, Trace::PerformDeferredActions
- CheckBacktrackStackLimit
- Allow backrefs to resist recursion
2022-12-21 18:53:25 +01:00
Moonchild 37bbb4152d Issue #1279 - Implement regular expressions lookbehind (v3)
Based on d10e8a5b with the addition of chromium issue 570241.
2022-12-21 18:53:25 +01:00
Moonchild fc62ce0076 Merge pull request 'Use gfxPackedPixel + WritePixels instead of WriteBuffer in JPEG-XL decoding' (#2059) from jobbautista9/UXP:jxl-writepixels into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2059
2022-12-19 08:00:40 +00:00
Job Bautista b9d00e8c27 Issue #2057 - Use gfxPackedPixel + WritePixels instead of WriteBuffer.
This means we no longer need the workarounds intended for #2033 and #2040!
2022-12-19 13:58:32 +08:00
Moonchild (Away until 22-12-14) a2a0dec11d Merge pull request '[no issue] fix macro condition' (#2055) from lexx9999/UXP:lx_fix_macro into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2055
2022-12-16 12:25:37 +00:00
Moonchild 3e9621aa59 Issue #1818 - Remove obsolete path hack in widget code. 2022-12-15 13:14:03 +00:00
Moonchild 03875cd609 [network] Align cookie checks with RFC 6265 (bis) 2022-12-15 12:30:21 +00:00
Moonchild d9fb68d21b [libjar] Add some extra sanity checks to our Zip reader. 2022-12-15 11:49:39 +00:00
Moonchild df2b82e2cb [network] move some generic websocket code to the baseclass 2022-12-15 10:59:40 +00:00
Moonchild c34cceb678 Revert "Issue #1279 - Implement regular expressions lookbehind (v2)"
This reverts commit d10e8a5b06.
2022-12-15 09:01:05 +00:00
lexx9999 6343937b2c Issue #2041 follow-up - fix macro condition 2022-12-11 05:26:37 +01:00
Moonchild b9894f1e93 Merge pull request 'Include the Emoji font on all GTK platforms, not just Linux.' (#2054) from dbsoft/UXP:GTKFont into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2054
2022-12-09 15:32:51 +00:00
Mavridis Philippe c8bafb9faa MailNews: Re-check availability of OAuth2 when hostname fields modified.
This is for those cases where the hostnme of the email address is not
the actual hostname of the e-mail service (e.g. GMail with a custom
domain).

This should resolve issue athenian200/epyrus#53.

Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
2022-12-07 13:22:55 +02:00
Brian Smith ecd5436c58 No issue - Fix packaging Epyrus on FreeBSD and Solaris.
The TwemojiMozilla.ttf font should be bundled on Windows and any GTK platforms.
We should not limit the GTK platform to Linux only.
2022-12-04 08:07:44 -06:00
Moonchild b019e959d4 Merge pull request 'Add animation support and progressive decoding for JPEG-XL.' (#2050) from jobbautista9/UXP:jxl-anim-progdec into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2050
2022-12-03 14:09:30 +00:00
Moonchild ab4cc6ebae PR #2050 follow-up: add symbols to build shared on Windows. 2022-12-03 10:45:25 +00:00
Job Bautista 925b33158b Issue #2041 Follow-up - Remove opacity check from original patch.
Per Issue #2033 we don't support expanding RGB to RGBA yet, so this opacity
 check will always return RGBX, which makes images with transparent backgrounds
 show up with a black background instead. Feel free to readd once we backport
 Mozilla bug 1551088.
2022-12-02 14:17:10 +08:00
Job Bautista daf859d84c Issue #2048 - Add progressive decoding for JPEG-XL.
Based on Mozilla phab D122159, intended for bug 1709815.
Also moved the temporary RGBA and premultiplication fixes to a macro, since
 progressive decoding also needs these fixes.
2022-12-02 13:28:34 +08:00
Job Bautista b66e0ffdc4 Issue #2041 - Add animation support for JPEG-XL.
Based on Mozilla phab D122158, intended for bug 1709818.
2022-12-02 11:15:05 +08:00
Moonchild 8f266bb6e7 Merge pull request 'Allow <button> children to receive pointer events' (#2043) from martok/UXP-contrib:2030-button into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2043
2022-11-30 22:04:23 +00:00
Moonchild 2e888727e0 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.
2022-11-30 14:28:09 +00:00
Moonchild bc165aebf8 Merge pull request 'Prevent GTK color picker from being frozen when launched from a modal XUL window' (#2037) from FranklinDM/UXP-contrib:work_gtk-color-picker-frozen into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2037
2022-11-27 22:32:30 +00:00
Moonchild 9d0a8340d7 Merge pull request 'Follow-up to the Ventura fixes and fix building LDAP on Mac for Epyrus' (#2044) from dbsoft/UXP:Mac into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2044
2022-11-27 22:31:53 +00:00
Brian Smith abc044bc61 No Issue - Fix building ldap on MacOS.
Discovered this problem building Epyrus on MacOS, based on this Mozilla Bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1652906
2022-11-27 13:59:27 -06:00
Brian Smith a061db91dd Issue #2022 Follow-Up - Add autorelease to our manual NSView to prevent potential leaks.
Also move titlebar overrides from BaseWindow to ToolbarWindow...
This caused problems in Waterfox Classic on Ventura, while this didn't seem to be necessary in UXP...
There is no need for those overrides in BaseWindow, so why risk potential problems.
https://bugzilla.mozilla.org/show_bug.cgi?id=1576387
https://github.com/WaterfoxCo/Waterfox-Classic/commit/d7f5814dc089f615385a00db4dfe187c6aefa1af
2022-11-27 13:57:13 -06:00
Martok 0494d561c5 Issue #2030 - Dispatch click on common interactive ancestor if mousdown/up are not on the same element
For example, if the mouse is dragged from one element to another while
staying inside the same button, dispatch from their common ancestor
2022-11-27 16:35:56 +01:00
Martok 41fed1ebf8 Issue #2030 - Pref-gate default button event dispatch logic 2022-11-27 16:35:47 +01:00
Martok a585aeacf0 Issue #2030 - Allow child nodes of button to participate in mouse hit tests
This is needed for web compatibility, even if standards compliance is debatable.
2022-11-27 16:35:38 +01:00
Martok 814fa6e3ba Issue #2030 - (chore) refactor event dispatch functions
Based on selected bits of M-C 1461708:
- EventStateManager::CheckForAndDispatchClick() to early-return style
- split EventStateManager::CheckForAndDispatchClick() into:
  EventCausesClickEvents, PostHandleMouseUp, DispatchClickEvents
- Move implementation of UIEvent::GetRangeParent() and UIEvent::RangeOffset() to nsLayoutUtils
2022-11-27 16:35:25 +01:00
Moonchild 541508cd83 Merge pull request '[No issue] Add executable bit to shell scripts in tree' (#2038) from trav90/UXP-contrib:add-executable-bit into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2038
2022-11-25 19:17:40 +00:00
trav90 2770a0588c [No issue] Add executable bit to shell scripts in tree 2022-11-25 09:37:30 -06:00
Moonchild 88f392397b Issue #2019 - Follow-up: Make nsPluginInstanceOwner also listen to keypress events in the system event group.
nsPluginInstanceOwner only listens to keypress events in the default event group.
However, in our changed operating mode, keypress events are not fired in the
default event group if the key does not result in something printable.
This means that nsPluginInstanceOwner should also listen to keypress events
in the system event group and should handle each keypress that way, but
only once. I.e., if a printable keypress event is received in the system event
group, it should be ignored, since it would've already been handled in the
default event group in that case.
2022-11-24 21:41:28 +00:00
Moonchild 6efb151520 [no issue] fix whitespace. 2022-11-24 15:06:28 +00:00
FranklinDM 058474229d Issue #2036 - Prevent GTK color picker from being frozen when launched from a modal XUL window
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1496836
2022-11-24 21:54:22 +08:00
Moonchild eb87672d4c Merge pull request 'Improve the protocol handling dialog' (#2032) from FranklinDM/UXP-contrib:work_protocol-handling-dialog-opener into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2032
2022-11-24 12:42:24 +00:00
Moonchild 4b9789888f 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)
2022-11-24 12:37:28 +00:00
FranklinDM cc98224267 Issue #2029 - Part 2: Protocol handling dialog should be dependent if not modal
Following the behavior of the download dialog, the content handling dialog should be `dependent` as well. This means that this dialog should close when the parent window is closed, is not visible on the taskbar, and stays in front of the parent window.
2022-11-23 17:57:11 +08:00
FranklinDM 7001a57aef Issue #2029 - Part 1: Add preference for opening the protocol handling dialog as window modal
This adds the preference, `prompts.content_handling_dialog_modal.enabled`, to control whether the dialog is window modal or not.
2022-11-23 17:56:50 +08:00
Moonchild 173320cf7d Merge pull request 'Use reserved stack space instead of heap allocation in nsLocalFileUnix' (#2028) from FranklinDM/UXP-contrib:work_issue-2027 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2028
2022-11-22 00:10:09 +00:00
Moonchild 5f243826b4 Revert "Revert "[XPCOM] Deal with lstat potentially lying in nsLocalFileUnix.""
This reverts commit 3d4474a977.
2022-11-22 00:09:27 +00:00
Moonchild 3d4474a977 Revert "[XPCOM] Deal with lstat potentially lying in nsLocalFileUnix."
This reverts commit c127f58ef3.
2022-11-20 14:15:22 +00:00
FranklinDM 06bc499a0d Issue #2027 - Use reserved stack space instead of heap allocation in nsLocalFile
This should resolve the build bustage associated with c127f58ef3.

Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1371279
2022-11-20 18:42:34 +08:00
Moonchild c127f58ef3 [XPCOM] Deal with lstat potentially lying in nsLocalFileUnix. 2022-11-19 20:11:34 +00:00
Moonchild 5e6006a2bd [network] Fix Mac buffer overflow. 2022-11-19 14:23:40 +00:00
Moonchild ac9253e987 WebSocketChannel::CleanupConnection should run on the socket thread 2022-11-19 14:06:18 +00:00
Moonchild 8778d48290 [Network, DOM] Align our implementation with the current CORS/Fetch spec. 2022-11-18 20:00:59 +00:00
Moonchild fb0c204f2b 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.
2022-11-11 12:25:17 +00:00
Moonchild e6888aa2bd Merge branch '1769-take2' 2022-11-10 20:15:54 +00:00
Moonchild d14c78b29d Issue #1769: Ensure MIME type is known in URIloader for jxl 2022-11-08 18:16:29 +00:00
Moonchild 76e7290c1a Issue #1769: Update symbols for libxul linkage 2022-11-07 15:03:03 +00:00
Moonchild d19fb35c6a Merge branch 'master' into 1769-take2 2022-11-07 13:49:11 +00:00
Moonchild 94554142e9 [intl] Update timezone data to 2022e 2022-11-06 21:35:01 +01:00
Moonchild 1c04b522d3 Issue #2024 - Part 2: Add wildcard to Access-Control-Allow-{Method|Headers}
For requests without credentials, add wildcard to Access-Control-Allow-Headers
and Access-Control-Allow-Method.

Resolves #2024
2022-11-06 13:22:44 +00:00
Moonchild 84d3226fb1 Issue #2024 - Part 1: Add wildcard to Access-Control-Expose-Headers
For requests without credentials, add wildcard to Access-Control-Expose-Headers.
2022-11-06 12:31:17 +00:00
Moonchild 42d1d20efd [WebGL] Implement webgl.max-size-per-texture-mib 2022-10-26 13:52:42 +00:00
Moonchild 3505c2050a [XPCOM] Fix Base64 off-by-one issue and safeguard against this mistake in the future. 2022-10-26 09:24:27 +00:00
Moonchild 1139e11f3a [No issue] Hold some strong references on nsRefreshDriver 2022-10-26 08:05:04 +00:00
athenian200 b19541f1d4 Issue #1824 - Remove dependency on libdemangle.
This may be removed from illumos soon, and it is apparently unused anyway, so leaving it in doesn't make sense.
2022-10-26 01:18:43 +00:00
Moonchild 30653de864 Merge pull request 'Support MacOS 13 Ventura' (#2023) from dbsoft/UXP:MacVentura into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2023
2022-10-25 10:02:48 +00:00
Brian Smith 7a82ec5764 Issue #2022 - Part 2 - Add Ventura version detection.
Also add Monterey and Ventura to the graphics driver blocklist.
2022-10-24 23:47:42 -05:00
Brian Smith e73a2fb0fc Issue #2022 - Part 1 - Fix transparent windows on MacOS 13 Ventura.
During the BaseWindow creation contenView is nil on Ventura...
So create a NSView with the requested dimensions and set is as the contenView.
2022-10-24 23:45:38 -05:00
Moonchild b14db5e91e Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2022-10-23 21:46:30 +00:00
Moonchild 2d752c9259 Merge pull request 'Align keypress events in content with the web' (#2020) from keypress-event-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2020
2022-10-23 21:45:26 +00:00
Moonchild 362a84565c Issue #21 - Remove panning/tab animation performance measurements
Based on FranklinDM's follow-up for the issue.

This would require browser FE changes, particularly removing the associated
code in `tabbrowser.xml`, however, that was already done in Pale Moon previously.
Other front-end applications may need to take note, though.

Based on changes from the following bugs:
* Bug 696398 - Need an api to analyze panning performance
* Bug 800031 - Include paint time in tab switch telemetry
* Bug 820167 - Enable performance measurement of tab animation
* Bug 826383 - Improve Start/Stop FrameTimeRecording for telemetry usage
2022-10-23 21:43:46 +00:00
FranklinDM d8ef6bf7af Issue #1956 - Look for Visual Studio's path directly in the mozdebug module
This change modifies the mozdebug module to include a special case for Visual Studio when looking for its path.

This also removes the workaround implemented in dcb027a718 which can break debugging in certain installations of Visual Studio 2015.
2022-10-23 21:30:17 +00:00
FranklinDM 825fb3a207 Issue #1793 - Follow-up: Fix incorrect media query 2022-10-23 21:29:24 +00:00
FranklinDM d1345b1da6 Issue #58 - Remove leftover rust build files from /js 2022-10-23 21:29:06 +00:00
FranklinDM 4f95caf7fb Issue #1829 - Follow-up: Mac-specific shortcut key for closing the developer tools toolbox window should not be excluded from other platforms 2022-10-23 21:28:47 +00:00
Moonchild 528ae6aeb0 Merge pull request 'Issue #1375 - Don't mark nodes in the shadow tree as orphan nodes' (#2021) from Basilisk-Dev/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2021
2022-10-22 14:17:59 +00:00
Basilisk-Dev ea0a08fcab Issue #1375 - Don't mark nodes in the shadow tree as orphan nodes
Port of Bug 1026714
2022-10-20 18:22:30 -04:00
Moonchild 7ac438f6ad Issue #2019 - Follow-up: Make autocomplete and satchel listen to keypress events in the system event group
The autocomplete module listens to keypress events for both printable keys
and non-printable keys a lot. However, we're stopping dispatching keypress
events for non-printable keys in the default event group of web content.

This means that autocomplete should listen to keypress events in the
system event group.

Note that it's difficult to globally change keypress event listeners to
keydown event listeners because if we stop keypress events at preceding
keydown event in autocomplete or satchel modules, some other modules
fail to handle keydown or keypress events before autocomplete, and it's
not easy to investigate which keypress event listener in which modules
should be changed to a keydown event listener.

Therefore, this patch doesn't do that, and uses the event group approach.
2022-10-18 12:48:23 +00:00
Moonchild 3142f95469 Issue #2019 - Follow-up: Adjust content spellchecker to use keydown
Since keypress is no longer triggered on all keypresses in content,
the spellchecker would potentially not be triggered when it should be.
This changes the trigger to keydown, instead.
No behavioral changes otherwise.
2022-10-17 15:22:03 +00:00
Moonchild 74b3ce90d7 Issue #2019 - Do not dispatch keypress event for non-printable keys.
This will prevent the keypress DOM event from firing on keypresses
that do not produce printable keys (e.g. editing nav keys) in content.
This should not affect any chrome events that are in use.
Event dispatch can be re-enabled if necessary with the added pref.
2022-10-17 12:28:26 +00:00
Moonchild ebd7672d6b [No issue] Ensure LockImpl::Try() returns the correct bool value. 2022-10-16 23:24:19 +00:00
Moonchild 1f78e93f1d Merge pull request 'Implement regular expressions lookbehind (v2)' (#2017) from regex-lookbehind-v2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2017
2022-10-12 16:44:09 +00:00
Moonchild 69502301fa Merge pull request 'Implement customElements.upgrade.' (#2015) from jobbautista9/UXP:1375-ceupgrade into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2015
2022-10-12 08:58:55 +00:00
Moonchild d10e8a5b06 Issue #1279 - Implement regular expressions lookbehind (v2)
Because of some additional changes in the JS engine in the meantime,
this implementation should work and not crash due to slot allocation.
2022-10-11 10:59:43 +00:00
Moonchild fb173db64b Issue #2016 - Remove non-functional V8 regex import 2022-10-10 19:36:24 +00:00
Job Bautista 5bc4892122 Issue #1375 - Use nsIAtom* instead of nsAtom* for CE Upgrade function.
We haven't refactored nsIAtom* as Mozilla did yet.
2022-10-09 12:59:21 +08:00
Job Bautista 58670d66e5 Issue #1375 - Implement customElements.upgrade.
Backported from Mozilla bug 1443722.
2022-10-09 10:33:50 +08:00
Jeremy Andrews 4ba7e05b96 Issue #2012 - Follow-up: Make sure Services.jsm is imported earlier.
I didn't catch this because I am used to the .jsm files being imported near the
top of the file, not later on. This is the case in the other two files I
worked on. Only AddonUpdateChecker.jsm seems to have this problem.
2022-10-06 03:27:46 -05:00
Moonchild 2dc264047e Fix some debug assertions.
refactored code porting in assertions causing debug build failures.
2022-10-04 16:32:25 +00:00
Moonchild 6d5b934dc0 Merge pull request 'Allow other UXP applications to use dual-GUID system.' (#2013) from athenian200/UXP:generic-dual-guid-system into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2013
Reviewed-by: Moonchild <moonchild@palemoon.org>
2022-10-04 11:45:50 +00:00
Jeremy Andrews 87ef3606e2 Issue #2012 - Change name of feature to AppCompat GUID.
It's not just for supporting "Phoenix" extensions anymore.
2022-10-03 17:13:57 -05:00
Jeremy Andrews 4ced37546e Issue #2012 - Have fallback value and use better term than "fake ID."
I also use the pref as a constant rather than calling the pref service
repeatedly to make code look much neater. APPCOMPATID matches
APPCOMPATVERSION, and doesn't give the vibe of a sneaky young lad trying to
enter into a tavern whilst underage.
2022-10-03 08:13:17 -05:00
Jeremy Andrews cb61e1a354 Issue #2012 - Allow other UXP applications to use dual-GUID system. 2022-10-02 22:17:27 -05:00
Moonchild b83dd4e5e8 Issue #2010 - Ensure raw tagnames are safe exiting internalEntityParser
This resolves #2010
2022-09-28 13:49:41 +00:00
Job Bautista 10a37f462e Issue #1769 - Follow-up: Put JXL_DEPRECATED in front of types
This fixes building with Clang on Mac.
I also separated our changes to JXL_DEPRECATED into a patch file.
2022-06-30 13:55:14 +08:00
Job Bautista 922edb1d93 Issue #1769 - Follow-up: Fix typo in MOZ_ARG_ENABLE_BOOL
Silly copy-paste mistake from AV1
2022-06-29 13:53:11 +08:00
Job Bautista cba46e5628 Issue #1769 - Part 1 Follow-up: Use standard [[deprecated]] for JXL_DEPRECATED.
This fixes building with MSVC for Windows.
2022-06-29 13:53:11 +08:00
Job Bautista 3173108a3f 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.
2022-06-29 13:53:10 +08:00
Job Bautista 5f4d519194 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.
2022-06-29 13:53:10 +08:00
Job Bautista 2ad17268ed 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.
2022-06-29 13:53:10 +08:00
Job Bautista 888c35be89 Issue #1769 - Part 2: Implement JPEG-XL decoder and about:config and MIME plumbing.
Backported from Mozilla bug 1707590 whereever possible.
2022-06-29 13:53:09 +08:00
Job Bautista 73e06b6df9 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: 0.17.0
libjxl version: tree of commit 318c592d98b97d103941b90d47107f06a10c71da
2022-06-29 13:53:09 +08:00
28107 changed files with 6575719 additions and 2447418 deletions

No files matched your search

+1 -1
View File
@@ -22,4 +22,4 @@
# changes to stick? As of bug 928195, this shouldn't be necessary! Please
# don't change CLOBBER for WebIDL changes any more.
Issue #1971 - Update to ICU 63 requires clobber
Clobber for removal of network tickler
+16 -19
View File
@@ -14,7 +14,7 @@ endif
export TOPLEVEL_BUILD := 1
default::
BACKEND_ONCE_STAMP := backend.once.stamp
ifndef TEST_MOZBUILD
ifdef MOZ_BUILD_APP
include $(wildcard $(topsrcdir)/$(MOZ_BUILD_APP)/build.mk)
@@ -46,7 +46,7 @@ ifndef TEST_MOZBUILD
ifndef MOZ_PROFILE_USE
# We need to explicitly put BUILD_BACKEND_FILES here otherwise the rule in
# rules.mk doesn't run early enough.
$(TIERS) binaries:: CLOBBER $(configure_dir)/configure config.status $(BUILD_BACKEND_FILES)
$(TIERS) binaries:: CLOBBER $(configure_dir)/configure config.status $(BACKEND_ONCE_STAMP)
# While our mozbuild backend has some kind of crazy install_manfests junk to
# try and make this not have to happen, we actually want dist/bin to be
@@ -100,7 +100,11 @@ config.status js/src/config.status:
ifndef TEST_MOZBUILD
.PHONY: backend
backend: $(BUILD_BACKEND_FILES)
backend: $(BACKEND_ONCE_STAMP)
# Create a per-invocation stamp so backend regenerates only once
$(BACKEND_ONCE_STAMP):
@echo "Stamping backend regeneration."
@$(TOUCH) $@
# A traditional rule would look like this:
# backend.%:
@@ -122,7 +126,7 @@ $(subst .,%,$(BUILD_BACKEND_FILES)):
@echo 'Build configuration changed. Regenerating backend.'
$(PYTHON) config.status
Makefile: $(BUILD_BACKEND_FILES)
Makefile: $(BACKEND_ONCE_STAMP)
@$(TOUCH) $@
define build_backend_rule
@@ -160,18 +164,12 @@ endif
.PHONY: install-manifests
install-manifests: $(addprefix install-,$(install_manifests))
# process_install_manifest needs to be invoked with --no-remove when building
# js as standalone because automated builds are building nspr separately and
# that would remove the resulting files.
# Eventually, a standalone js build would just be able to build nspr itself,
# removing the need for the former.
ifdef JS_STANDALONE
NO_REMOVE=1
endif
.PHONY: $(addprefix install-,$(subst /,_,$(install_manifests)))
.PHONY: $(addprefix install-,$(install_manifests))
$(addprefix install-,$(install_manifests)): install-%: $(install_manifest_depends)
$(addprefix $(call py_action,process_install_manifest,$(if $(NO_REMOVE),--no-remove )$*) ,$(wildcard _build_manifests/install/$(subst /,_,$*)))
$(addprefix $(call py_action,process_install_manifest,--track install_$(subst /,_,$*).track $*) ,$(wildcard _build_manifests/install/$(subst /,_,$*)))
# Dummy wrapper rule to allow the faster backend to piggy back
$(addprefix install-,$(subst /,_,$(filter dist/%,$(install_manifests)))): install-dist_%: install-dist/% ;
.PHONY: install-tests
install-tests: install-test-files
@@ -181,10 +179,9 @@ install-tests: install-test-files
.PHONY: run-tests-deps
run-tests-deps: $(install_manifest_depends)
# Force --no-remove, because $objdir/_tests is handled by multiple manifests.
.PHONY: install-test-files
install-test-files:
$(call py_action,process_install_manifest,--no-remove _tests _build_manifests/install/_test_files)
$(call py_action,process_install_manifest,--track install__test_files.track _tests _build_manifests/install/_test_files)
include $(topsrcdir)/build/moz-automation.mk
@@ -204,13 +201,13 @@ ifndef NO_PROFILE_GUIDED_OPTIMIZE
ifneq ($(OS_ARCH)_$(GNU_CC), WINNT_)
recurse_pre-export:: install-manifests
binaries::
@$(MAKE) install-manifests NO_REMOVE=1 install_manifests=dist/include
@$(MAKE) install-manifests install_manifests=dist/include
endif
endif
else # !MOZ_PROFILE_USE (normal build)
recurse_pre-export:: install-manifests
binaries::
@$(MAKE) install-manifests NO_REMOVE=1 install_manifests=dist/include
@$(MAKE) install-manifests install_manifests=dist/include
endif
# For historical reasons that are unknown, $(DIST)/sdk is always blown away
+11 -2
View File
@@ -19,6 +19,13 @@ If you are interested in the development and building side of things, some
information will be available on the [Pale Moon developer site](http://developer.palemoon.org).
You are also always welcome to get in touch with our community on the [Pale Moon forum](https://forum.palemoon.org/).
### Code search
While our repo has basic code searching capabilities (via `git grep`), you are strongly
encouraged to instead use the dedicated code search and cross-referencing site:
[https://xref.palemoon.org/](https://xref.palemoon.org/)
This repo and a copy of the front-end are amalgamated in the `goanna-central` index.
### A note about trademarks and branding
Although this repository is primarily licensed under Mozilla Public License v2.0, the
@@ -33,5 +40,7 @@ If you fork this repository to perform your own work on it, please consider offe
improvement patches upstream to its origin to mutually improve the platform and build
a future for XUL.
## Looking for Pale Moon and Basilisk?
As of [`Issue #969`](https://repo.palemoon.org/MoonchildProductions/UXP/issues/969), release versions `28.9.0` and `2020.03.04` respectively, they have been split off into their own dedicated repositories located at [`MoonchildProductions/Pale-Moon`](https://repo.palemoon.org/MoonchildProductions/Pale-Moon) and [`MoonchildProductions/Basilisk`](https://repo.palemoon.org/MoonchildProductions/Basilisk).
## Looking for Pale Moon?
As of [`Issue #969`](https://repo.palemoon.org/MoonchildProductions/UXP/issues/969), release version `28.9.0`,
applications have been split off into their own dedicated (front-end) repositories, with Pale Moon located at
[`MoonchildProductions/Pale-Moon`](https://repo.palemoon.org/MoonchildProductions/Pale-Moon).
+8
View File
@@ -0,0 +1,8 @@
TRADEMARK NOTICE
================
The name "Goanna" and visual representations (logo) have not been
registered by the Copyright owners as a trademark in any jurisdiction.
However, because Goanna has been distributed and maintained world-wide,
continually since 2015, the Copyright owners claim "common-law trademark
protection" in any jurisdiction where common-law trademark is recognized.
+65 -15
View File
@@ -6,7 +6,7 @@
#include "Platform.h"
#include "nsIAccessibleEvent.h"
#include "nsIGConfService.h"
#include "nsIGSettingsService.h"
#include "nsIServiceManager.h"
#include "nsMai.h"
#include "AtkSocketAccessible.h"
@@ -18,10 +18,6 @@
#endif
#include <gtk/gtk.h>
#if (MOZ_WIDGET_GTK == 3)
extern "C" __attribute__((weak,visibility("default"))) int atk_bridge_adaptor_init(int*, char **[]);
#endif
using namespace mozilla;
using namespace mozilla::a11y;
@@ -33,12 +29,20 @@ extern "C" {
typedef GType (* AtkGetTypeType) (void);
typedef void (*GnomeAccessibilityInit) (void);
typedef void (*GnomeAccessibilityShutdown) (void);
#if (MOZ_WIDGET_GTK == 3)
typedef int (*AtkBridgeAdaptorInit) (int*, char***);
#endif
}
static PRLibrary* sATKLib = nullptr;
static const char sATKLibName[] = "libatk-1.0.so.0";
static const char sATKHyperlinkImplGetTypeSymbol[] =
"atk_hyperlink_impl_get_type";
#if (MOZ_WIDGET_GTK == 3)
static PRLibrary* sAtkBridgeAdaptorLib = nullptr;
static const char sAtkBridgeAdaptorLibName[] = "libatk-bridge-2.0.so.0";
static const char sAtkBridgeAdaptorInitSymbol[] = "atk_bridge_adaptor_init";
#endif
gboolean toplevel_event_watcher(GSignalInvocationHint*, guint, const GValue*,
gpointer);
@@ -127,6 +131,38 @@ LoadGtkModule(GnomeAccessibilityModule& aModule)
return NS_OK;
}
#if (MOZ_WIDGET_GTK == 3)
static bool
InitAtkBridgeAdaptor()
{
AtkBridgeAdaptorInit initBridge =
reinterpret_cast<AtkBridgeAdaptorInit>(
PR_FindFunctionSymbolAndLibrary(sAtkBridgeAdaptorInitSymbol,
&sAtkBridgeAdaptorLib));
if (!initBridge) {
sAtkBridgeAdaptorLib = PR_LoadLibrary(sAtkBridgeAdaptorLibName);
if (sAtkBridgeAdaptorLib) {
initBridge =
reinterpret_cast<AtkBridgeAdaptorInit>(
PR_FindFunctionSymbol(sAtkBridgeAdaptorLib,
sAtkBridgeAdaptorInitSymbol));
if (!initBridge) {
PR_UnloadLibrary(sAtkBridgeAdaptorLib);
sAtkBridgeAdaptorLib = nullptr;
}
}
}
if (!initBridge) {
return false;
}
initBridge(nullptr, nullptr);
return true;
}
#endif
void
a11y::PlatformInit()
{
@@ -181,9 +217,7 @@ a11y::PlatformInit()
// Init atk-bridge now
PR_SetEnv("NO_AT_BRIDGE=0");
#if (MOZ_WIDGET_GTK == 3)
if (atk_bridge_adaptor_init) {
atk_bridge_adaptor_init(nullptr, nullptr);
} else
if (!InitAtkBridgeAdaptor())
#endif
{
nsresult rv = LoadGtkModule(sAtkBridge);
@@ -228,6 +262,13 @@ a11y::PlatformShutdown()
sAtkBridge.init = nullptr;
sAtkBridge.shutdown = nullptr;
}
#if (MOZ_WIDGET_GTK == 3)
if (sAtkBridgeAdaptorLib) {
// Do not shutdown/unload atk-bridge; an exit function registered by
// the bridge will take care of it.
sAtkBridgeAdaptorLib = nullptr;
}
#endif
#if (MOZ_WIDGET_GTK == 2)
if (sGail.lib) {
// Do not shutdown gail because
@@ -360,13 +401,22 @@ dbus_done:
return sShouldEnable;
#endif
//check gconf-2 setting
#define GCONF_A11Y_KEY "/desktop/gnome/interface/accessibility"
nsresult rv = NS_OK;
nsCOMPtr<nsIGConfService> gconf =
do_GetService(NS_GCONFSERVICE_CONTRACTID, &rv);
if (NS_SUCCEEDED(rv) && gconf)
gconf->GetBool(NS_LITERAL_CSTRING(GCONF_A11Y_KEY), &sShouldEnable);
// check GSettings
#define GSETINGS_A11Y_INTERFACE "org.gnome.desktop.interface"
#define GSETINGS_A11Y_KEY "toolkit-accessibility"
nsCOMPtr<nsIGSettingsService> gsettings =
do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
nsCOMPtr<nsIGSettingsCollection> a11y_settings;
if (gsettings) {
gsettings->GetCollectionForSchema(NS_LITERAL_CSTRING(GSETINGS_A11Y_INTERFACE),
getter_AddRefs(a11y_settings));
if (a11y_settings) {
a11y_settings->GetBoolean(NS_LITERAL_CSTRING(GSETINGS_A11Y_KEY),
&sShouldEnable);
}
}
return sShouldEnable;
}
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+1 -1
View File
@@ -55,7 +55,7 @@ private:
{
explicit IteratorState(Accessible* aParent, IteratorState* mParentState = nullptr);
Accessible* mParent;
RefPtr<Accessible> mParent;
int32_t mIndex;
IteratorState* mParentState;
};
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+4
View File
@@ -7,6 +7,10 @@
* ROLE(geckoRole, stringRole, atkRole, macRole, msaaRole, ia2Role, nameRule)
*/
#ifndef NSAccessibilityCellRole
#define NSAccessibilityCellRole NSAccessibilityUnknownRole
#endif
ROLE(NOTHING,
"nothing",
ATK_ROLE_UNKNOWN,
+1 -1
View File
@@ -80,7 +80,7 @@ StyleInfo::TextIndent(nsAString& aValue)
}
void
StyleInfo::Margin(css::Side aSide, nsAString& aValue)
StyleInfo::Margin(Side aSide, nsAString& aValue)
{
MOZ_ASSERT(mElement->GetPrimaryFrame(), " mElement->GetPrimaryFrame() needs to be valid pointer");
aValue.Truncate();
+8 -26
View File
@@ -18,10 +18,6 @@
#include "mozilla/AppUnits.h"
#include "mozilla/gfx/2D.h"
#if defined(MOZ_WIDGET_GTK)
#include "gfxPlatformGtk.h" // xxx - for UseFcFontList
#endif
using namespace mozilla;
using namespace mozilla::a11y;
@@ -653,28 +649,14 @@ TextAttrsMgr::FontWeightTextAttr::
if (font->IsSyntheticBold())
return 700;
bool useFontEntryWeight = true;
// Under Linux, when gfxPangoFontGroup code is used,
// font->GetStyle()->weight will give the absolute weight requested of the
// font face. The gfxPangoFontGroup code uses the gfxFontEntry constructor
// which doesn't initialize the weight field.
#if defined(MOZ_WIDGET_GTK)
useFontEntryWeight = gfxPlatformGtk::UseFcFontList();
#endif
if (useFontEntryWeight) {
// On Windows, font->GetStyle()->weight will give the same weight as
// fontEntry->Weight(), the weight of the first font in the font group,
// which may not be the weight of the font face used to render the
// characters. On Mac, font->GetStyle()->weight will just give the same
// number as getComputedStyle(). fontEntry->Weight() will give the weight
// of the font face used.
gfxFontEntry *fontEntry = font->GetFontEntry();
return fontEntry->Weight();
} else {
return font->GetStyle()->weight;
}
// On Windows, font->GetStyle()->weight will give the same weight as
// fontEntry->Weight(), the weight of the first font in the font group,
// which may not be the weight of the font face used to render the
// characters. On Mac, font->GetStyle()->weight will just give the same
// number as getComputedStyle(). fontEntry->Weight() will give the weight
// of the font face used.
gfxFontEntry *fontEntry = font->GetFontEntry();
return fontEntry->Weight();
}
////////////////////////////////////////////////////////////////////////////////
+12 -4
View File
@@ -44,7 +44,9 @@
#ifdef XP_WIN
#include "mozilla/a11y/Compatibility.h"
#include "mozilla/dom/ContentChild.h"
#ifdef MOZ_ENABLE_NPAPI
#include "HTMLWin32ObjectAccessible.h"
#endif
#include "mozilla/StaticPtr.h"
#endif
@@ -55,8 +57,10 @@
#include "nsImageFrame.h"
#include "nsIObserverService.h"
#include "nsLayoutUtils.h"
#ifdef MOZ_ENABLE_NPAPI
#include "nsPluginFrame.h"
#include "nsSVGPathGeometryFrame.h"
#endif
#include "SVGGeometryFrame.h"
#include "nsTreeBodyFrame.h"
#include "nsTreeColumns.h"
#include "nsTreeUtils.h"
@@ -79,7 +83,7 @@
#include "XULTabAccessible.h"
#include "XULTreeGridAccessibleWrap.h"
#if defined(XP_WIN) || defined(MOZ_ACCESSIBILITY_ATK)
#if (defined(XP_WIN) || defined(MOZ_ACCESSIBILITY_ATK)) && defined(MOZ_ENABLE_NPAPI)
#include "nsNPAPIPluginInstance.h"
#endif
@@ -431,6 +435,7 @@ private:
NS_IMPL_ISUPPORTS(PluginTimerCallBack, nsITimerCallback)
#endif
#ifdef MOZ_ENABLE_NPAPI
already_AddRefed<Accessible>
nsAccessibilityService::CreatePluginAccessible(nsPluginFrame* aFrame,
nsIContent* aContent,
@@ -493,6 +498,7 @@ nsAccessibilityService::CreatePluginAccessible(nsPluginFrame* aFrame,
return nullptr;
}
#endif // MOZ_ENABLE_NPAPI
void
nsAccessibilityService::DeckPanelSwitched(nsIPresShell* aPresShell,
@@ -1159,8 +1165,8 @@ nsAccessibilityService::CreateAccessible(nsINode* aNode,
if (!newAcc) {
if (content->IsSVGElement()) {
nsSVGPathGeometryFrame* pathGeometryFrame = do_QueryFrame(frame);
if (pathGeometryFrame) {
SVGGeometryFrame* geometryFrame = do_QueryFrame(frame);
if (geometryFrame) {
// A graphic elements: rect, circle, ellipse, line, path, polygon,
// polyline and image. A 'use' and 'text' graphic elements require
// special support.
@@ -1638,11 +1644,13 @@ nsAccessibilityService::CreateAccessibleByFrameType(nsIFrame* aFrame,
case eOuterDocType:
newAcc = new OuterDocAccessible(aContent, document);
break;
#ifdef MOZ_ENABLE_NPAPI
case ePluginType: {
nsPluginFrame* pluginFrame = do_QueryFrame(aFrame);
newAcc = CreatePluginAccessible(pluginFrame, aContent, aContext);
break;
}
#endif
case eTextLeafType:
newAcc = new TextLeafAccessibleWrap(aContent, document);
break;
+4
View File
@@ -20,7 +20,9 @@
class nsImageFrame;
class nsIArray;
class nsIPersistentProperties;
#ifdef MOZ_ENABLE_NPAPI
class nsPluginFrame;
#endif
class nsITreeView;
namespace mozilla {
@@ -87,9 +89,11 @@ public:
Accessible* GetRootDocumentAccessible(nsIPresShell* aPresShell,
bool aCanCreate);
#ifdef MOZ_ENABLE_NPAPI
already_AddRefed<Accessible>
CreatePluginAccessible(nsPluginFrame* aFrame, nsIContent* aContent,
Accessible* aContext);
#endif
/**
* Adds/remove ATK root accessible for gtk+ native window to/from children
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+1 -1
View File
@@ -157,7 +157,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(DocAccessible, Accessible)
tmp->mARIAOwnsHash.Clear();
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(DocAccessible)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DocAccessible)
NS_INTERFACE_MAP_ENTRY(nsIDocumentObserver)
NS_INTERFACE_MAP_ENTRY(nsIMutationObserver)
NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference)
+1 -1
View File
@@ -76,7 +76,7 @@ HyperTextAccessible::NativeState()
{
uint64_t states = AccessibleWrap::NativeState();
if (mContent->AsElement()->State().HasState(NS_EVENT_STATE_MOZ_READWRITE)) {
if (mContent->AsElement()->State().HasState(NS_EVENT_STATE_READWRITE)) {
states |= states::EDITABLE;
} else if (mContent->IsHTMLElement(nsGkAtoms::article)) {
+2 -1
View File
@@ -486,13 +486,14 @@ DocAccessibleParent::SetCOMProxy(const RefPtr<IAccessible>& aCOMProxy)
IAccessibleHolder holder(Move(ptr));
Unused << SendParentCOMProxy(holder);
}
#ifdef MOZ_ENABLE_NPAPI
bool
DocAccessibleParent::RecvGetWindowedPluginIAccessible(
const WindowsHandle& aHwnd, IAccessibleHolder* aPluginCOMProxy)
{
return false;
}
#endif
#endif // defined(XP_WIN)
+4 -3
View File
@@ -143,10 +143,11 @@ public:
#if defined(XP_WIN)
void SetCOMProxy(const RefPtr<IAccessible>& aCOMProxy);
#ifdef MOZ_ENABLE_NPAPI
virtual bool RecvGetWindowedPluginIAccessible(
const WindowsHandle& aHwnd, IAccessibleHolder* aPluginCOMProxy) override;
#endif
#endif // MOZ_ENABLE_NPAPI
#endif // XP_WIN
private:
@@ -176,7 +177,7 @@ private:
uint32_t AddSubtree(ProxyAccessible* aParent,
const nsTArray<AccessibleData>& aNewTree, uint32_t aIdx,
uint32_t aIdxInParent);
MOZ_MUST_USE bool CheckDocTree() const;
[[nodiscard]] bool CheckDocTree() const;
xpcAccessibleGeneric* GetXPCAccessible(ProxyAccessible* aProxy);
nsTArray<DocAccessibleParent*> mChildDocs;
+2
View File
@@ -61,8 +61,10 @@ parent:
*/
async BindChildDoc(PDocAccessible aChildDoc, uint64_t aID);
#ifdef MOZ_ENABLE_NPAPI
sync GetWindowedPluginIAccessible(WindowsHandle aHwnd)
returns (IAccessibleHolder aPluginCOMProxy);
#endif
child:
async ParentCOMProxy(IAccessibleHolder aParentCOMProxy);
+1 -1
View File
@@ -8,7 +8,7 @@ if CONFIG['COMPILE_ENVIRONMENT']:
# With --disable-accessibility, we need to compile PDocAccessible.ipdl (which
# also depends on COMPtrTypes.h), but not the C++.
IPDL_SOURCES += ['PDocAccessible.ipdl']
PREPROCESSED_IPDL_SOURCES += ['PDocAccessible.ipdl']
EXPORTS.mozilla.a11y += ['COMPtrTypes.h']
if CONFIG['ACCESSIBILITY']:
+2 -2
View File
@@ -340,9 +340,9 @@ this.AccessFu = { // jshint ignore:line
case 'remote-browser-shown':
case 'inprocess-browser-shown':
{
// Ignore notifications that aren't from a BrowserOrApp
// Ignore notifications that aren't from a Browser
let frameLoader = aSubject.QueryInterface(Ci.nsIFrameLoader);
if (!frameLoader.ownerIsMozBrowserOrAppFrame) {
if (!frameLoader.ownerIsMozBrowserFrame) {
return;
}
this._handleMessageManager(frameLoader.messageManager);
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* vim:expandtab:shiftwidth=4:tabstop=4:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+2
View File
@@ -295,6 +295,7 @@ enum CheckboxValue {
@implementation mozPaneAccessible
#if defined(MAC_OS_X_VERSION_10_6) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
- (NSUInteger)accessibilityArrayAttributeCount:(NSString*)attribute
{
AccessibleWrap* accWrap = [self getGeckoAccessible];
@@ -313,6 +314,7 @@ enum CheckboxValue {
return [super accessibilityArrayAttributeCount:attribute];
}
#endif
- (NSArray*)children
{
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: Objective-C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: Objective-C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: Objective-C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+34 -6
View File
@@ -1,6 +1,4 @@
/* -*- Mode: Objective-C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -49,6 +47,24 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
return nativeArray;
}
// Convert to an object without @ syntax
static inline id
ConvertToId(NSInteger val)
{
return [NSString stringWithFormat:@"%i", val];
}
// Missing from SDK 10.5
#if !defined(MAC_OS_X_VERSION_10_6) || (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6)
#define __IntToNSString(x) ([NSString stringWithFormat:@"%i", x])
#define NSAccessibilityRowIndexRangeAttribute @"AXRowIndexRange"
#define NSAccessibilityColumnIndexRangeAttribute @"AXColumnIndexRange"
#define NSAccessibilityRowHeaderUIElementsAttribute @"AXRowHeaderUIElements"
#define NSAccessibilityColumnHeaderUIElementsAttribute @"AXColumnHeaderUIElements"
#define NSAccessibilityRowCountAttribute @"AXRowCount"
#define NSAccessibilityColumnCountAttribute @"AXColumnCount"
#endif
@implementation mozTablePartAccessible
- (BOOL)isLayoutTablePart;
{
@@ -85,10 +101,14 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
{
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
#if defined(MAC_OS_X_VERSION_10_6) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
NSArray* additionalAttributes = [super additionalAccessibilityAttributeNames];
if ([self isLayoutTablePart]) {
return additionalAttributes;
}
#else
NSArray* additionalAttributes = [[NSArray alloc] init];
#endif
static NSArray* tableAttrs = nil;
if (!tableAttrs) {
@@ -110,9 +130,9 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
TableAccessible* table = accWrap->AsTable();
if ([attribute isEqualToString:NSAccessibilityRowCountAttribute])
return @(table->RowCount());
return ConvertToId(table->RowCount());
if ([attribute isEqualToString:NSAccessibilityColumnCountAttribute])
return @(table->ColCount());
return ConvertToId(table->ColCount());
if ([attribute isEqualToString:NSAccessibilityRowsAttribute]) {
// Create a new array with the list of table rows.
NSMutableArray* nativeArray = [[NSMutableArray alloc] init];
@@ -129,9 +149,9 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
}
} else if (ProxyAccessible* proxy = [self getProxyAccessible]) {
if ([attribute isEqualToString:NSAccessibilityRowCountAttribute])
return @(proxy->TableRowCount());
return ConvertToId(proxy->TableRowCount());
if ([attribute isEqualToString:NSAccessibilityColumnCountAttribute])
return @(proxy->TableColumnCount());
return ConvertToId(proxy->TableColumnCount());
if ([attribute isEqualToString:NSAccessibilityRowsAttribute]) {
// Create a new array with the list of table rows.
NSMutableArray* nativeArray = [[NSMutableArray alloc] init];
@@ -157,10 +177,14 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
{
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
#if defined(MAC_OS_X_VERSION_10_6) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
NSArray* additionalAttributes = [super additionalAccessibilityAttributeNames];
if ([self isLayoutTablePart]) {
return additionalAttributes;
}
#else
NSArray* additionalAttributes = [[NSArray alloc] init];
#endif
static NSArray* tableRowAttrs = nil;
if (!tableRowAttrs) {
@@ -216,10 +240,14 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
{
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
#if defined(MAC_OS_X_VERSION_10_6) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
NSArray* additionalAttributes = [super additionalAccessibilityAttributeNames];
if ([self isLayoutTablePart]) {
return additionalAttributes;
}
#else
NSArray* additionalAttributes = [[NSArray alloc] init];
#endif
static NSArray* tableCellAttrs = nil;
if (!tableCellAttrs) {
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* vim:expandtab:shiftwidth=4:tabstop=4:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+2 -2
View File
@@ -173,7 +173,7 @@ public: // construction, destruction
/**
* Find an accessible by the given child ID in cached documents.
*/
MOZ_MUST_USE already_AddRefed<IAccessible>
[[nodiscard]] already_AddRefed<IAccessible>
GetIAccessibleFor(const VARIANT& aVarChild, bool* aIsDefunct);
virtual void GetNativeInterface(void **aOutAccessible) override;
@@ -198,7 +198,7 @@ protected:
/**
* Find a remote accessible by the given child ID.
*/
MOZ_MUST_USE already_AddRefed<IAccessible>
[[nodiscard]] already_AddRefed<IAccessible>
GetRemoteIAccessibleFor(const VARIANT& aVarChild);
/**
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* vim:expandtab:shiftwidth=4:tabstop=4:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* vim:expandtab:shiftwidth=4:tabstop=4:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+7
View File
@@ -38,6 +38,13 @@ SOURCES += [
'XULTreeGridAccessibleWrap.cpp',
]
if CONFIG['MOZ_ENABLE_NPAPI']:
SOURCES += [
'HTMLWin32ObjectAccessible.cpp',
]
LOCAL_INCLUDES += [
'/accessible/base',
'/accessible/generic',
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* vim:expandtab:shiftwidth=4:tabstop=4:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-2
View File
@@ -1,6 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:expandtab:shiftwidth=2:tabstop=2:
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+9 -9
View File
@@ -40,7 +40,7 @@ def loadEventIDL(parser, includePath, eventname):
class Configuration:
def __init__(self, filename):
config = {}
execfile(filename, config)
exec(compile(open(filename, "rb").read(), filename, 'exec'), config)
self.simple_events = config.get('simple_events', [])
def firstCap(str):
@@ -64,7 +64,7 @@ def print_header_file(fd, conf, incdirs):
for e in conf.simple_events:
idl, idl_path = loadEventIDL(p, incdirs, e)
idl_paths.add(idl_path)
for iface in filter(lambda p: p.kind == "interface", idl.productions):
for iface in [p for p in idl.productions if p.kind == "interface"]:
classname = ("xpcAcc%s" % e)
baseinterfaces = interfaces(iface)
@@ -73,7 +73,7 @@ def print_header_file(fd, conf, incdirs):
fd.write("public:\n")
attributes = allAttributes(iface)
args = map(writeAttributeParams, attributes)
args = list(map(writeAttributeParams, attributes))
fd.write(" %s(%s) :\n" % (classname, ", ".join(args)))
initializers = []
@@ -83,7 +83,7 @@ def print_header_file(fd, conf, incdirs):
fd.write(" NS_DECL_CYCLE_COLLECTING_ISUPPORTS\n")
fd.write(" NS_DECL_CYCLE_COLLECTION_CLASS(%s)\n" % (classname))
for iface in filter(lambda i: i.name != "nsISupports", baseinterfaces):
for iface in [i for i in baseinterfaces if i.name != "nsISupports"]:
fd.write(" NS_DECL_%s\n" % iface.name.upper())
fd.write("\nprivate:\n")
@@ -97,13 +97,13 @@ def print_header_file(fd, conf, incdirs):
return idl_paths
def interfaceAttributeTypes(idl):
ifaces = filter(lambda p: p.kind == "interface", idl.productions)
ifaces = [p for p in idl.productions if p.kind == "interface"]
attributes = []
for i in ifaces:
ifaceAttributes = allAttributes(i)
attributes.extend(ifaceAttributes)
ifaceAttrs = filter(lambda a: a.realtype.nativeType("in").endswith("*"), attributes)
return map(lambda a: a.realtype.nativeType("in").strip(" *"), ifaceAttrs)
ifaceAttrs = [a for a in attributes if a.realtype.nativeType("in").endswith("*")]
return [a.realtype.nativeType("in").strip(" *") for a in ifaceAttrs]
def print_cpp(idl, fd, conf, eventname):
for p in idl.productions:
@@ -186,7 +186,7 @@ def interfaces(iface):
def allAttributes(iface):
attributes = []
for i in interfaces(iface):
attrs = filter(lambda m: isinstance(m, xpidl.Attribute), i.members)
attrs = [m for m in i.members if isinstance(m, xpidl.Attribute)]
attributes.extend(attrs)
return attributes
@@ -194,7 +194,7 @@ def allAttributes(iface):
def write_cpp(eventname, iface, fd):
classname = "xpcAcc%s" % eventname
attributes = allAttributes(iface)
ccattributes = filter(lambda m: m.realtype.nativeType('in').endswith('*'), attributes)
ccattributes = [m for m in attributes if m.realtype.nativeType('in').endswith('*')]
fd.write("NS_IMPL_CYCLE_COLLECTION(%s" % classname)
for c in ccattributes:
fd.write(", m%s" % firstCap(c.name))
+1 -1
View File
@@ -30,7 +30,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(xpcAccessibleDocument,
tmp->mCache.Clear();
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(xpcAccessibleDocument)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(xpcAccessibleDocument)
NS_INTERFACE_MAP_ENTRY(nsIAccessibleDocument)
NS_INTERFACE_MAP_END_INHERITING(xpcAccessibleHyperText)
+5 -8
View File
@@ -73,7 +73,7 @@ XULTreeAccessible::~XULTreeAccessible()
NS_IMPL_CYCLE_COLLECTION_INHERITED(XULTreeAccessible, Accessible,
mTree, mAccessibleCache)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(XULTreeAccessible)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(XULTreeAccessible)
NS_INTERFACE_MAP_END_INHERITING(Accessible)
NS_IMPL_ADDREF_INHERITED(XULTreeAccessible, Accessible)
@@ -709,12 +709,9 @@ XULTreeItemAccessibleBase::~XULTreeItemAccessibleBase()
NS_IMPL_CYCLE_COLLECTION_INHERITED(XULTreeItemAccessibleBase, Accessible,
mTree)
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(XULTreeItemAccessibleBase)
NS_INTERFACE_TABLE_INHERITED(XULTreeItemAccessibleBase,
XULTreeItemAccessibleBase)
NS_INTERFACE_TABLE_TAIL_INHERITING(Accessible)
NS_IMPL_ADDREF_INHERITED(XULTreeItemAccessibleBase, Accessible)
NS_IMPL_RELEASE_INHERITED(XULTreeItemAccessibleBase, Accessible)
NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED(XULTreeItemAccessibleBase,
Accessible,
XULTreeItemAccessibleBase)
////////////////////////////////////////////////////////////////////////////////
// XULTreeItemAccessibleBase: Accessible
@@ -1084,7 +1081,7 @@ NS_IMPL_CYCLE_COLLECTION_INHERITED(XULTreeItemAccessible,
XULTreeItemAccessibleBase,
mColumn)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(XULTreeItemAccessible)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(XULTreeItemAccessible)
NS_INTERFACE_MAP_END_INHERITING(XULTreeItemAccessibleBase)
NS_IMPL_ADDREF_INHERITED(XULTreeItemAccessible, XULTreeItemAccessibleBase)
NS_IMPL_RELEASE_INHERITED(XULTreeItemAccessible, XULTreeItemAccessibleBase)
+2 -2
View File
@@ -263,7 +263,7 @@ NS_IMPL_CYCLE_COLLECTION_INHERITED(XULTreeGridRowAccessible,
XULTreeItemAccessibleBase,
mAccessibleCache)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(XULTreeGridRowAccessible)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(XULTreeGridRowAccessible)
NS_INTERFACE_MAP_END_INHERITING(XULTreeItemAccessibleBase)
NS_IMPL_ADDREF_INHERITED(XULTreeGridRowAccessible,
@@ -447,7 +447,7 @@ XULTreeGridCellAccessible::~XULTreeGridCellAccessible()
NS_IMPL_CYCLE_COLLECTION_INHERITED(XULTreeGridCellAccessible, LeafAccessible,
mTree, mColumn)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(XULTreeGridCellAccessible)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(XULTreeGridCellAccessible)
NS_INTERFACE_MAP_END_INHERITING(LeafAccessible)
NS_IMPL_ADDREF_INHERITED(XULTreeGridCellAccessible, LeafAccessible)
NS_IMPL_RELEASE_INHERITED(XULTreeGridCellAccessible, LeafAccessible)
+4 -5
View File
@@ -5,11 +5,11 @@
'''Parses a given application.ini file and outputs the corresponding
XULAppData structure as a C++ header file'''
import ConfigParser
import configparser
import sys
def main(output, file):
config = ConfigParser.RawConfigParser()
config = configparser.RawConfigParser()
config.read(file)
flags = set()
try:
@@ -27,8 +27,7 @@ def main(output, file):
'App:id', 'Gecko:minversion', 'Gecko:maxversion')
missing = [var for var in expected if var not in appdata]
if missing:
print >>sys.stderr, \
"Missing values in %s: %s" % (file, ', '.join(missing))
print("Missing values in %s: %s" % (file, ', '.join(missing)), file=sys.stderr)
sys.exit(1)
if not 'Crash Reporter:serverurl' in appdata:
@@ -57,4 +56,4 @@ if __name__ == '__main__':
if len(sys.argv) != 1:
main(sys.stdout, sys.argv[1])
else:
print >>sys.stderr, "Usage: %s /path/to/application.ini" % sys.argv[0]
print("Usage: %s /path/to/application.ini" % sys.argv[0], file=sys.stderr)
File diff suppressed because it is too large. Load diff
+80
View File
@@ -0,0 +1,80 @@
dnl Map old names of Autoconf macros to new regularized names.
dnl This file is part of Autoconf.
dnl Copyright (C) 1994 Free Software Foundation, Inc.
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2, or (at your option)
dnl any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
dnl 02111-1307, USA.
dnl
dnl General macros.
dnl
define(AC_WARN, [indir([AC_MSG_WARN], $@)])dnl
define(AC_ERROR, [indir([AC_MSG_ERROR], $@)])dnl
AC_DEFUN(AC_PROGRAM_CHECK, [indir([AC_CHECK_PROG], $@)])dnl
AC_DEFUN(AC_PROGRAM_PATH, [indir([AC_PATH_PROG], $@)])dnl
AC_DEFUN(AC_PROGRAMS_CHECK, [indir([AC_CHECK_PROGS], $@)])dnl
AC_DEFUN(AC_PROGRAMS_PATH, [indir([AC_PATH_PROGS], $@)])dnl
AC_DEFUN(AC_PREFIX, [indir([AC_PREFIX_PROGRAM], $@)])dnl
AC_DEFUN(AC_HEADER_EGREP, [indir([AC_EGREP_HEADER], $@)])dnl
AC_DEFUN(AC_PROGRAM_EGREP, [indir([AC_EGREP_CPP], $@)])dnl
AC_DEFUN(AC_TEST_PROGRAM, [indir([AC_TRY_RUN], $@)])dnl
AC_DEFUN(AC_TEST_CPP, [indir([AC_TRY_CPP], $@)])dnl
AC_DEFUN(AC_HEADER_CHECK, [indir([AC_CHECK_HEADER], $@)])dnl
AC_DEFUN(AC_FUNC_CHECK, [indir([AC_CHECK_FUNC], $@)])dnl
AC_DEFUN(AC_HAVE_FUNCS, [indir([AC_CHECK_FUNCS], $@)])dnl
AC_DEFUN(AC_HAVE_HEADERS, [indir([AC_CHECK_HEADERS], $@)])dnl
AC_DEFUN(AC_SIZEOF_TYPE, [indir([AC_CHECK_SIZEOF], $@)])dnl
dnl
dnl Specific macros.
dnl
AC_DEFUN(AC_GCC_TRADITIONAL, [indir([AC_PROG_GCC_TRADITIONAL])])dnl
AC_DEFUN(AC_MINUS_C_MINUS_O, [indir([AC_PROG_CC_C_O])])dnl
AC_DEFUN(AC_SET_MAKE, [indir([AC_PROG_MAKE_SET])])dnl
AC_DEFUN(AC_YYTEXT_POINTER, [indir([AC_DECL_YYTEXT])])dnl
AC_DEFUN(AC_LN_S, [indir([AC_PROG_LN_S])])dnl
AC_DEFUN(AC_STDC_HEADERS, [indir([AC_HEADER_STDC])])dnl
AC_DEFUN(AC_MAJOR_HEADER, [indir([AC_HEADER_MAJOR])])dnl
AC_DEFUN(AC_STAT_MACROS_BROKEN, [indir([AC_HEADER_STAT])])dnl
AC_DEFUN(AC_SYS_SIGLIST_DECLARED, [indir([AC_DECL_SYS_SIGLIST])])dnl
AC_DEFUN(AC_GETGROUPS_T, [indir([AC_TYPE_GETGROUPS])])dnl
AC_DEFUN(AC_UID_T, [indir([AC_TYPE_UID_T])])dnl
AC_DEFUN(AC_SIZE_T, [indir([AC_TYPE_SIZE_T])])dnl
AC_DEFUN(AC_PID_T, [indir([AC_TYPE_PID_T])])dnl
AC_DEFUN(AC_OFF_T, [indir([AC_TYPE_OFF_T])])dnl
AC_DEFUN(AC_MODE_T, [indir([AC_TYPE_MODE_T])])dnl
AC_DEFUN(AC_RETSIGTYPE, [indir([AC_TYPE_SIGNAL])])dnl
AC_DEFUN(AC_MMAP, [indir([AC_FUNC_MMAP])])dnl
AC_DEFUN(AC_VPRINTF, [indir([AC_FUNC_VPRINTF])])dnl
AC_DEFUN(AC_VFORK, [indir([AC_FUNC_VFORK])])dnl
AC_DEFUN(AC_WAIT3, [indir([AC_FUNC_WAIT3])])dnl
AC_DEFUN(AC_ALLOCA, [indir([AC_FUNC_ALLOCA])])dnl
AC_DEFUN(AC_GETLOADAVG, [indir([AC_FUNC_GETLOADAVG])])dnl
AC_DEFUN(AC_UTIME_NULL, [indir([AC_FUNC_UTIME_NULL])])dnl
AC_DEFUN(AC_STRCOLL, [indir([AC_FUNC_STRCOLL])])dnl
AC_DEFUN(AC_SETVBUF_REVERSED, [indir([AC_FUNC_SETVBUF_REVERSED])])dnl
AC_DEFUN(AC_TIME_WITH_SYS_TIME, [indir([AC_HEADER_TIME])])dnl
AC_DEFUN(AC_TIMEZONE, [indir([AC_STRUCT_TIMEZONE])])dnl
AC_DEFUN(AC_ST_BLOCKS, [indir([AC_STRUCT_ST_BLOCKS])])dnl
AC_DEFUN(AC_ST_BLKSIZE, [indir([AC_STRUCT_ST_BLKSIZE])])dnl
AC_DEFUN(AC_ST_RDEV, [indir([AC_STRUCT_ST_RDEV])])dnl
AC_DEFUN(AC_CROSS_CHECK, [indir([AC_C_CROSS])])dnl
AC_DEFUN(AC_CHAR_UNSIGNED, [indir([AC_C_CHAR_UNSIGNED])])dnl
AC_DEFUN(AC_LONG_DOUBLE, [indir([AC_C_LONG_DOUBLE])])dnl
AC_DEFUN(AC_WORDS_BIGENDIAN, [indir([AC_C_BIGENDIAN])])dnl
AC_DEFUN(AC_INLINE, [indir([AC_C_INLINE])])dnl
AC_DEFUN(AC_CONST, [indir([AC_C_CONST])])dnl
AC_DEFUN(AC_LONG_FILE_NAMES, [indir([AC_SYS_LONG_FILE_NAMES])])dnl
AC_DEFUN(AC_RESTARTABLE_SYSCALLS, [indir([AC_SYS_RESTARTABLE_SYSCALLS])])dnl
AC_DEFUN(AC_FIND_X, [indir([AC_PATH_X])])dnl
AC_DEFUN(AC_FIND_XTRA, [indir([AC_PATH_XTRA])])dnl
File diff suppressed because it is too large. Load diff
+28
View File
@@ -0,0 +1,28 @@
dnl Driver that loads the Autoconf macro files.
dnl Requires GNU m4.
dnl This file is part of Autoconf.
dnl Copyright (C) 1994 Free Software Foundation, Inc.
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2, or (at your option)
dnl any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
dnl 02111-1307, USA.
dnl
dnl Written by David MacKenzie.
dnl
include(acgeneral.m4)dnl
builtin(include, acspecific.m4)dnl
builtin(include, acoldnames.m4)dnl
dnl Do not sinclude acsite.m4 here, because it may not be installed
dnl yet when Autoconf is frozen.
dnl Do not sinclude ./aclocal.m4 here, to prevent it from being frozen.
+159
View File
@@ -0,0 +1,159 @@
#! @SHELL@
# autoconf -- create `configure' using m4 macros
# Copyright (C) 1992, 1993, 1994, 1996 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# If given no args, create `configure' from template file `configure.in'.
# With one arg, create a configure script on standard output from
# the given template file.
usage="\
Usage: autoconf [-h] [--help] [-m dir] [--macrodir=dir]
[-l dir] [--localdir=dir] [--version] [template-file]"
# NLS nuisances.
# Only set these to C if already set. These must not be set unconditionally
# because not all systems understand e.g. LANG=C (notably SCO).
# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
# Non-C LC_CTYPE values break the ctype check.
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
: ${AC_MACRODIR=@datadir@}
: ${M4=@M4@}
: ${AWK=@AWK@}
case "${M4}" in
/*) # Handle the case that m4 has moved since we were configured.
# It may have been found originally in a build directory.
test -f "${M4}" || M4=m4 ;;
esac
: ${TMPDIR=/tmp}
tmpout=${TMPDIR}/acout.$$
localdir=
show_version=no
while test $# -gt 0 ; do
case "${1}" in
-h | --help | --h* )
echo "${usage}" 1>&2; exit 0 ;;
--localdir=* | --l*=* )
localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
shift ;;
-l | --localdir | --l*)
shift
test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
localdir="${1}"
shift ;;
--macrodir=* | --m*=* )
AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
shift ;;
-m | --macrodir | --m* )
shift
test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
AC_MACRODIR="${1}"
shift ;;
--version | --v* )
show_version=yes; shift ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "${usage}" 1>&2; exit 1 ;;
* )
break ;;
esac
done
if test $show_version = yes; then
version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
$AC_MACRODIR/acgeneral.m4`
echo "Autoconf version $version"
exit 0
fi
case $# in
0) infile=configure.in ;;
1) infile="$1" ;;
*) echo "$usage" >&2; exit 1 ;;
esac
trap 'rm -f $tmpin $tmpout; exit 1' 1 2 15
tmpin=${TMPDIR}/acin.$$ # Always set this, to avoid bogus errors from some rm's.
if test z$infile = z-; then
infile=$tmpin
cat > $infile
elif test ! -r "$infile"; then
echo "autoconf: ${infile}: No such file or directory" >&2
exit 1
fi
if test -n "$localdir"; then
use_localdir="-I$localdir -DAC_LOCALDIR=$localdir"
else
use_localdir=
fi
# Use the frozen version of Autoconf if available.
r= f=
# Some non-GNU m4's don't reject the --help option, so give them /dev/null.
case `$M4 --help < /dev/null 2>&1` in
*reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;;
*traditional*) ;;
*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;;
esac
$M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout ||
{ rm -f $tmpin $tmpout; exit 2; }
# You could add your own prefixes to pattern if you wanted to check for
# them too, e.g. pattern='\(AC_\|ILT_\)', except that UNIX sed doesn't do
# alternation.
pattern="AC_"
status=0
if grep "^[^#]*${pattern}" $tmpout > /dev/null 2>&1; then
echo "autoconf: Undefined macros:" >&2
sed -n "s/^[^#]*\\(${pattern}[_A-Za-z0-9]*\\).*/\\1/p" $tmpout |
while read macro; do
grep -n "^[^#]*$macro" $infile /dev/null
test $? -eq 1 && echo >&2 "***BUG in Autoconf--please report*** $macro"
done | sort -u >&2
status=1
fi
if test $# -eq 0; then
exec 4> configure; chmod +x configure
else
exec 4>&1
fi
# Put the real line numbers into configure to make config.log more helpful.
$AWK '
/__oline__/ { printf "%d:", NR + 1 }
{ print }
' $tmpout | sed '
/__oline__/s/^\([0-9][0-9]*\):\(.*\)__oline__/\2\1/
' >&4
rm -f $tmpout
exit $status
+10 -8
View File
@@ -179,20 +179,22 @@ if test "$GNU_CC"; then
CFLAGS="$CFLAGS -fno-math-errno -pipe"
CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-math-errno -pipe"
if test "$CPU_ARCH" = "x86" -o "$CPU_ARCH" = "x86_64"; then
CFLAGS="$CFLAGS -msse2 -mfpmath=sse"
CXXFLAGS="$CXXFLAGS -msse2 -mfpmath=sse"
fi
case "${host_cpu}" in
i*86)
CFLAGS="$CFLAGS -msse2 -mfpmath=sse"
CXXFLAGS="$CXXFLAGS -msse2 -mfpmath=sse"
;;
esac
if test -z "$CLANG_CC"; then
case "$CC_VERSION" in
4.* | 5.* | 6.*)
4.* | 5.* | 6.* | 7.* | 8.*)
AC_MSG_ERROR([Unsupported GCC version.])
;;
*)
# Lifetime Dead Store Elimination level 2 (default in GCC6+) breaks Gecko.
# Instead of completely disabling this optimization on newer GCC's,
# we'll force them to use level 1 optimization with -flifetime-dse=1.
# Lifetime Dead Store Elimination level 2 (default in GCC) breaks Goanna.
# Instead of completely disabling this optimization, we force level 1
# optimization instead with -flifetime-dse=1.
# Add it first so that a mozconfig can override by setting CFLAGS/CXXFLAGS.
CFLAGS="-flifetime-dse=1 $CFLAGS"
CXXFLAGS="-flifetime-dse=1 $CXXFLAGS"
+3
View File
@@ -982,6 +982,9 @@ EOF
k1om:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
loongarch64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
+10 -11
View File
@@ -28,17 +28,14 @@ if test -n "$USE_ICU"; then
fi
MOZ_ICU_VERSION="$version"
# TODO: the l is actually endian-dependent
# We could make this set as 'l' or 'b' for little or big, respectively,
# but we'd need to check in a big-endian version of the file.
ICU_DATA_FILE_BIG="icudt${version}b.dat"
ICU_DATA_FILE="icudt${version}l.dat"
dnl We won't build ICU data as a separate file when building
dnl JS standalone so that embedders don't have to deal with it.
dnl We also don't do it on Windows because sometimes the file goes
dnl missing -- possibly due to overzealous antivirus software? --
dnl which prevents the browser from starting up :(
if test -z "$JS_STANDALONE"; then
dnl ICU as a shared library, as we need to fold the data into
dnl the shared library in order for consumers like Spidermonkey
dnl to use it without code duplication.
if test -z "$MOZ_SHARED_ICU"; then
MOZ_ICU_DATA_ARCHIVE=1
else
MOZ_ICU_DATA_ARCHIVE=
@@ -46,17 +43,19 @@ if test -n "$USE_ICU"; then
fi
AC_SUBST(MOZ_ICU_VERSION)
AC_SUBST(ENABLE_INTL_API)
AC_SUBST(USE_ICU)
AC_SUBST(ICU_DATA_FILE_BIG)
AC_SUBST(ICU_DATA_FILE)
AC_SUBST(MOZ_ICU_DATA_ARCHIVE)
AC_SUBST(MOZ_SHARED_ICU)
if test -n "$USE_ICU"; then
if test -z "$YASM" -a -z "$GNU_AS" -a "$COMPILE_ENVIRONMENT"; then
AC_MSG_ERROR([Building ICU requires either yasm or a GNU assembler. If you do not have either of those available for this platform you must use --without-intl-api])
fi
dnl We build ICU as a static library.
AC_DEFINE(U_STATIC_IMPLEMENTATION)
if test -z "$MOZ_SHARED_ICU"; then
AC_DEFINE(U_STATIC_IMPLEMENTATION)
fi
dnl Source files that use ICU should have control over which parts of the ICU
dnl namespace they want to use.
AC_DEFINE(U_USING_ICU_NAMESPACE,0)
+37 -3
View File
@@ -13,7 +13,7 @@ MOZ_ARG_ENABLE_BOOL(address-sanitizer,
MOZ_ASAN= )
if test -n "$MOZ_ASAN"; then
MOZ_LLVM_HACKS=1
if test -n "$CLANG_CL"; then
if test "$OS_ARCH" = "WINNT"; then
# Look for the ASan runtime binary
if test "$CPU_ARCH" = "x86_64"; then
MOZ_CLANG_RT_ASAN_LIB=clang_rt.asan_dynamic-x86_64.dll
@@ -27,14 +27,14 @@ if test -n "$MOZ_ASAN"; then
fi
AC_SUBST(MOZ_CLANG_RT_ASAN_LIB_PATH)
# Suppressing errors in recompiled code.
if test "$OS_ARCH" = "WINNT"; then
if test -n "$CLANG_CL"; then
CFLAGS="-fsanitize-blacklist=$_topsrcdir/build/sanitizers/asan_blacklist_win.txt $CFLAGS"
CXXFLAGS="-fsanitize-blacklist=$_topsrcdir/build/sanitizers/asan_blacklist_win.txt $CXXFLAGS"
fi
fi
CFLAGS="-fsanitize=address $CFLAGS"
CXXFLAGS="-fsanitize=address $CXXFLAGS"
if test -z "$CLANG_CL"; then
if test "$OS_ARCH" != "WINNT"; then
LDFLAGS="-fsanitize=address $LDFLAGS"
fi
AC_DEFINE(MOZ_ASAN)
@@ -80,6 +80,40 @@ if test -n "$MOZ_TSAN"; then
fi
AC_SUBST(MOZ_TSAN)
dnl ========================================================
dnl = Use Leak Sanitizer
dnl ========================================================
MOZ_ARG_ENABLE_BOOL(leak-sanitizer,
[ --enable-leak-sanitizer Enable Leak Sanitizer (default=no)],
MOZ_LSAN=1,
MOZ_LSAN= )
if test -n "$MOZ_LSAN"; then
MOZ_LLVM_HACKS=1
LDFLAGS="-fsanitize=leak $LDFLAGS"
AC_DEFINE(MOZ_LSAN)
MOZ_PATH_PROG(LLVM_SYMBOLIZER, llvm-symbolizer)
fi
AC_SUBST(MOZ_LSAN)
dnl ========================================================
dnl = Use Undefined Behavior Sanitizer
dnl ========================================================
MOZ_ARG_ENABLE_BOOL(undefined-sanitizer,
[ --enable-undefined-sanitizer Enable Undefined Behavior Sanitizer (default=no)],
MOZ_UBSAN=1,
MOZ_UBSAN= )
if test -n "$MOZ_UBSAN"; then
MOZ_LLVM_HACKS=1
CFLAGS="-fsanitize=undefined $CFLAGS"
CXXFLAGS="-fsanitize=undefined $CXXFLAGS"
if test -z "$CLANG_CL"; then
LDFLAGS="-fsanitize=undefined $LDFLAGS"
fi
AC_DEFINE(MOZ_UBSAN)
MOZ_PATH_PROG(LLVM_SYMBOLIZER, llvm-symbolizer)
fi
AC_SUBST(MOZ_UBSAN)
# The LLVM symbolizer is used by all sanitizers
AC_SUBST(LLVM_SYMBOLIZER)
+4 -4
View File
@@ -34,7 +34,7 @@ def symlink(source, link_name):
def check_run(args):
global DEBUG
if DEBUG:
print >> sys.stderr, ' '.join(args)
print(' '.join(args), file=sys.stderr)
r = subprocess.call(args)
assert r == 0
@@ -43,11 +43,11 @@ def run_in(path, args):
d = os.getcwd()
global DEBUG
if DEBUG:
print >> sys.stderr, 'cd "%s"' % path
print('cd "%s"' % path, file=sys.stderr)
os.chdir(path)
check_run(args)
if DEBUG:
print >> sys.stderr, 'cd "%s"' % d
print('cd "%s"' % d, file=sys.stderr)
os.chdir(d)
@@ -377,7 +377,7 @@ if __name__ == "__main__":
extra_cflags2 = ["-fPIC"]
extra_cxxflags2 = ["-fPIC", "-static-libstdc++"]
if os.environ.has_key('LD_LIBRARY_PATH'):
if 'LD_LIBRARY_PATH' in os.environ:
os.environ['LD_LIBRARY_PATH'] = '%s/lib64/:%s' % (gcc_dir, os.environ['LD_LIBRARY_PATH']);
else:
os.environ['LD_LIBRARY_PATH'] = '%s/lib64/' % gcc_dir
+3 -3
View File
@@ -81,9 +81,9 @@ def process_files(files, output_filename, digests, strip):
short_file = short_file.lstrip('/')
else:
short_file = file
print >>output, '%s %s %s %s' % (hash, digest,
print('%s %s %s %s' % (hash, digest,
os.path.getsize(file),
short_file)
short_file), file=output)
def setup_logging(level=logging.DEBUG):
'''This function sets up the logging module using a speficiable logging
@@ -140,7 +140,7 @@ def main():
try:
for digest in options.digests:
hashlib.new(digest)
except ValueError, ve:
except ValueError as ve:
logger.error('Could not create a "%s" hash object (%s)' %
(digest, ve.args[0]))
exit(1)
-7
View File
@@ -33,10 +33,3 @@ endif
# correctly. Note that the binary produced here is a host tool and doesn't need
# to be distributed.
MACOSX_DEPLOYMENT_TARGET :=
# Temporarily relax the requirements for libstdc++ symbol versions on static
# analysis plugin in order to use a recent clang by accepting libstdc++ from
# gcc 4.4.0 (GLIBCXX_3.4.11).
ifdef CHECK_STDCXX
CHECK_STDCXX = $(call CHECK_SYMBOLS,$(1),GLIBCXX,libstdc++,v[1] > 3 || (v[1] == 3 && v[2] == 4 && v[3] > 11))
endif
@@ -11,7 +11,7 @@ import logging
import os
import site
import sys
import urllib2
import urllib.request, urllib.error, urllib.parse
import difflib
FAILURE_CODE = 1
@@ -40,10 +40,10 @@ def make_hg_url(hgHost, repoPath, protocol='https', revision=None,
def readConfig(configfile, keys=[], required=[]):
c = {}
execfile(configfile, c)
exec(compile(open(configfile, "rb").read(), configfile, 'exec'), c)
for k in keys:
c = c[k]
items = c.keys()
items = list(c.keys())
err = False
for key in required:
if key not in items:
@@ -126,7 +126,7 @@ def get_mozconfig(path, options):
else:
url = make_hg_url(options.hghost, options.branch, 'http',
options.revision, path)
return urllib2.urlopen(url).readlines()
return urllib.request.urlopen(url).readlines()
if __name__ == '__main__':
from optparse import OptionParser
-4
View File
@@ -43,8 +43,6 @@ gyp_vars.update({
'arm_neon': 0,
'arm_neon_optional': 1,
'moz_webrtc_omx': 0,
'moz_webrtc_mediacodec': 0,
# Turn off multi monitor screen share
'multi_monitor_screenshare%' : 0,
@@ -73,8 +71,6 @@ if CONFIG['ARM_ARCH']:
if int(CONFIG['ARM_ARCH']) < 7:
gyp_vars['armv7'] = 0
gyp_vars['arm_neon_optional'] = 0
elif os == 'Android':
gyp_vars['armv7'] = 1
else:
# CPU detection for ARM works on Android only. armv7 always uses CPU
# detection, so we have to set armv7=0 for non-Android target
+1 -1
View File
@@ -18,7 +18,7 @@ flavors = {
'Linux': 'linux',
'Darwin': 'mac',
'SunOS': 'solaris',
'GNU/kFreeBSD': 'freebsd',
'kFreeBSD': 'freebsd',
'DragonFly': 'dragonfly',
'FreeBSD': 'freebsd',
'NetBSD': 'netbsd',
+14 -9
View File
@@ -12,7 +12,7 @@ import random
import subprocess
import sys
import uuid
import __builtin__
import builtins
from types import ModuleType
@@ -170,11 +170,16 @@ def bootstrap(topsrcdir, mozilla_dir=None):
if mozilla_dir is None:
mozilla_dir = topsrcdir
# Ensure we are running Python 2.7+. We put this check here so we generate a
# user-friendly error message rather than a cryptic stack trace on module
# import.
if sys.version_info[0] != 2 or sys.version_info[1] < 7:
print('Python 2.7 or above (but not Python 3) is required to run mach.')
# Ensure we are not running Python 2.
# We put this check here so we generate a user-friendly error message
# rather than a cryptic stack trace on module import.
if sys.version_info[0] < 3 or sys.version_info[1] < 3:
print('Python 3.3 or above is required to run mach.')
print('You are running Python', platform.python_version())
sys.exit(1)
# This sanity check is overkill, but why not?
if sys.version_info[0] > 3:
print('Python 4.x or higher not supported. Use Python 3 instead.')
print('You are running Python', platform.python_version())
sys.exit(1)
@@ -335,7 +340,7 @@ def bootstrap(topsrcdir, mozilla_dir=None):
# always load local repository configuration
mach.settings_paths.append(mozilla_dir)
for category, meta in CATEGORIES.items():
for category, meta in list(CATEGORIES.items()):
mach.define_category(category, meta['short'], meta['long'],
meta['priority'])
@@ -360,7 +365,7 @@ class ImportHook(object):
self._modules = set()
def __call__(self, name, globals=None, locals=None, fromlist=None,
level=-1):
level=0):
# name might be a relative import. Instead of figuring out what that
# resolves to, which is complex, just rely on the real import.
# Since we don't know the full module name, we can't check sys.modules,
@@ -409,4 +414,4 @@ class ImportHook(object):
# Install our hook
__builtin__.__import__ = ImportHook(__builtin__.__import__)
builtins.__import__ = ImportHook(builtins.__import__)
+5 -3
View File
@@ -58,9 +58,11 @@ FINAL_TARGET_FILES += ['/.gdbinit']
FINAL_TARGET_PP_FILES += ['.gdbinit_python.in']
OBJDIR_FILES += ['!/dist/bin/.gdbinit_python']
# Install the clang-cl runtime library for ASAN next to the binaries we produce.
if CONFIG['MOZ_ASAN'] and CONFIG['CLANG_CL']:
FINAL_TARGET_FILES += ['%' + CONFIG['MOZ_CLANG_RT_ASAN_LIB_PATH']]
# Install the clang runtime library for ASAN next to the binaries we produce.
if CONFIG['MOZ_ASAN'] and CONFIG['MOZ_CLANG_RT_ASAN_LIB_PATH']:
FINAL_TARGET_FILES += [CONFIG['MOZ_CLANG_RT_ASAN_LIB_PATH']]
if CONFIG['LLVM_SYMBOLIZER']:
FINAL_TARGET_FILES += ['/' + CONFIG['LLVM_SYMBOLIZER']]
if CONFIG['MOZ_APP_BASENAME']:
FINAL_TARGET_PP_FILES += ['application.ini']
+1 -1
View File
@@ -11,7 +11,7 @@
# _declare_exceptions template, and add it to the return statement. Then
# destructure in the assignment below the function declaration.
@template
@imports(_from='__builtin__', _import='Exception')
@imports(_from='builtins', _import='Exception')
def _declare_exceptions():
class FatalCheckError(Exception):
'''An exception to throw from a function decorated with @checking.
+109 -39
View File
@@ -74,6 +74,61 @@ def check_headers(*headers, **kwargs):
return checks
# Determine whether to add a given flag to the given lists of flags for C or
# C++ compilation.
# - `flag` is the flag to test
# - `cflags` is a @depends function for the list of C compiler flags to add to
# - `cxxflags` is a @depends function for the list of C++ compiler flags to
# add to
# - `test_flags` is a list of flags to pass to the compiler instead of merely
# passing `flag`. This is especially useful for checking warning flags. If
# this list is empty, `flag` will be passed on its own.
# - `compiler` (optional) is the compiler to test against (c_compiler or
# cxx_compiler, from toolchain.configure). When omitted, both compilers
# are tested; the list of flags added to is dependent on the compiler tested.
# - `when` (optional) is a @depends function or option name conditioning
# when the warning flag is wanted.
# - `check`, when not set, skips checking whether the flag is supported and
# adds it to the list of flags unconditionally.
@template
def check_and_add_flags(flag, cflags, cxxflags, test_flags,
compiler=None, when=None, check=True):
if compiler is not None:
compilers = (compiler,)
else:
compilers = (c_compiler, cxx_compiler)
if when is None:
when = always
if test_flags:
flags = test_flags
else:
flags = [flag]
for c in compilers:
assert c in (c_compiler, cxx_compiler)
lang, list_of_flags = {
c_compiler: ('C', cflags),
cxx_compiler: ('C++', cxxflags),
}[c]
@depends(c, when)
def result(c, when):
if when and c.type in ('clang', 'gcc'):
return True
if check:
result = c.try_compile(
flags=flags, when=result,
check_msg='whether the %s compiler supports %s' % (lang, flag))
@depends(result, list_of_flags)
def maybe_add_flag(result, list_of_flags):
if result:
list_of_flags.append(flag)
@depends(c_compiler)
def warnings_cflags(c_compiler):
return []
@@ -96,48 +151,21 @@ def warnings_cxxflags(cxx_compiler):
# for add_gcc_warning().
@template
def check_and_add_gcc_warning(warning, compiler=None, when=None, check=True):
if compiler:
compilers = (compiler,)
# GCC and clang will fail if given an unknown warning option like
# -Wfoobar. But later versions won't fail if given an unknown negated
# warning option like -Wno-foobar. So when we are checking for support
# of a negated warning option, we actually test the positive form, but
# add the negated form to the flags variable.
if warning.startswith('-Wno-') and not warning.startswith('-Wno-error='):
flags = ['-Werror', '-W' + warning[5:]]
elif warning.startswith('-Werror='):
flags = [warning]
else:
compilers = (c_compiler, cxx_compiler)
flags = ['-Werror', warning]
when = when or always
check_and_add_flags(warning, warnings_cflags, warnings_cxxflags,
flags, compiler=compiler, when=when, check=check)
for c in compilers:
assert c in (c_compiler, cxx_compiler)
lang, warnings_flags = {
c_compiler: ('C', warnings_cflags),
cxx_compiler: ('C++', warnings_cxxflags),
}[c]
# GCC and clang will fail if given an unknown warning option like
# -Wfoobar. But later versions won't fail if given an unknown negated
# warning option like -Wno-foobar. So when we are checking for support
# of a negated warning option, we actually test the positive form, but
# add the negated form to the flags variable.
if (warning.startswith('-Wno-') and
not warning.startswith('-Wno-error=')):
flags = ['-Werror', '-W' + warning[5:]]
elif warning.startswith('-Werror='):
flags = [warning]
else:
flags = ['-Werror', warning]
@depends(c, when)
def result(c, when):
if when and c.type in ('clang', 'gcc'):
return True
if check:
result = c.try_compile(
flags=flags, when=result,
check_msg='whether the %s compiler supports %s' % (lang,
warning))
@depends(result, warnings_flags)
def maybe_add_flag(result, warnings_flags):
if result:
warnings_flags.append(warning)
# Add the given warning to the list of warning flags for the build.
# - `warning` is the warning flag (e.g. -Wfoo)
@@ -149,3 +177,45 @@ def check_and_add_gcc_warning(warning, compiler=None, when=None, check=True):
@template
def add_gcc_warning(warning, compiler=None, when=None):
check_and_add_gcc_warning(warning, compiler, when, check=False)
# Like the warning checks above, but for general compilation flags.
@dependable
def compilation_cflags():
return []
@dependable
def compilation_cxxflags():
return []
# Tests whether GCC or clang support the given compilation flag; if the flag
# is supported, add it to the list of compilation flags for the build.
# - `flag` is the flag to test
# - `compiler` (optional) is the compiler to test against (c_compiler or
# cxx_compiler, from toolchain.configure). When omitted, both compilers
# are tested.
# - `when` (optional) is a @depends function or option name conditioning
# when the warning flag is wanted.
# - `check`, when not set, skips checking whether the flag is supported and
# adds it to the list of flags unconditionally. This is only meant for
# add_gcc_flag().
@template
def check_and_add_gcc_flag(flag, compiler=None, when=None, check=True):
flags = ['-Werror', flag]
check_and_add_flags(flag, compilation_cflags, compilation_cxxflags,
flags, compiler=compiler, when=when, check=check)
# Add the given flag to the list of flags for the build.
# - `flag` is the flag (e.g. -fno-sized-deallocation)
# - `compiler` (optional) is the compiler to add the flag for (c_compiler or
# cxx_compiler, from toolchain.configure). When omitted, the flag is added
# for both compilers.
# - `when` (optional) is a @depends function or option name conditioning
# when the flag is wanted.
@template
def add_gcc_flag(warning, compiler=None, when=None):
check_and_add_gcc_flag(warning, compiler, when, check=False)
+13
View File
@@ -0,0 +1,13 @@
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# We support C++14, but we don't want to enable the sized deallocation
# facilities in C++14 yet.
check_and_add_gcc_flag('-fno-sized-deallocation', compiler=cxx_compiler)
# Please keep these last in this file.
add_old_configure_assignment('_COMPILATION_CFLAGS', compilation_cflags)
add_old_configure_assignment('_COMPILATION_CXXFLAGS', compilation_cxxflags)
Loaded 100 of 28107 files, more files were not shown because too many files have changed in this diff. Show more