Compare commits

...
4379 Commits
Author SHA1 Message Date
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
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
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
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
Andy 2e6dab8672 Support Unicode White Spaces in ParseDate() 2026-03-05 17:32:10 -08: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
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
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
Moonchild 95907ddf88 Revert "Issue #1986 - Use logical coordinates in flex containers."
This reverts commit 2a57b39dbc.
2022-09-27 20:04:13 +00:00
Moonchild 5f8d70dacd Revert "Issue #1986 - Part 2: Add IsItemInlineAxisMainAxis() and rework some nsFrame code."
This reverts commit ef4eb3f926.
2022-09-27 20:04:02 +00:00
Moonchild 4bf2bf74b1 Revert "Issue #1986 - Add in reftests for new behavior."
This reverts commit 2fc5e3ad7d.
2022-09-27 20:03:42 +00:00
Moonchild b575f4a516 Platform version bump 2022-09-24 12:16:43 +00:00
Moonchild 47a7de8aa4 Issue #1977 - Follow-up: Correct pref check to be selective on wave formats only. 2022-09-22 13:14:17 +00:00
Moonchild 1a5e2e32e1 Merge pull request 'Un-prefix -moz-[min|max}-content keyword' (#2009) from 1992 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2009
2022-09-22 11:47:37 +00:00
Moonchild d06666cd12 [network] Reject cookies with no name and a __Secure- or __Host- prefix 2022-09-21 21:11:53 +00:00
Moonchild 24ee0680b1 [DOM security] Be more explicit about CSP checks and reports. 2022-09-21 14:08:22 +00:00
Moonchild 66a4e02856 Issue #1992 - Part 2: Regenerate devtools CSS database.
Using `mach devtools-css-db`
Note: this also picked up a break-spaces entry that was missed previously.
2022-09-20 20:44:57 +00:00
Moonchild 9fea63c9d4 Issue #1992 - Part 1: Un-prefix -moz-{min|max}-content keywords. 2022-09-20 20:41:33 +00:00
Moonchild fc5b767f5d Issue #2008 - Implement missing s parameter parsing and align case with spec.
This does 2 things.
First, it adds parsing of the 's' parameter parsing to DOM object construction of regexes
Second, it corrects the DOM property to be `dotAll` instead of `dotall`

For consistency's sake, all function names and calls were renamed with the finalized casing.

This resolves #2008
2022-09-18 11:01:27 +00:00
Moonchild 302d46a0f9 Merge pull request 'Media fixes to play nice with MSVC WPO/GL' (#2006) from twivi/UXP:optimize into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2006
Reviewed-by: Moonchild <moonchild@palemoon.org>
2022-09-14 09:42:09 +00:00
twivi d2683b0ff7 revert 82ac99acb5
revert Allow explicit inlines in libaom code, but still prevent automatic inlines due to compiler issues
2022-09-14 02:33:01 +00:00
twivi 92d5680b85 Updated libav/ffvpx patch files to help with upstream library 2022-09-13 14:33:32 +00:00
Moonchild f9a1ebf886 No issue - Stop pre-processing some files that don't have preprocessor statements in them. 2022-09-12 08:05:25 +00:00
twivi a68021d41e Fix ffvpx/libav architecture checks to use preprocessor instead, prevents breakage with LTCG 2022-09-11 21:51:08 +00:00
twivi 82ac99acb5 Allow explicit inlines in libaom code, but still prevent automatic inlines due to compiler issues 2022-09-11 21:49:56 +00:00
Moonchild c623c47157 Merge pull request 'Update IPC locking code.' (#2004) from athenian200/UXP:ipc-locking-update into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2004
2022-09-09 08:10:36 +00:00
Moonchild da835adb48 Merge pull request 'Fix build bustage with spell checker in GCC 12' (#2002) from jobbautista9/UXP:spellcheck-gcc12 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2002
2022-09-08 17:38:29 +00:00
Moonchild a9c9be4d21 Issue #80 - Re-unify most of gfx 2022-09-08 16:54:07 +00:00
Moonchild 0682d4ac0e No Issue - prevent build issue in MSVC due to libaom SIMD inlining. 2022-09-08 16:52:26 +00:00
Jeremy Andrews 77bca114d1 Issue #2003 - Update IPC locking code. 2022-09-08 08:10:11 -05:00
Job Bautista 59f6ae3d74 Issue #1995 - Fix build bustage in GCC 12
For some reason, GCC 12 is treating this include as a circular dependency.
See athenian200's analysis for more details.
2022-09-08 17:57:06 +08:00
Moonchild 1fba5c3cc7 Issue #80 - Re-unify most of the layout engine 2022-09-08 06:49:40 +00:00
Moonchild 3d99e06afe Issue #80 - Re-unify most of DOM 2022-09-08 06:49:09 +00:00
Moonchild ed2a457b0a Merge branch 're-unify' 2022-09-06 23:42:27 +00:00
Moonchild c927a660ea Issue #1720 - Follow-up: Explicitly include X11UndefineNone.h in
HTMLOptGroupElement.cpp to fix unified building on X11
2022-09-05 14:00:07 +00:00
Moonchild cf8bc4541d Issue #80 - Re-unify building of /js/src 2022-09-05 13:50:53 +00:00
Moonchild f4e39fc6f4 Revert "Issue #1676 - Part 4: Split builtin sources out of js/src/moz.build" 2022-09-05 13:28:53 +00:00
Moonchild d10904010a Revert "Issue #1676 - Part 5: Split devtools sources out of js/src/moz.build"
This reverts commit 24b835f0a9.
2022-09-05 13:25:24 +00:00
Moonchild 22886d3547 Revert "Issue #1676 - Part 6: Split ds sources out of js/src/moz.build"
This reverts commit eedfa63a1d.
2022-09-05 13:24:56 +00:00
Moonchild de87d59cfc Revert "Issue #1676 - Part 7: Split frontend sources out of js/src/moz.build"
This reverts commit 1396383aee.
2022-09-05 13:24:28 +00:00
Moonchild e67b9b52e3 Revert "Issue #1676 - Part 8: Fix up include for selfhosted.out.h"
This reverts commit bc450dab41.
2022-09-05 13:23:59 +00:00
Moonchild 821cba01be Revert "Issue #1676 - Part 9: Move DIRS down in js/src/moz.build" 2022-09-05 13:23:16 +00:00
Moonchild 8d79be38cc Revert "Issue #1676 - Part 10: Split gc sources out of js/src/moz.build"
This reverts commit 65eac50e2d.
2022-09-05 13:16:15 +00:00
Moonchild 55c83585d0 Revert "Issue #1676 - Part 11: Split irregexp sources out of js/src/moz.build"
This reverts commit 3d9bf5d7a3.
2022-09-05 13:15:38 +00:00
Moonchild 0ac1b38920 Revert "Issue #1676 - Part 12: Split jit sources out of js/src/moz.build"
This reverts commit 95e057e737.
2022-09-05 13:15:10 +00:00
Moonchild 2d5b40a675 Revert "Issue #1676 - Part 13: Split perf sources out of js/src/moz.build"
This reverts commit 383bc182e3.
2022-09-05 13:14:42 +00:00
Moonchild cbfbaf026f Revert "Issue #1676 - Part 14: Split proxy sources out of js/src/moz.build"
This reverts commit 6f76f1cb36.
2022-09-05 13:14:16 +00:00
Moonchild e17072f3ef Revert "Issue #1676 - Part 15: Split threading sources out of js/src/moz.build"
This reverts commit 2f50f543a2.
2022-09-05 13:13:49 +00:00
Moonchild b2ac2b28e0 Revert "Issue #1676 - Part 16: Split WASM sources out of js/src/moz.build"
This reverts commit 1abc696f87.
2022-09-05 13:13:23 +00:00
Moonchild 30a467bf67 Revert "Issue #1676 - Part 17: Put remaining source files which have debug code ifdef'd behind MOZ_DEBUG"
This reverts commit ff355fe9ac.
2022-09-05 13:12:57 +00:00
Moonchild e1f7b842fe Revert "Issue #1676 - Part 18: Move and separate top level sources from vm sources in js/src/moz.build"
This reverts commit 59511eb8dd.
2022-09-05 13:12:30 +00:00
Moonchild 42c4708b34 Revert "Issue #1676 - Part 19: Split ctypes sources out of js/src/moz.build"
This reverts commit cdf46e803b.
2022-09-05 13:12:02 +00:00
Moonchild 7e80662a24 Revert "Issue #1676 - Part 20: Split vtune sources out of js/src/moz.build"
This reverts commit fd1b2dc2b1.
2022-09-05 13:11:33 +00:00
Moonchild 982b7bf2a1 Revert "Issue #1676 - Follow-up: Put js/src (including vm), jit, and wasm back into unified sources."
This reverts commit a8a397fbce.
2022-09-05 13:10:47 +00:00
Moonchild b1b57cefa3 Merge pull request 'Stop using deprecated ext/hash_map and FreeBSD/clang fixes.' (#2001) from dbsoft/UXP:freebsdfix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2001
2022-09-05 11:13:36 +00:00
Brian Smith 6619e475ab No issue - Fix OutputVariable visibility issue, when building with clang. 2022-09-05 04:47:15 -05:00
Brian Smith f369fbd6f7 Issue #2000 - Stop using deprecated ext/hash_map.
This has been long deprecated in favor of std::unsorted_map. Since all platforms
are using modern compilers now it should not be a problem to switch over to
std::unsorted_map in the single place hash_map is used. This allows us to build
on platforms which have removed hash_map such as FreeBSD.
2022-09-04 23:05:10 -05:00
Brian Smith 2db2e0fe58 No issue - Fix FreeBSD NSS build by adding FreeBSD to the list. 2022-09-04 16:57:20 -05:00
Moonchild 92452d7614 Issue #80 - reinstated unified building for some large chunks of our code.
This should reduce compile complexity saving time and reducing linker stress.
2022-09-04 11:50:24 +00:00
Moonchild 74124f150b Issue #1999 - Switch to the unorm2 API for String.normalize()
Resolves #1999
2022-09-02 19:29:43 +00:00
Moonchild 4078c2dd1e Merge pull request 'Support EventSource in workers' (#1997) from dbsoft/UXP:1990fix2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1997
2022-09-01 20:56:43 +00:00
Moonchild 6638cc1e6d [No issue] Don't use gfxXlibSurface in GLContextGLX. 2022-08-31 11:46:12 +00:00
Moonchild ea31efd98e Merge pull request 'Fix a couple miscellaneous Mac specific issues.' (#1998) from dbsoft/UXP:macfixes into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1998
2022-08-30 07:55:06 +00:00
Brian Smith 5f1ef110ff No Issue - Fix building with WebRTC enabled on non-Intel Macs.
int3 is Intel only, so don't use it on ARM, use __builtin_trap() instead.
2022-08-29 18:30:39 -05:00
Brian Smith 6d127920f8 No Issue - Fix building on MacOS Big Sur.
The python binary copied reports a valid signature on Big Sur and thus codesign fails.
Add the -f option so it overwrites the supposedly valid signature. Other versions are
either already unsigned or the install_name_tool invalidates the signature.
2022-08-29 18:22:25 -05:00
Moonchild b1d148fd52 Issue #1996 - Implement at() method on built-in indexables.
Resolves #1996
2022-08-29 21:52:04 +00:00
Moonchild 51204afc90 Issue #1956 - Fix C++ code standard conformance issue in webaudio 2022-08-29 01:01:43 +00:00
Moonchild 6d0df6d506 Issue #1956 - Fix C++ code standard conformance issue in StoreBuffer.h 2022-08-28 15:04:19 +00:00
Brian Smith 860800629b Issue #1990 - Part 6 - Fix for infinite loop from Release() on shutdown worker.
If the worker is shut down, call Cancel() on the Runnable, this will prevent
nsInputStreamReadyEvents to be called again when deallocated.
2022-08-26 14:21:47 -05:00
Moonchild ce11609fe9 Merge pull request 'Support TURN TLS in WebRTC' (#1993) from Basilisk-Dev/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1993
2022-08-26 16:10:54 +00:00
Brian Smith d6f18548a6 Issue #1990 - Part 5 - Common up the skippability implementations that are basically copy/pastes of the DOMEventTargetHelper one.
Mozilla Bug Bug 1333540. Skipped the renamed of various functions, but otherwise a direct port.
2022-08-25 21:59:08 -05:00
Moonchild 29c1150eef Issue #1975 - Follow-up: Enable Origin header on same-origin by default.
I've used this setting without ill effects for weeks, including visiting
many a cloudflare-backed site. There is no issue there.
2022-08-24 02:48:44 +02:00
Moonchild db1c5741cd Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2022-08-24 00:51:48 +02:00
Moonchild 0488d0b40b Issue #1994 - Align CSS.supports with the current spec.
The current spec makes "implicit" parentheses a thing for feeding
css strings to CSS.supports()
The current spec also implies CSS is a namespace, not an interface
2022-08-24 00:50:36 +02:00
Brian Smith bbc3e455b0 Issue #1990 - Part 4 - Add a number of Mozilla patches from between Part 1 and 2.
1334081 - prevent null pointer dereference in StreamReaderFunc.
1330631 - Convert the EventSourceImpl::Message to be UniquePtr.
1337619 - Reset mGoingToDispatchAllMessages flag before early return.
2022-08-22 13:23:34 -05:00
Basilisk-Dev aacd52f00f Issue #1991 - backport Mozilla bug 1266667 2022-08-20 22:08:28 -04:00
Basilisk-Dev 0dad0315dd Issue #1991 - Remove console log stating TURNS is not supported
Port of Mozilla bug 1383575
2022-08-20 14:23:06 -04:00
Basilisk-Dev d49569ca0d Issue #1991 - Support TURN TLS Support in WebRTC
Backport of Mozilla bug 1056934
2022-08-20 14:21:43 -04:00
Moonchild d262539fb9 Merge pull request 'Use logical coordinates in flex containers.' (#1987) from athenian200/UXP:flex-container-changes into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1987
2022-08-20 11:59:03 +00:00
Brian Smith 3596656ea4 Issue #1990 - Part 3 - Fix build issue due to missing nsIThreadRetargetableStreamListener definition. 2022-08-18 17:57:47 -05:00
Brian Smith 10dbd42596 Issue #1990 - Part 2 - Fix crash when incorrectly access EventSourceImpl::mEventSource. - Mozilla Bug 1333099 2022-08-18 16:35:40 -05:00
Brian Smith b52731f9e0 Issue #1990 - Part 1 - EventSource for workers - Mozilla Bug 1267903 2022-08-18 16:30:38 -05:00
Jeremy Andrews 2fc5e3ad7d Issue #1986 - Add in reftests for new behavior.
Almost forgot to do this. This is in case we need to revisit this for
regressions in the future and the tests are not available online. Never know
when they might come in handy again.
2022-08-18 13:27:43 -05:00
Jeremy Andrews 544366e301 Issue #1988 - Use libc's arc4random where available.
Configure was defining HAVE_ARC4RANDOM_BUF on systems that have it this whole
time, so the OS specific ifdefs weren't necessary. Maybe the flag that was in
the original patch was an obsolete name for that flag...
2022-08-17 20:43:57 -05:00
Jeremy Andrews ef4eb3f926 Issue #1986 - Part 2: Add IsItemInlineAxisMainAxis() and rework some nsFrame code.
It turns out part 10 was actually needed, but Bug 1449838 had a significantly
better version of what that code does that was easy enough to backport to what
we have. As far as I can tell, this passes the relevant reftests now.
2022-08-16 16:11:48 -05:00
Jeremy Andrews 2a57b39dbc Issue #1986 - Use logical coordinates in flex containers.
This mostly reworks the way nsFlexContainerFrame handles things so that it can
deal with more than just height.
2022-08-16 02:14:53 -05:00
Jeremy Andrews 50bd3acb5b Issue #1970 - Follow-up: Better fix for Unix that works on newer GCC.
My previous fix apparently only worked with GCC 7. Having that return at the
end doesn't seem to hurt anything on Windows, so I see no reason to ifdef it.

I don't remember where I heard this, but I vaguely remember hearing that
ending a function without a return statement may be undefined behavior that
differs between compilers and operating systems. If so, that would explain why
this has behaved so differently across platforms and compilers.
2022-08-13 11:44:09 -05:00
Jeremy Andrews 8fa66368a0 Issue #1970 - Follow-up: Fix GTK3 build for SunOS and CentOS.
This seems to work for me, but I haven't tested anything else yet. Still, seems better to have a fix in the tree than to leave it as-is.
2022-08-13 06:47:27 -05:00
Moonchild d3f82662f5 No issue - Remove directive 4
This was a control issue way back when. Since this only really relates to
deviating build configs anymore and no longer to critical system libs of note,
there's no point in retaining this overbearing control through build errors.
People have clear instructions how to build - it is their responsibility to
stick to those.
2022-08-11 19:33:34 +00:00
Jeremy Andrews 7a2f786e0c Issue #1956 - Account for multiple DLL files in newer CRT.
The wildcard seems to work well here for getting files included in the
final target.
2022-08-03 08:53:40 -05:00
Moonchild a5696dc110 Merge pull request 'Issue #1982 - Fix libopus webrtc build breakage' (#1983) from Basilisk-Dev/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1983
2022-07-30 20:20:17 +00:00
Basilisk-Dev eab116cde1 Issue #1982 - Fix libopus webrtc build breakage 2022-07-30 15:36:03 -04:00
Moonchild a46ea601f7 Merge pull request 'Fix build bustage for applications where WebRTC building is enabled.' (#1981) from jobbautista9/UXP:1980-rtcfix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1981
2022-07-30 07:21:46 +00:00
Job Bautista fad8235ad2 Issue #1980 - Fix build bustage for applications where WebRTC building is enabled.
Turns out we have a duplicate VoidFunction callback in the WebIDLs. Per
 Mozilla bug 1324169, we should remove this callback from
 RTCPeerConnection.webidl and let Function.webidl handle it instead.
The AttributeError faced by the new Basilisk dev wasn't helpful at all;
 and turns out Mozilla had this exact same issue on bug 1505504. We're
 also backporting that just in case we encounter another case of
 callback duplication.
Also doing a minor fix in the MicroTaskRunnable class which Moonchild
 forgot to do while working on Issue #1895.
2022-07-30 13:24:40 +08:00
Moonchild 32c8246e16 Merge pull request 'Revert "Issue #1806 - Follow-up: Fix WebRTC issues with cubeb update."' (#1979) from Basilisk-Dev/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1979
2022-07-29 18:00:14 +00:00
Basilisk-Dev 27bbc35768 Revert "Issue #1806 - Follow-up: Fix WebRTC issues with cubeb update."
This reverts commit d0acadd727.
2022-07-29 13:14:25 -04:00
Moonchild d60f501490 Merge branch '1970-form-focusring-styling' 2022-07-29 13:24:43 +00:00
Moonchild 900107da1b Merge pull request 'Allow WAV into media document.' (#1978) from jobbautista9/UXP:1977-wav-videodocument into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1978
Reviewed-by: Moonchild <moonchild@palemoon.org>
2022-07-29 13:10:12 +00:00
Job Bautista 8a10b7bf8b Issue #1977 - Bring back old behavior behind a pref.
I've thought about this before creating the issue, and Moonchild
 wanted this as well.
2022-07-29 20:14:27 +08:00
Jeremy Andrews b673400639 Issue #1312 - Fix potential crashes in MailNews.
These are straightforward, one-line changes with no obvious dependencies. Probably could have been taken a long time ago.

Ref: BZ 1638634, 1606091
2022-07-28 08:50:59 -05:00
Job Bautista 28e73defa3 Issue #1977 - Allow WAV into media document.
Based on https://hg.mozilla.org/integration/mozilla-inbound/rev/b3f7abd15aeb
2022-07-27 14:16:57 +08:00
Moonchild cfe63a2434 [NSS] Version bump 2022-07-27 04:47:25 +00:00
Moonchild 0aa19bce59 [NSS] Fix uninitialized value in cert_ComputeCertType. 2022-07-27 04:42:20 +00:00
Moonchild ef4a433814 [NSS] Avoid potential data race on primary password change. 2022-07-27 04:17:05 +00:00
Moonchild 713d6ed1b4 [NSS] protect SFTKSlot needLogin with slotLock. 2022-07-27 03:06:40 +00:00
Moonchild 515ba7c887 [DOM] Add extra check for performance API Next Hop protocol 2022-07-27 02:39:58 +00:00
Moonchild 562ff3e9ab Merge pull request 'Implement Origin header CSRF mitigation.' (#1976) from jobbautista9/UXP:origin-csrf into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1976
2022-07-25 20:41:23 +00:00
Moonchild 7802bdb5f7 Merge pull request 'Implement Intl.RelativeTimeFormat.' (#1974) from jobbautista9/UXP:1969-relativetimeformat-take3 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1974
2022-07-25 13:44:43 +00:00
Job Bautista b20b9797dc Issue #1975 - Implement Origin header CSRF mitigation.
Backported from Mozilla bug 446344.
2022-07-25 18:56:46 +08:00
Job Bautista 824c2f0d40 Issue #1969 - Implement Intl.RelativeTimeFormat.
Based on Mozilla bugs 1270140, 1504656, 1483545, and 1504334.
Took note of Mozilla bug 1379222 which changed GetPrototypeFromCallableConstructor
 to GetPrototypeFromBuiltinConstructor.
There are many other changes I did myself since the initial implementation by
 Mozilla wouldn't work with this codebase.
2022-07-25 14:07:36 +08:00
Moonchild 6542ca6bcd Merge pull request 'Upgrade ICU to 63.2 and Unicode to 11.0' (#1973) from jobbautista9/UXP:1971-icu63-forreal into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1973
2022-07-24 20:31:14 +00:00
Moonchild b395befdbd Bump platform version 2022-07-24 17:53:25 +00:00
Moonchild 071412ab29 Issue #1970 - Part 7: Restore proper spacing in select for CJK/asian
The issue is that select elements may contain some non-Latin characters that
need extra block-size to display than the one line-height calculated by using a
Latin font spec in the style.
Before this patch, when a control has an unconstrained block-size, we set
the element's block-size to one line-height in Reflow(), which is intended to
properly initialize `BlockReflowInput::mMinLineHeight` since it uses
`line-height:-moz-block-height`.

However, this simply prevents the display from choosing a larger block-size
after the reflow occurs. Previously, this discrepancy was absorbed by the extra
padding present to make select elements the same intrinsic size as buttons, but
since we did away with that, we're losing the extra space and the font glyphs
get clipped.

This patch fixes the issue by carrying the computed line height over to the
element's display so that its computed block-size is still unconstrained.
This way it can accommodate taller characters in the display text.

After this patch, a <select><option> containing non-Latin characters should have
the same block-size as <button>, and no characters should be clipped.
2022-07-24 17:25:36 +00:00
Job Bautista b9454f2887 Issue #1971 - Part 6: Updating ICU requires a clobber. 2022-07-24 21:09:52 +08:00
Job Bautista 3b93fb3645 Issue #1971 - Part 5: Update Spidermonkey for Unicode 11.
I forgot to do this while working on issue #326.
2022-07-24 21:09:02 +08:00
Job Bautista b6185a27f2 Issue #1971 - Part 4: Generated files for Unicode 11.0. 2022-07-24 21:07:13 +08:00
Job Bautista be2e0f9830 Issue #1971 - Part 3: Update unicharutil perl scripts for Unicode 11 upgrade.
ICU 62 (and therefore 63) requires at least Unicode 11.
2022-07-24 21:05:07 +08:00
Job Bautista 62636946ff Issue #1971 - Part 2: Update ICU source to 63.2. 2022-07-24 21:03:27 +08:00
Job Bautista 970b041574 Issue #1971 - Part 1: Update build system for ICU 63.2 upgrade. 2022-07-24 20:54:59 +08:00
Moonchild 5487515bca Issue #1970 - Part 6: Rename CalcLineHeight(), and cache used line height
To better distinguish the calculation of line height (still present with args)
and simply getting the line height without args, it's now called GetLineHeight()
This also introduces `mLineHeight` to cache specifically calculated line heights
that aren't "auto" (which is a magic value), and it opens up the possibility to
override it in Part 7.
2022-07-23 23:35:18 +00:00
Moonchild 5dace0043a Issue #1970 - Part 5: Move combobox/select padding to the select rule.
This doesn't change behavior by default but allows authors to remove the padding
previously enforced to align with focus ring padding, if they wish to.
2022-07-23 17:36:23 +00:00
Jeremy Andrews 3f0dc49164 Issue #1962 - Follow-up: Fix 32-bit build and remove unused clang-cl codepath. 2022-07-23 07:17:30 -05:00
Job Bautista 81f3903598 Issue #1962 - Follow-up: Fix build issues on Windows.
Do not pass -Wno-type-limits to MSVC.
Restore MSVC check for x86_vc
2022-07-22 21:23:21 +00:00
Job Bautista 6957412ab5 Issue #1962 - Update libtheora.
Removed some obsolete patches that were either backports from newer
 svn revisions, or a fix for older, non-applicable assemblers.
Update our own README to account for upstream's migration to git.
I didn't remove the bug 703135 patch as it's for MSVC it seems, and
 we still use MSVC for Windows.
Also deleted some unneeded upstream code deleted by Mozilla as well.
2022-07-22 21:23:07 +00:00
Moonchild fa714cba35 Issue #1970 - Part 4: Don't overflow -moz-focus-inner border. 2022-07-22 18:25:57 +00:00
Moonchild d73c4c046d Issue #1970 - Part 3: Update reftests. 2022-07-22 18:23:50 +00:00
Moonchild 3d954cb29c Issue #1970 - Part 2: Remove the extra padding on buttons
Extra padding was created for a prospective -moz-focus-inner ring.
We now just size that ring the same as the content frame, inflated by its CSS
padding.
2022-07-22 15:06:19 +00:00
Moonchild 1aa650b8ac Issue #1970 - Part 1: Remove unused moz-focus-outer code for buttons. 2022-07-22 14:47:45 +00:00
Moonchild e6b3e4ebed Revert "Issue #1962 - Update libtheora."
This reverts commit bd497f7f83.
2022-07-22 14:45:49 +00:00
Moonchild a7a76f9a29 Merge pull request 'Update libtremor.' (#1965) from jobbautista9/UXP:tremor-update into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1965
2022-07-22 08:01:42 +00:00
Moonchild 590835c616 Merge pull request 'Update libtheora.' (#1963) from jobbautista9/UXP:theora-update into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1963
2022-07-22 08:01:22 +00:00
Moonchild 3bb273771a Merge pull request 'Remove mozprotocol handler.' (#1968) from jobbautista9/UXP:mozprotocol-remove into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1968
2022-07-22 08:01:10 +00:00
Job Bautista ba7b5589ab Issue #1967 - Remove moz://a from mochitest
While we don't use mochitest AFAIK, we still want a clean removal.
2022-07-22 15:53:06 +08:00
Job Bautista 69a867fd3a Issue #1967 - Remove mozprotocol handler (moz://a easter egg). 2022-07-22 10:40:33 +08:00
Moonchild c6c045a7f7 Issue #1966 - Remove support for Firefox Marketplace "apps"
Because UXP may be a platform, but it's not a mobile OS.
2022-07-22 02:30:42 +00:00
Moonchild a5421542e5 Issue #1837 - Remove unused build back-ends from the tree.
This leaves just use of recursive make to build applications.
2022-07-21 08:39:43 +00:00
Job Bautista aa3828319a Issue #1964 - Update libtremor.
Also removed mozilla patches that are already applied upstream.
2022-07-19 21:59:34 +08:00
Job Bautista bd497f7f83 Issue #1962 - Update libtheora.
Removed some obsolete patches that were either backports from newer
 svn revisions, or a fix for older, non-applicable assemblers.
Update our own README to account for upstream's migration to git.
I didn't remove the bug 703135 patch as it's for MSVC it seems, and
 we still use MSVC for Windows.
Also deleted some unneeded upstream code deleted by Mozilla as well.
2022-07-19 17:26:42 +08:00
Moonchild 9800079bc2 Merge pull request 'Improve stack size limits for all targets.' (#1961) from 1805-stacksize into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1961
2022-07-17 06:42:01 +00:00
Jeremy Andrews 8442b959f8 Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2022-07-16 11:12:01 -05:00
Jeremy Andrews ef89146385 Issue #1956 - Work around UTF-8 issue when parsing JSON with Python 2 on some Windows environments.
This is a known issue with Python 2 interacting badly with some Windows configurations. Mozilla encountered it as well.

Ref: BZ 1362872
2022-07-16 11:07:35 -05:00
Moonchild 286e7ac205 Issue #1960 - Convert async property syntax to async function syntax in
DownloadUIHelper.jsm
2022-07-16 01:14:44 +00:00
Moonchild f63a7ee3fd Issue #1805 - Follow-up: Include the same headers for Solaris as well to
future-proof gcc versions.
2022-07-15 19:48:18 +00:00
Moonchild 325a49588a Issue #1805 - Follow-up: provide for Linux builds using rlimit and min/max. 2022-07-15 16:03:43 +00:00
Moonchild 00f22ddbe6 Issue #1805 - Improve stack size limits for all targets.
This allows us to use a greater rendering depth for exceedingly-deep DOM trees
in layout, better matching what mainstream browsers are capable of. Note that
for 32-bit Windows the stack size MUST be set to larger than the default or Bad
Things Will Happen™ - we use 1.5 MB for this as a carefully-tuned value.

This needs to be capped specifically for JS use because some JavaScript
obfuscators deliberately trigger stack overflows and would lock up the browser
otherwise as long as there's still stack space to abuse. For web compatibility
we therefore limit this to 2MB in JS only (3x for ASAN) while still allowing
a greater depth for the layout engine.
2022-07-15 11:56:12 +00:00
Jeremy Andrews dcb027a718 Issue #1956 - Allow debugger to work on newer MSVC.
Newer MSVC was failing to find the devenv executable for ./mach run --debug
This isn't the prettiest solution, but at least it's better than just relying
on a hardcoded path.
2022-07-14 23:03:39 -05:00
Moonchild 08c90e00b9 Merge remote-tracking branch 'athenian200/msvc2022-linker-fix' 2022-07-12 15:46:40 +00:00
Moonchild 9ef5006592 Issue #1959 - Don't apply CSPs to explicit data documents and images.
This resolves #1959
2022-07-12 12:48:06 +00:00
Jeremy Andrews 61f1adc54d Issue #1956 - Fix symbol visibility issue more elegantly.
All it needed was __declspec(dllexport) on the function I was copy/pasting all over the place...
2022-07-12 01:39:20 -05:00
athenian200 68bfe68581 No Issue - Insert missing typedef for SunOS.
We definitely have uint64_t on SunOS. Someone probably just forgot to finish filling out the list...
2022-07-09 12:38:53 +00:00
Jeremy Andrews 1fadb7fa2f Issue #1956 - Use preprocessor to work around strange template behavior with 32-bit MSVC2022. 2022-07-06 12:52:23 -05:00
Jeremy Andrews de383de310 Issue #1956 - Follow-up: Fix weird linker issue on 32-bit MSVC2022.
I moved Range<bool>::Merge and Range<bool>::FinalizeMerge from MediaTrackConstraints.cpp, into MediaTrackConstraints.h. The header file previously contained only a forward declaration of functions implemented in the .cpp, which can be a problem if other parts of the program are including this header expecting to find the function.
2022-07-05 22:19:08 -05:00
Moonchild c29f3e8dba Merge pull request 'Issue #1956 - Fix AV1 on MSVC2022 32-bit build.' (#1958) from athenian200/UXP:libaom_msvc2022_fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1958
Reviewed-by: Moonchild <moonchild@palemoon.org>
2022-07-05 11:35:48 +00:00
Jeremy Andrews 932335ea76 Issue #1956 - Fix AV1 on MSVC2022 32-bit build. 2022-07-05 06:16:00 -05:00
Moonchild ac9e93e5e6 [XPCOM] Crash safely when TArray replacements are OOB.
In the unlikely event of TArray element replacement calls are OOB, crash safely
with a debug breakpoint instead of corrupting memory.
2022-07-03 15:38:40 +00:00
Moonchild 2485e982f3 [DOM] use the sanitizer to restrict href in svg:use to fragment-only URLs 2022-07-03 15:37:58 +00:00
Moonchild ae9de9b891 [network] Clear PAC loader when the load failed 2022-07-03 12:28:57 +00:00
Moonchild 438c04383f Update NSS to 3.52.7 2022-07-03 11:30:19 +00:00
Moonchild c830a5f497 [DOM media] Remove potentially unsafe type accesses when debug logging 2022-07-03 10:21:06 +00:00
Moonchild 164800800d [network] Clean up and update the list of external protocol handlers. 2022-07-03 08:12:45 +00:00
Moonchild c4e16d8b64 Merge pull request 'Allow building with newer MSVC versions.' (#1955) from athenian200/UXP:msvc-detection-update into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1955
2022-07-02 21:51:14 +00:00
Jeremy Andrews 057c632bee Issue #1956 - Allow building with newer MSVC versions. 2022-07-02 13:05:26 -05:00
Moonchild 049feac2c8 Merge pull request 'Backport Function.toString changes' (#1954) from martok/UXP-contrib:1952-proxy into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1954
2022-07-02 16:04:39 +00:00
Martok 9221d44207 Issue #1952 - m-c 1440468: Proxied functions can't be passed to Function.prototype.toString.call() 2022-07-01 20:25:05 +02:00
Martok 4bf20fc91e Issue #1952 - m-c 1383775: Clean up function toString/toSource code, remove remnants of source decompiler 2022-07-01 20:25:01 +02:00
Martok 2a10574d76 Issue #1952 - m-c 1380962/2: Remove unnecessary lambda function in FunctionToString 2022-07-01 20:24:52 +02:00
Martok 16b11770a1 Issue #1952 - m-c 1380962/1: Merge append calls when assembling the source string for native functions 2022-07-01 20:21:54 +02:00
Martok 7277d7c6d7 Issue #1952 - m-c 1371593: Avoid repeated string atomizations when retrieving the unresolved name of a bound function 2022-07-01 20:21:43 +02:00
Martok 0fe63b74b1 Issue #1952 - m-c 1365387: Optimize FinishBoundFunctionInit by delaying atomizing the function name 2022-07-01 20:21:22 +02:00
Moonchild 07689ab83f Merge pull request 'Update soundtouch library to 2.3.1' (#1951) from jobbautista9/UXP:soundtouch-take2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1951
Reviewed-by: Moonchild <moonchild@palemoon.org>
2022-07-01 12:20:55 +00:00
Moonchild 77e923c146 Merge pull request 'Update nestegg library' (#1950) from jobbautista9/UXP:nestegg into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1950
Reviewed-by: Moonchild <moonchild@palemoon.org>
2022-07-01 11:55:05 +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 2d4950d2ae Issue #1949 - Part 2: Disable exceptions in soundtouch's STTypes.h.
I don't know how Mozilla was able to build this without defining
 ST_NO_EXCEPTION_HANDLING, but looks like we have to do it so that
 the compiler doesn't complain about -fno-exceptions
2022-06-30 10:49:38 +08:00
Job Bautista 6056469e41 Issue #1949 - Part 1: Update soundtouch library to 2.3.1. 2022-06-30 10:48:26 +08:00
Job Bautista 8a92f69986 Issue #1948 - Update nestegg library.
I separated out the AVC and AAC support code into a patch file so that
 the upstream code can be updated freely without having to re-add AVC
 and AAC support again. At least if the upstream changes are not too
 extensive...
This should effectively backport Mozilla bug 1539686, which allows the
 browser to parse the color information from WebM videos that uses HDR.
2022-06-30 10:31:31 +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
Moonchild 8c1064bc1c Merge pull request 'Update libaom to 3.4.0' (#1938) from jobbautista9/UXP:aom into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1938
2022-06-28 17:09:53 +00:00
Job Bautista 5654295d83 Issue #1937 - Follow-up: Remove some unnecessary includes and sources from sources.mozbuild
These were used only by the encoder, which has been excluded from the build.
2022-06-28 19:20:29 +08:00
Moonchild e6baad1f5f Issue #1937 - Follow-up: Exclude aom_encoder.c/h from our build
We don't need an encoder!
2022-06-28 19:09:45 +08:00
Moonchild 0051421990 Merge pull request 'Fix volume handling in sndio backend.' (#1945) from jobbautista9/UXP:sndio-volumehandling into master
Untested by me but assuming this all works as it's straightforward enough of a change otherwise.
2022-06-28 09:19:07 +00:00
Moonchild 58e418aeb0 Merge pull request 'Fix building libjpeg-turbo on ARM.' (#1947) from jobbautista9/UXP:libjpeg into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1947
2022-06-28 00:02:38 +00:00
Moonchild 904af3005d Issue #21 - Follow-up: Remove some left-over telemetry plumbing. 2022-06-27 08:03:48 +00:00
Moonchild 7e5ab94e0c Issue #1053 - Follow-up: Correct conditional define on POSIX systems.
This conditional was incorrectly changed when removing Android support.
This potentially causes issues on Linux systems by not using pthreads correctly,
which may lead to high idle CPU usage.
2022-06-27 08:02:42 +00:00
Job Bautista ae8639dc24 Issue #1933 - Follow-up: Remove cmakedefine directives from neon-compat.h.
Apparently it wasn't preprocessed yet. Just took the version from
 mozilla-central, and it worked, according to dbsoft.
2022-06-27 14:10:21 +08:00
Job Bautista c56a635ba2 Issue #1937 - Follow-up: Add missing sources, and remove unneeded ones in sources.mozbuild
This should (hopefully) fix building for Windows.
The ones I removed are not used for decoding, but for encoding, which
 we don't need.
2022-06-27 10:11:33 +08:00
Job Bautista f8767c563d Issue #1933 - Follow-up: Fix building on ARM.
neon-compat should be imported as a .h header, not an .in file.
2022-06-27 09:10:56 +08:00
Job Bautista 79e782e53f Issue #1944 - Follow-up: Make it clear that volume is a float.
1. => 1.0, 0. => 0.0
2022-06-27 02:14:05 +08:00
Job Bautista adafcc36fc Issue #1937 - Follow-up: Add missing sources and includes in sources.mozbuild 2022-06-27 02:07:45 +08:00
Job Bautista 411e6879ee Issue #1937 - Follow-up: Fix sources.mozbuild not having exports
Thankfully I already redundantly edited this file myself before to
 account for updates in the source, and backed this up to another
 location just in case the shell script breaks my build files,
 which it did!
2022-06-26 22:42:56 +08:00
Moonchild 9a52ed3bfb Merge pull request 'Update libvorbis to 1.3.7' (#1942) from jobbautista9/UXP:vorbis37 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1942
2022-06-26 11:48:09 +00:00
Moonchild a08f152454 Merge pull request 'Update libwebp to 1.2.2' (#1940) from jobbautista9/UXP:libwebp into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1940
2022-06-26 11:47:44 +00:00
Moonchild 20c80bcbc1 Merge pull request 'Update libogg to 1.3.5' (#1936) from jobbautista9/UXP:libogg into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1936
2022-06-26 11:47:07 +00:00
Moonchild 016efb9f37 Merge pull request 'Update libjpeg-turbo to 2.1.3' (#1934) from jobbautista9/UXP:libjpeg into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1934
2022-06-26 11:46:49 +00:00
Moonchild dcddfbe7af Merge pull request 'Remove support for non-ICU unicode character property tables.' (#1932) from jobbautista9/UXP:326-nukenonicu into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1932
2022-06-26 11:41:56 +00:00
Moonchild 4a1f2294a5 Merge pull request 'Update Unicode to version 10.0, and UTR-50 data to version 17' (#1931) from jobbautista9/UXP:326-u10-take2 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1931
2022-06-26 11:41:11 +00:00
Job Bautista f9e0ed9849 Issue #1944 - Fix volume handling in sndio backend.
Backported from Mozilla bug 1467882.
2022-06-26 19:20:24 +08:00
Job Bautista 61cd8ae52b Issue #1941 - Update libvorbis to 1.3.7. 2022-06-26 14:12:52 +08:00
Job Bautista 76f825276d Issue #1939 - Part 2: Update libwebp source. 2022-06-26 12:52:04 +08:00
Job Bautista 3c7fcec8a0 Issue #1939 - Part 1: Update build system for libwebp. 2022-06-26 12:51:41 +08:00
Job Bautista b900a6e486 Issue #1937 - Part 2: Update libaom source. 2022-06-25 18:15:40 +08:00
Job Bautista e3fd2e48e0 Issue #1937 - Part 1: Update build system for libaom. 2022-06-25 18:15:10 +08:00
Job Bautista a2cc16a276 Issue #1935 - Update libogg to 1.3.5
I've also added some notes in the update.sh script that should've been
 documented, as well as changed README to README.md which Mozilla
 somehow forgot to do when they updated to 1.3.3...
2022-06-25 11:31:22 +08:00
Job Bautista c6c6ba4e2d Issue #1933 - Part 2: Update libjpeg-turbo source. 2022-06-24 22:35:22 +08:00
Job Bautista 0f61aed51f Issue #1933 - Part 1: Update build system for libjpeg-turbo. 2022-06-24 22:33:06 +08:00
Job Bautista 2c92077deb Issue #326 - Part 6: Regenerate Unicode data tables with the stripped-down tool 2022-06-23 15:45:09 +08:00
Job Bautista fcc171ddb7 Issue #326 - Part 5: Simplify the genUnicodePropertyData.pl tool to generate only the data we need to supplement ICU properties
Backported from Mozilla bug 1402271.
Some removals were already done by Part 1b.
2022-06-23 15:44:03 +08:00
Job Bautista bbb68510ee Issue #326 - Part 4: Update Unicode data to release 10.0
genUnicodePropertyData.pl's output:
 unknown ICU script MASARAM_GONDI at ../tools/genUnicodePropertyData.pl line 442, <FH> line 2641.
 unknown ICU script SOYOMBO at ../tools/genUnicodePropertyData.pl line 442, <FH> line 2663.
 unknown ICU script ZANABAZAR_SQUARE at ../tools/genUnicodePropertyData.pl line 442, <FH> line 2679.
 Data for CharProp2 = 14864
 Data for FullWidth = 2176
 Data for FullWidthInverse = 2688
 Total data = 19728
2022-06-23 13:28:04 +08:00
Job Bautista d4d80438a3 Issue #326 - Part 3: Explicitly make the Script enum a 16-bit type
This is so we can add a field to gfxShapedWord without making it bigger.
Backported from Mozilla bug 1353000.
2022-06-23 13:23:20 +08:00
Moonchild 785a7c8198 Merge pull request 'Update Unicode to version 9.0, and UTR-50 data to version 16' (#1929) from jobbautista9/UXP:326 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1929
2022-06-22 15:17:51 +00:00
Job Bautista 52da5f2644 Issue #326 - Part 2: Update UTR-50 data to version 16
Based on Mozilla bug 1288961.
2022-06-22 18:09:59 +08:00
Job Bautista aabe1e7517 Issue #326 - Part 1c: Generated files for Unicode 9.0.
In order to generate these files, refer to
 https://wiki.mozilla.org/I18n:Updating_Unicode_version
For those too lazy to go to the link (or if the link no longer works), we need the
 following files from http://www.unicode.org/Public/9.0.0/ucd/:
 - UnicodeData.txt
 - Scripts.txt
 - EastAsianWidth.txt
 - BidiMirroring.txt
 - HangulSyllableType.txt
 - SpecialCasing.txt
 - ReadMe.txt (to record version/date of the UCD)
 - Unihan_Variants.txt (from Unihan.zip)
 As well as Identifier*.txt from http://www.unicode.org/Public/security/9.0.0/,
 which should be put in a "security" subdirectory under the UCD folder, and
 http://www.unicode.org/Public/vertical/revision-15/VerticalOrientation-15.txt put
 in a "vertical" subdirectory.
I suggest downloading all files with GetEmAll, just in case.
Change the perl command a bit, as the guide seems to be outdated:
 perl ../tools/genUnicodePropertyData.pl /path/to/platform/gfx/harfbuzz/src/ /path/to/platform/intl/icu/source/common/unicode/ /path/to/UCD-directory/
2022-06-22 18:07:24 +08:00
Job Bautista bc08ae75fe Issue #326 - Part 1b: Remove outdated ENABLE_INTL_API code.
ENABLE_INTL_API has been removed since Issue #324.
2022-06-22 18:06:20 +08:00
Job Bautista 26adb1ff41 Issue #326 - Part 1a: Update character property table generator script for Unicode 9, and adjust APIs to fit the new identifier-type property model
Backported from Mozilla bug 1281448.
2022-06-22 16:38:14 +08:00
Moonchild 6558fea833 Merge pull request 'Update image/Orientation.h' (#1927) from jobbautista9/UXP:1926 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1927
2022-06-21 16:14:08 +00:00
Moonchild 4af7884929 Merge pull request 'Collected ports for async functions in the JS parser' (#1924) from martok/UXP-contrib:1918-asyncgenerator into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1924
2022-06-21 15:14:23 +00:00
Moonchild 27347bc827 Merge pull request 'Final set of Apple Silicon (ARM64) Macintosh changes.' (#1923) from dbsoft/UXP:AppleARMPart4 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1923
2022-06-21 14:25:47 +00:00
Moonchild e837b693ba Merge pull request 'Table sticky and directionality handling improvements' (#1922) from jobbautista9/UXP:1916-finalpr3 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1922
2022-06-21 13:44:08 +00:00
Job Bautista 334c951f93 Issue #1926 - Update image/Orientation.h 2022-06-19 20:03:54 +08:00
Martok 324f6a0ea3 Issue #1918 - m-c 1353693: Correct parsing of async generator methods 2022-06-17 21:12:01 +02:00
Martok a492c5bdb9 Issue #1918 - m-c 1353690: Properly exclude |await| from consideration as a |let| variable name in async functions, so that a newline between the two separates them into two distinct expressions. 2022-06-17 21:02:38 +02:00
Martok 5d0bc8e811 Issue #1918 - m-c 1345960: Handle shorthand property and destructuring with async keyword properly.
This was previously partially present, but got lost along the way
2022-06-17 21:00:15 +02:00
Martok a90b552eb4 Issue #1918 - m-c 1358246: Report syntax error for stray "async" keyword in object literal property name. 2022-06-17 20:42:40 +02:00
Job Bautista 165df0f7b5 Issue #1916 - Part 3: Sticky/relative position fixes in nsTableWrapperFrame.
Backported from Mozilla bug 1472602.
Didn't include the change in StickyScrollContainer.cpp because it breaks
 linking to libxul.so in the end. It's not important anyway.
2022-06-17 21:33:03 +08:00
Job Bautista 9842b6054c Issue #1916 - Part 2: Add a flag to allow FinishReflowChild to handle relative positioning, and convert the caller for which this makes sense.
Backported from Mozilla bug 1547759.
2022-06-17 19:16:53 +08:00
Job Bautista b3cacb2c3a Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class.
Backported from Mozilla bug 1571250.
2022-06-17 16:05:57 +08:00
Brian Smith 532cd0ae7a Issue #1905 - Part 4d - Fix a crash calling a date and time function.
Fixed by updating the xptcinvoke ARM64 code to the latest Mozilla version.
2022-06-15 04:34:44 -05:00
Brian Smith 5e9342a622 Issue #1905 - Part 4c - Follow Firefox and Safari in reporting "Intel" for Mac ARM64 devices.
Based on Mozilla bug 1655285.
2022-06-15 01:29:53 -05:00
Brian Smith f924d979d5 Issue #1905 - Part 4b - Fix issue loading the profile and saving changes to the profile.
Based on the following Mozilla bugs: 1659904, 1659905 and 1659077.
2022-06-15 01:27:04 -05:00
Brian Smith 2d9b9a9617 Issue #1905 - Part 4a - Change "as" test to "Apple" from "LLVM".
This will make this test Mac only, but it should work with any Xcode.
2022-06-15 01:16:15 -05:00
Moonchild 5652238ba8 Merge pull request 'Add Apple Silicon (ARM64) Mac Support' (#1915) from dbsoft/UXP:AppleARM into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1915
2022-06-11 16:07:26 +00:00
Moonchild a164537057 Merge pull request 'Ensure UpdateChecker and UpdateParser can handle empty manifest URLs.' (#1913) from athenian200/UXP:1909_second_attempt into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1913
2022-06-11 16:05:53 +00:00
Jeremy Andrews 2b8f6866cb Fix whitespace. 2022-06-10 19:43:12 -05:00
Brian Smith 0c99c0ca2e Issue #1905 - Part 3k - Separate the GNU and LLVM-as tests.
While we should be able to test these together, I don't want to risk breakages on different *nixes.
2022-06-10 16:33:04 -05:00
Jeremy Andrews ec277eacb8 Issue #1909 - Ensure UpdateChecker and UpdateParser can handle empty manifest URLs. 2022-06-10 12:54:15 -05:00
Moonchild 9ad788853f Issue #1914 - Implement white-space: break-spaces
This also simplifies GetCSSWhitespaceToCompressionMode (FFS with the function
names, Mozilla!) to be less fragile.
2022-06-10 07:35:22 +00:00
Brian Smith 79c3747465 Issue #1905 - Part 3j - Rename the ARM64 assembly files to .S.
Missed the moz.build file in the last commit.
2022-06-10 02:00:29 -05:00
Brian Smith 90307d8552 Issue #1905 - Part 3i - Rename the ARM64 assembly files to .S.
Necessary because they now need to be preprocessed.
2022-06-10 01:53:05 -05:00
Brian Smith 0828fe1232 Issue #1905 - Part 3h - Fix breakages on other platforms.
Mac Intel broke due to incorrect FFI target_dir for Intel.
Linux and possibly other platforms use a secondary aclocal.m4 that still referenced ios.m4.
2022-06-10 01:28:08 -05:00
Brian Smith a977ba55eb Issue #1905 - Part 3g - Final set of changes connecting ARM64 support for Mac.
Back out some of the xptcstubs changes that are not viable for our codebase.
2022-06-09 22:05:20 -05:00
Brian Smith 8199a0d551 Issue #1905 - Part 3f - Collection of fixes connecting ARM support to the Mac build.
Also update ARM XPT code to add Mac/Apple support.
2022-06-09 18:08:04 -05:00
Brian Smith 6996115924 Issue #1905 - Part 3e - Fix NSPR build on ARM.
The dynamic loader had been falling through to the ancient PowerPC code without __aarch64__ #ifdef
2022-06-09 14:57:21 -05:00
Brian Smith 56ff5a50d4 Issue #1905 - Part 3d - Report GNU AS when the system "as" is LLVM-as.
LLVM as is generally compatible with GNU, this should allow ICU to build on ARM Macs.
2022-06-09 14:38:33 -05:00
Brian Smith 357463d9d7 Issue #1905 - Part 3c - Remove iOS from the rest of the configure system. 2022-06-09 14:35:28 -05:00
Brian Smith e515299477 Issue #1905 - Part 3b - Remove iOS support from old-configure.
iOS is not really a viable target and Apple Silicon Macs report the same core system.
2022-06-09 14:19:05 -05:00
Brian Smith ad1bd19571 Issue #1905 - Part 3a - Resign python binary ad-hoc since install_name_tool invalidates code signature.
The code signature is invalidated on Intel as well, but on ARM the binary fails to run with an invalid code signature error.
2022-06-09 14:12:00 -05:00
Moonchild d8070a8e0d Issue #1877 - Follow-up: Disable WMF VP9 decoding due to playback issues
On some systems this breaks frame pacing and causes stuttery playback,
especially in combination with MSE and stream switching/chunked delivery.
2022-06-08 19:00:30 +00:00
Moonchild cd7fab2f80 Revert "Issue #1909 - Guard against empty update manifest URL"
This reverts commit d7fadcdef9.
2022-06-07 11:58:39 +00:00
Jeremy Andrews 9733f9d2e5 [MailNews] Disable leftover Account Provisioner code. 2022-06-06 11:22:22 -05:00
Brian Smith e65f15fb4c Issue #1905 - Part 2c - Fix OpenGL crash caused by calling [NSOpenGLContext setView:] on the Compositor thread.
Starting with SDK 10.14 I believe, many functions have main thread checks, including setView: and update.
So we now move the code in the updateGLContext method into doDrawRect which runs on the main thread.
2022-06-04 17:13:45 -05:00
Jeremy Andrews 9c395967cc [MailNews] Allow shift-clicking on Edit As New to edit a message as plaintext.
Ref: BZ 731688
2022-06-04 16:13:32 -05:00
Moonchild 64e3f4118a Merge pull request 'Support MacOS Monterey version detection, 11.0 and newer SDKs and fix system font crash.' (#1912) from dbsoft/UXP:AppleARM into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1912
Reviewed-by: Moonchild <moonchild@palemoon.org>
2022-06-03 19:14:12 +00:00
Brian Smith 4abc90ad3e Issue #1905 - Part 2b - Fix crash on startup due to inability to load system font with newer SDKs.
Fix based on Mozilla Bug 1672842.
2022-06-03 05:56:46 -05:00
Brian Smith 43dfe703da Issue #1905 - Part 2a - Build system fixes to allow use of SDK versioned 11.0 and higher.
Also don't include code incompatible with SDK 10.15 and higher, when building with such a SDK.
2022-06-02 15:56:05 -05:00
Moonchild d53fd09524 [NSS] Update NSS to 3.52.6
- Initialize pointers passed to NSS_CMSDigestContext_FinishMultiple (Bug 1767590)
2022-06-01 10:22:30 +00:00
Moonchild 9551e4c9bc [DOM] Clip image data transfers. 2022-06-01 09:48:54 +00:00
Moonchild 193b14528a Issue #1911 - Clean up nsFilePicker on Windows. 2022-05-31 23:17:48 +00:00
Moonchild 70a9fe579f Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2022-05-30 19:18:16 +00:00
Moonchild eff26719cd Merge pull request 'Guard against empty update manifest URL' (#1910) from athenian200/UXP:empty-manifest-url into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1910
2022-05-30 19:15:04 +00:00
Moonchild 14f12a065e [XPCOM] Simplify nsITimer API.
It's much simpler to hold a death grip on the timer than to have a fragile
"release upon cancel" construct.
2022-05-30 11:08:22 +00:00
FranklinDM d7fadcdef9 Issue #1909 - Guard against empty update manifest URL
When installing an incompatible add-on, the add-ons manager checks first if a newer and compatible version of that add-on is available by sending a request either to the AUS or the provided update URL in the manifest.

If there's no update URL in the manifest and if the application does not provide an add-on update URL via preferences, the add-ons manager will error out and fail to notify that the said add-on is incompatible.

This commit addresses that by:
(a) preventing substitutions on the update manifest URL - this throws an error if it's empty; and
(b) failing early in the add-on update checker if the update manifest URL is empty and sends out an error notification
2022-05-30 09:24:21 +00:00
Moonchild 775ce7fc17 [network] Fix typo in nsSocketTransport2.cpp
Follow-up to 7322bc0e9d
2022-05-30 09:16:26 +00:00
Moonchild a2054a3eaf [DOM] Promise worker-proxy cleanup improvements 2022-05-30 08:28:48 +00:00
Moonchild c048d762cf [DOM] Don't allow internal MIME types to be assigned to DataTransfer
We already blocked x-moz-file(-promise) and x-moz-place* but of course people
would find ways to abuse other internal types. This change now blocks everything
except x-moz-url types which are harmless. (i.e. whitelist instead of blacklist)
2022-05-30 08:28:11 +00:00
Moonchild 39fe9559bb [places] add Content-Security-Policy to bookmarks HTML export
This commit adds a Content-Security-Policy to HTML documents for exported
bookmarks. The change will stop active content (like bookmarklets) from being
directly runnable in the exported local file, which is *not* breaking the
normal use case in which a bookmarklet is intended to modify an existing page.
It *will* affect the use case where you have a full website/application stored
in a bookmarklet that was supposed to replace the current web page. In this
case, users can right-click copy the link and drop it in the address bar.

Note: The CSP does not mean that this is a severe attack vector. It merely
provides a basic protection measure for users who use the exported bookmarks in
a non-standard way as a local file.
2022-05-30 08:28:01 +00:00
Paul Adenot baa0c0a91e [DOM media] Handle truncated WAV stream. 2022-05-30 08:26:43 +00:00
Moonchild 7322bc0e9d [network] SocketTransport2 cleanup 2022-05-30 08:26:32 +00:00
Peter Van der Beken 0fad293135 [DOM events] Clear event listener. 2022-05-30 08:26:22 +00:00
Moonchild 612b110946 [DOM media] Adjust lock scope in MediaSourceDemuxer 2022-05-30 08:26:12 +00:00
Randell Jesup ac6d297268 [Image] Image cleanup 2022-05-30 08:25:59 +00:00
Moonchild ea3642103f [DOM media] Add a lock around Reset() in WebMBufferedParser 2022-05-30 08:25:48 +00:00
Moonchild e591cf1e1a [DOM] worker cleanup. 2022-05-30 08:25:33 +00:00
Moonchild 07a26bff17 [DOM] Consistent error messages for scripts which failed to load. 2022-05-30 08:25:20 +00:00
Moonchild 0d8cddaa73 [DOM] Clear sinks and block further use after storage observer shutdown. 2022-05-30 08:25:08 +00:00
Moonchild a595fa29a3 [Network] Add a socket thread check and early exit for corner cases. 2022-05-30 08:19:22 +00:00
Moonchild 2705986b4a [xpcom] Timer cleanup, assertions and comments. 2022-05-30 08:18:26 +00:00
Moonchild 8e42fccca6 [image] Add additional locks to imgFrame. 2022-05-30 08:17:20 +00:00
Moonchild edd7cd7d87 [Network] Only call nsWSAdmissionManager::ConnectNext on the main thread. 2022-05-30 08:13:03 +00:00
Moonchild 23327d7213 Merge pull request 'Fix several -Wclass-memaccess GCC warnings in /gfx' (#1908) from trav90/UXP-contrib:gcc-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1908
2022-05-29 08:16:24 +00:00
Moonchild 04d84d20fa Merge pull request 'Update FFVPX to version 4.2.7' (#1907) from trav90/UXP-contrib:ffvpx-update into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1907
2022-05-29 08:15:27 +00:00
trav90 676305dfeb Issue #83 - Use correct #include in parseutils.c 2022-05-28 16:44:09 -05:00
trav90 9f0c3479c0 Issue #457 - Make GLContextSymbols a pure aggregate POD 2022-05-28 11:45:52 -05:00
trav90 33a3173c79 Issue #457 - Remove the constructor from gfxShapedText::CompressedGlyph and make it a trivial class
Also provide a couple of convenience "factory" methods to create simple and complex glyph values.
2022-05-28 11:45:35 -05:00
trav90 e517623574 Issue #83 - Update FFVPX to version 4.2.7 2022-05-28 08:53:54 -05:00
Moonchild 61efa1ee08 Merge pull request 'Remove the use of tagged shape pointers' (#1906) from 1742 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1906
2022-05-28 03:44:46 +00:00
Moonchild 8a737f3234 Merge branch 'read-barriers' into 1742 2022-05-27 16:53:08 +00:00
Jeremy Andrews 7e570f010f Issue #1742 - Part 5: Remove unnecessary GCPtr::unbarrieredGet
Ref: BZ 1323441
2022-05-27 07:25:48 -05:00
Jeremy Andrews 64ea1e09c2 Issue #1742 - Part 4: Don't trigger read barriers when comparing wrapped pointers types
This is actually an undocumented dependency of Bug 1325406 for Linux and
SunOS.

Ref: BZ 1308236
2022-05-27 07:21:59 -05:00
Moonchild 84c7d3c2f6 No issue - relax ctts flag checking in media/libstagefright
Some encoders will set ctts flags incorrectly (similar to version) resulting in
libstagefright aborting playback of media based on the media header.
(Looking at you, Twitter)
This change relaxes libstagefright's checking to pass ctts flags 0 or 1 and
falls through to actually trying to decoding the file.
2022-05-26 21:23:06 +00:00
Brian Smith 5e28396116 Issue #1905 - Part 1 - Implement detection of Monterey (12.x), Intel emulation and fix required OS version check. 2022-05-25 18:51:46 -05:00
Moonchild cd55d0fbe4 Issue #1742 - Remove the ambiguous portions of gc that dealt with tagged
pointers for shapes.

Nobody likes "isNullLike(obj)" when trying to garbage collect. It either is or
is not. Master Yoda would be pleased with this change.
2022-05-25 18:33:46 +00:00
Jeremy Andrews c772d0ef21 No Issue - Epyrus-related platform changes.
I'm very confident these changes will not impact IceDove-UXP or Pale Moon. What they do is conditionally disable a button that allows people to get a new account from a Mozilla-advertised e-mail provider, and remove the hard-coded OAuth2 keys in favor of a user-controlled preference.
2022-05-24 16:40:36 -05:00
Moonchild 46c9f72fc0 Issue #1742 - Part 3: use JS::PropertyResult instead of Shape*
This is the meat of the issue and switches using raw shape pointers out for
PropertyResult objects where feasible.
2022-05-24 21:19:51 +00:00
Moonchild a160e7772a Issue #1742 - Part 2: Add a class to encapsulate the possible results of a property lookup 2022-05-24 21:15:12 +00:00
Moonchild dc5a60fb62 Issue #1742 - Part 1: Refactor rooting base class templates
Based on Bug 1325406
2022-05-24 06:51:46 +00:00
Moonchild 1588077e62 Issue #1847 - Follow-up: Re-enable building of FIPS mode in NSS.
This fell by the wayside when transitioning to gyp, but there's no good
transition path for people previously enabling the obsolete FIPS-140 mode.
2022-05-22 08:42:57 +00:00
Moonchild 17970a216b Merge pull request 'Silence some GCC compiler warnings in FFmpeg code' (#1902) from trav90/UXP-contrib:gcc-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1902
2022-05-21 22:27:38 +00:00
trav90 be82ca4b1f Issue #457 - Silence some GCC compiler warnings in FFmpeg code 2022-05-21 13:07:38 -05:00
FranklinDM 00c51f75fa No issue - Add null check to send packet function in the developer tools server
This resolves some of the useless log spam thrown in the browser console by the developer tools.
2022-05-21 16:37:38 +00:00
Moonchild addadda237 Merge pull request 'Implement nullish coalescing operator' (#1901) from FranklinDM/UXP-contrib:work_js-nullish-coalescing into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1901
Reviewed-by: Moonchild <moonchild@palemoon.org>
2022-05-21 10:24:26 +00:00
FranklinDM 0efc152b07 Issue #1894 - Part 7: Update tests
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
2022-05-21 01:09:51 +08:00
FranklinDM 8618fcbe89 Issue #1894 - Part 6: Check for nullish values when folding coalesce nodes
This uses a different approach by modifying the `Boolish` function directly to act differently if we're checking for nullish values.

Partially based on:
Bug 1566141 - Implement the Nullish Coalescing operator (??) proposal
Bug 1599163 - Nullish coalescing operator returns undefined for void expressions
2022-05-21 01:02:24 +08:00
FranklinDM 20ee1ece01 Issue #1894 - Part 5: Implement bytecode for nullish coalescing
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
2022-05-21 01:02:23 +08:00
FranklinDM bbe40dab58 Issue #1894 - Part 4: Implement IonMonkey support for nullish coalescing
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
2022-05-21 01:02:22 +08:00
FranklinDM 5e500dc2b4 Issue #1894 - Part 3: Implement support for nullish coalescing in JS reflection
Partially based on:
Bug 1566141 - Implement the Nullish Coalescing operator (??) proposal
Bug 1593415 - Assertion failure: false, at js/src/builtin/ReflectParse.cpp:3092 with nullish coalescing
2022-05-21 01:02:22 +08:00
FranklinDM 5d6ae8b156 Issue #1894 - Part 2: Implement support for nullish coalescing in the JS parser
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
2022-05-21 01:02:21 +08:00
FranklinDM 99f31e38ba Issue #1894 - Part 1: Implement coalesce JS opcode
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
2022-05-21 01:02:16 +08:00
Moonchild 51117c2b62 Bug 1679987 - Remove unused includes of nsCharSeparatedTokenizer.h. 2022-05-17 19:42:24 +00:00
Moonchild 991b053042 Merge pull request 'Add support for MP4 playback on Linux via FFmpeg 5.0' (#1900) from trav90/UXP-contrib:ffmpeg-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1900
2022-05-17 19:22:18 +00:00
Moonchild 1bf41a59b9 Issue #1210 - Keep timepicker disabled for now.
This needs localization work before enabling.
2022-05-16 20:12:09 +00:00
Moonchild 86db73b5d1 Issue #1813 - Enable date and time picker by default.
Resolves #1813
2022-05-16 20:08:29 +00:00
trav90 f302cc1391 Issue #1893 - Part 3: Update audio & video decoders for FFmpeg 5.0
FFmpeg 5.0 removed some deprecated symbols so we need to update our decoding code to account for it.
2022-05-16 10:58:20 -05:00
trav90 cb0f8292a6 Issue #1893 - Part 2: Add support for libavcodec 59/FFmpeg 5.0 2022-05-16 10:55:57 -05:00
trav90 4e03bfdec8 Issue #1893 - Part 1: Import required FFmpeg 5.0 header files 2022-05-16 10:53:55 -05:00
FranklinDM bdfd859beb Issue #1898 - Make sure that the sanity test stops running if necessary
As part of telemetry removal, d60103257e removed the `reportResult` function which also handles the stopping of the sanity test. This also removes unused histogram enumeration values and revises/adds some comments.
2022-05-15 14:48:09 +00:00
Moonchild 5338dcd132 Issue #1899 - Make sure the test for it still works
Some hoops to make sure the test still works if the default value for the pref
is false, requiring setting and resetting it and making sure the observers have
time to react to these changes before testing.
2022-05-14 12:22:48 +00:00
Moonchild a9d3c2b52a Issue #1899 - Disable the (broken) MDN integration widget by default. 2022-05-14 11:06:02 +00:00
Moonchild 517aec3111 Issue #1509 - Invalidate previous result when datalist is changed.
Even if `<datalist>` is dynamically changed, the autocomplete controller still
uses the previous search result. If changed, we have to ignore the previous
result that may now be invalid.

Also, even if `<datalist>` is changed, we have to keep the selected index
(See Mozilla Bug 595069), so we cannot use `ResetInternalState` in this
situation because it resets the selected index.

This resolves #1509.
2022-05-10 21:03:53 +00:00
Moonchild 930ddd693b No Issue - Break overly long tooltips into multiple lines.
A very very old bug and annoyance: tooltips with very long content without
spaces (e.g. long URLs or gibberish data) would just cut off and leave an
un-styled right border going over the widget's constrained space.
Because of an additional bug (still unsolved), this was never properly
addressed because solutions attempted didn't work.
The workaround for the secondary bug allows for word-break to now work and this
primary problem to be resolved.
2022-05-08 21:07:03 +00:00
Moonchild 4cdd532738 Merge pull request 'Fix ASAN and clang crashes on Linux, BSD and MacOS.' (#1892) from dbsoft/UXP:fixxptcinvoke into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1892
2022-05-08 11:52:32 +00:00
Moonchild 6f8d063b18 Issue #1895 - Implement queueMicroTask(callback()) 2022-05-07 14:39:41 +00:00
Brian Smith b1957eb7c9 Issue #1891 - Fix ASAN and clang crashes on Linux, BSD and MacOS.
Merge with the existing Solaris fix, by folding Solaris into the Linux/BSD section.
Add Apple Silicon (ARM64) support.
This should also address Issue #1884 by moving the offending code into assembly.
2022-05-05 15:53:25 -05:00
Moonchild a5b4a440d6 Update NSS to 3.52.5
- Default configure to enable dbm
- Remove a redundant check on ASN1 decoding (Bug 1753535)
2022-05-04 22:44:31 +00:00
Moonchild 9a84af4d5b Bug 1761981 2022-05-04 22:00:02 +00:00
Moonchild eecc234b44 No issue - Align our resource timing with the updated Fetch spec.
This makes FetchStart use StartTime() when the TAO check fails for
PerformanceResourceTiming

Given the recent Fetch spec updates, Step 8.1 in
https://fetch.spec.whatwg.org/#finalize-and-report-timing specifies that start
time(StartTime) and post-redirect start time(FetchStart) should be start time
when the TAO check fails.
2022-05-04 17:24:10 +00:00
Moonchild 2366accae5 Issue #1890 - Update libopus
This resolves #1890
2022-05-04 17:03:37 +00:00
Stephen A Pohl d01ae5cf25 [XPCOM] Improve the conversion of line breaks.
Fix an off-by-one error in CRLF checking.
2022-05-04 13:54:20 +00:00
Moonchild 92b3def6a8 Merge pull request 'Implement optional chaining' (#1889) from FranklinDM/UXP-contrib:work_js-optional-chaining into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1889
2022-05-04 10:42:06 +00:00
FranklinDM 006b8f5c6e Issue #1658 - Part 8: Update tests 2022-05-04 14:57:19 +08:00
FranklinDM 152974a8fe Issue #1658 - Part 7: Implement support for optional chaining in console autocomplete
This works by stripping the optional chaining characters from the completion part variable, allowing the developer tools' parser to proceed as if it were a regular, non-optional expression.

Tests were partially based on: https://bugzilla.mozilla.org/show_bug.cgi?id=1594009

Tests for features that do not apply to our version of developer tools (e.g. autocomplete for integer literals, ignoring spaces between property accessors, etc) were excluded.
2022-05-04 14:57:19 +08:00
FranklinDM 6d480d82a5 Issue #1658 - Part 6: Break and return no control flow for jumps emitted by optional chains under IonBuilder
IIUC, we want to process the GOTO in the case of optional chains, and we do not satisfy the requirements mentioned in the comment of snoopControlFlow's caller. Optional chains are not loops, we (probably) don't have a loop in the instruction following the GOTO, and in the GOTO destination, we're either returning an undefined/null value or the actual value.
2022-05-04 14:57:18 +08:00
FranklinDM fa72aef363 Issue #1658 - Part 5: Add and initialize TDZ check to optional chaining emitter
Partially based on: https://bugzilla.mozilla.org/show_bug.cgi?id=1685260
2022-05-04 14:57:18 +08:00
FranklinDM 2ed7526705 Issue #1658 - Part 4: Fix optional chaining assertions and remove unreachable code
This includes the following:

Bug 1611777 - Part 1: Report syntax error for optional property access in self-hosting code. r=yulia!
Bug 1611777 - Part 2: Merge same blocks in emitDeleteOptionalChain(). r=yulia!
Bug 1611777 - Part 3: N/A
Bug 1611777 - Part 4: `super` can't occur on the left-hand side of an optional chain
Bug 1611777 - Part 5: Remove unnecessary super-handling in optional delete. r=yulia!
The child node of a DeleteOptionalChainExpr node can't be a super-property
accessor, so we can remove this code.

Bug 1611777 - Part 6: Crash for unexpected super-base in optional call. r=yulia!
Bug 1611777 - Part 7: Add missing entries to list of valid optional chain start expressions. r=yulia!
Bug 1611777 - Part 8: Add missing emitGet in emitOptionalElemExpression. r=yulia!
Aligns emitOptionalElemExpression() with emitOptionalDotExpression(), so it's
easier to compare both methods against each other.

Bug 1611777 - Part 9: Replace an if-statement with an assertion. r=yulia!
Bug 1611777 - Part 10: N/A
Bug 1611777 - Part 11: Support optional chaining in class heritage expression. r=yulia!
Bug 1611777 - Part 12: Use optionalExpr() for update expressions to match spec grammar. r=yulia!

Using optionalExpr matches the spec grammar more closely. This change also
modifies the reported error message. ++a?.b reported before this change
"unexpected token: '?.'", but now reports "invalid increment/decrement operand".

Bug 1611777 - Part 13: N/A
Bug 1611777 - Part 14: Simplify two lines in optionalExpr(). r=yulia!

We don't need to test for tt == TokenKind::Eof when we return for tt != TokenKind::OptionalChain anyway. Omit local variable for the result value and instead use a tail-call. This matches the local style in the parser more closely.

Bug 1611777 - Part 15: Support FunCall/FunApply optimisations for optional chaining. r=yulia!
Bug 1611777 - Part 16: Pass through ValueUsage in optional chains. r=yulia
2022-05-04 14:57:17 +08:00
FranklinDM 9ecfdbe358 Issue #1658 - Part 3: Implement support for optional chaining in JS reflection
Partially based on:
Bug 1610447 - Update Reflect to handle Optional Chaining operator
Bug 1657835 - Assertion failure: false, at js/src/builtin/ReflectParse.cpp:3168
2022-05-04 14:57:16 +08:00
FranklinDM 97dcd8009a Issue #1658 - Part 2: Implement bytecode for optional chaining
Partially based on:
Bug 1566143 - Implement the Optional Chaining operator (?.) proposal
Bug 1650340 - Fix deleteElementInOptionalChain
Bug 1644839 - Fix return value of emitOptionalChain on failure
2022-05-04 14:57:16 +08:00
FranklinDM e1fc99d6ef Issue #1658 - Part 1: Implement support for optional chaining in the JS Parser
Partially based on: https://bugzilla.mozilla.org/show_bug.cgi?id=1566143
2022-05-04 14:57:15 +08:00
athenian200 0de24cc207 Merge pull request 'Allow /bin/sh to be used as a fallback value when SHELL is not set.' (#1888) from athenian200/UXP:shell_detection into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1888
2022-05-04 01:05:04 +00:00
Jeremy Andrews 28ad4a4b7c Issue #1887 - Allow /bin/sh to be used as a fallback value when SHELL is not set. 2022-05-03 20:01:09 -05:00
Moonchild f41a43acf2 Revert "No Issue - Make content-type on JAR channels behave the same as HTTP channels."
This reverts commit 425677ada7.
2022-05-03 17:37:28 +00:00
Moonchild 1dd2c05377 Update 7zSD for v31 2022-05-03 17:07:38 +02:00
Moonchild f48c32ebc1 New cycle master 2022-05-03 11:27:24 +00:00
FranklinDM b0b90b81f3 [Toolkit] Set an icon for the default handler 2022-05-03 11:15:20 +00:00
Moonchild 6f9c302a32 Issue #1860 - Back out the change to vector for DisplayLists
A safe implementation means significant performance loss, making this change
undesirable.
2022-05-03 11:10:30 +00:00
FranklinDM a3bee9a6a8 Issue #1860 - Follow-up: Prevent duplicate display items by checking for its existence in the vector first before adding items
Performance impact unknown, resolves crashes on some sites that encounter this scenario.
2022-05-03 09:18:48 +00:00
FranklinDM 26d1ff2bd6 Issue #21 - Remove run phase property and constants from XPIProvider.jsm
These were introduced in Bug 853388 for the sole purpose of tracking the current startup phase for telemetry
2022-05-03 09:15:47 +00:00
FranklinDM 825ae7cb05 Regenerate developer tools' static CSS properties database 2022-05-03 09:15:15 +00:00
FranklinDM 2302734e6f Fix property alias indentation 2022-05-03 09:15:05 +00:00
FranklinDM 40c0791320 Fix generation of developer tools' static CSS properties database
- Remove `resolve_path` method and use `mozpath` instead for path operations
- Store target developer tools path as an instance variable to avoid duplicate checks for path existence
2022-05-03 09:14:57 +00:00
FranklinDM ab0be54f2d Issue #1853 - Follow-up: Add missing end of array marker to scrollbar width keyword table
This prevents the parser from accepting values outside the keyword table.
2022-05-03 09:14:47 +00:00
Moonchild 6b4ef9af48 Merge branch 'vpx-format-update' 2022-05-02 00:16:10 +00:00
Moonchild 425677ada7 No Issue - Make content-type on JAR channels behave the same as HTTP channels.
That is, treat it as a hint if called before open, and as an override if called
after. Override the hint on open.
2022-05-01 12:15:08 +00:00
Moonchild 633728842e Merge branch 'master' into vpx-format-update 2022-05-01 09:28:43 +00:00
Moonchild bc2841f9f9 Merge pull request 'Restore Mac OS X code and buildability' (#1886) from dbsoft/UXP:1829 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1886
2022-04-29 07:20:46 +00:00
Brian Smith d78e03d528 Merge branch 'master' into 1829
* master:
  No issue - Update README and SECURITY
  Issue #1885 - Follow-up: Update error message if invalid rootMargin specified.
  Issue #1879 - Follow-up: Update config/external/nss/target to security/target.
  Issue #1885 - Allow unitless rootMargin entries for IntersectionObserver.
  Issue #1879 - Revert changes to cryptox.h
  Revert "Issue #1879 - spot-fix typo in cryptox.h"
  Issue #1879 - spot-fix typo in cryptox.h
  Issue #21 - Change MappedAttrParser to store its nsIPrincipal instead of nsSVGElement
  Issue #21 - Remove use counters telemetry
  Issue #1881 - Interpret empty or whitespace root margin string as zero length
  Issue #1877 - Resolve NIGHTLY_BUILD conditionals.
  Issue #1880 - Boot Comic Sans out of the font configuration.
2022-04-28 20:27:47 -05:00
Brian Smith bebeb4e26a Issue #1829 - Build system fixes.
Readd de-unified source changes that got clobbered by commit 378738aaa9.
Fix build issues using clang broken by commit 39f9ab375b.
2022-04-28 14:21:17 -05:00
Moonchild bf110158b9 Issue #1820 - Part 8: Check bit depth in PDM::Supports. 2022-04-27 16:08:36 +00:00
Moonchild 983a87a9d7 Issue #1820 - Part 7: Check bit depth in WebMDecoder to determine if we support HDR. 2022-04-27 12:34:59 +00:00
Moonchild bf8359c704 Issue #1820 - Part 6: Extract bit depth information from codec parameter string
into VideoInfo::mBitDepth.
2022-04-27 12:34:26 +00:00
Moonchild 4e5b100cca Issue #1820 - Part 5: Add mBitDepth field to VideoInfo. 2022-04-27 11:12:39 +00:00
Moonchild a874f27b5a Issue #1820 - Part 4: Add a gtest for testing the extraction function. 2022-04-27 11:03:38 +00:00
Moonchild 6b2f1524f8 Issue #1820 - Part 3: Use Codec detail extractor helper to tell if it's a new
style VP8/VP9 codec string.
2022-04-27 10:28:18 +00:00
Moonchild 93b170e629 Issue #1820 - Part 2: Add VP9-in-MP4 support to the decoder
This also adds support in StageFright for VP9.0 FourCCs and consolidates
individual string checks to helpers for WebM
2022-04-27 10:27:49 +00:00
Moonchild 33523f5d5e No issue - Update README and SECURITY
- thereisonlyxul is no longer a thing.
- minor wording update.
2022-04-27 00:14:54 +00:00
Brian Smith 1eaadfbc8d Issue #1829 - Readd code cleanup that is not Mac related that got clobbered by reverting Issue #1751 2022-04-26 15:57:19 -05:00
Brian Smith 0102047d68 Issue #1829 - Fix psutil python extension on MacOS and potentially FreeBSD
Compilation failed due to missing sys/ioctl.h header on MacOS and FreeBSD. Call to function ioctl() with no prototype.  This was non-fatal due to the psutil component being optional.
2022-04-26 13:26:41 -05:00
Brian Smith b07c898b06 Issue #1829 - Readd a fix for Big Sur not loading libraries such as OpenGL.
This fix was included earlier but got clobbered by a recent NSPR update.
2022-04-26 13:25:29 -05:00
Brian Smith 6dd43c3e2f Issue #1829 - Fix Mac breakage due to removal of Telemetry. 2022-04-26 13:24:10 -05:00
Moonchild b9b1abc871 Issue #1820 - Part 1 : Add an extraction function to parse the RFC-6381 VP9 codec string. 2022-04-26 17:32:29 +00:00
Brian Smith 768231cf6a Issue #1829 - Revert "Issue #1751 - Remove MacOS support from configure"
This reverts commit d3543ca2fe.
2022-04-26 11:34:08 -05:00
Brian Smith c82b759d56 Issue #1829 - Revert "Issue #1751 -- Remove XP_MACOSX conditionals from /dom"
This reverts commit 0dd3424f77.
2022-04-26 11:24:42 -05:00
Brian Smith 9e2a89c71d Issue #1829 - Revert "Issue #1751 -- Remove XP_DARWIN"
This reverts commit 3d671e4275.
2022-04-26 11:07:23 -05:00
Brian Smith 68d1c14bdf Issue #1829 - Revert "Issue #1751 -- Remove files unused without XP_DARWIN"
This reverts commit cd1f724135.
2022-04-26 11:01:55 -05:00
Brian Smith b73c17b7c6 Issue #1829 - Revert "Issue #1751 -- Remove XP_MACOSX conditionals and support files from /gfx"
This reverts commit 616b39413d.
2022-04-26 10:59:55 -05:00
Brian Smith 1a31160dde Issue #1829 - Revert "Issue #1751 -- Remove XP_MACOSX conditionals and support files from /xpcom"
This reverts commit 1bf0734a72.
2022-04-26 10:56:11 -05:00
Brian Smith e764f258e2 Issue #1829 - Revert "Issue #1751 -- Remove XP_MACOSX conditionals from /layout"
This reverts commit aa0fd3d68c.
2022-04-26 10:21:29 -05:00
Brian Smith 3daf711085 Issue #1829 - Revert “Issue #1751 -- Remove XP_MACOSX conditionals from the rest of the tree.”
This also removes some PP abuse and takes file entries out of PP when no longer
needed without XP_MACOSX conditionals.

This reverts commit 6f707bde95.
2022-04-26 10:19:04 -05:00
Brian Smith 7fe7026030 Issue #1829 - Revert "Issue #1751 -- fix up a few stray #ifs"
This reverts commit e7e63565ee.
2022-04-26 10:19:04 -05:00
Brian Smith 93407295fc Issue #1829 - Revert “Issue #1751 -- Remove cocoa support code from /dom”
This reverts commit ca35efb84e.
2022-04-26 10:19:03 -05:00
Brian Smith db8d2ef672 Issue #1829 - Revert "Issue #1751 -- Remove cocoa and uikit widget support code"
This reverts commit 08da125d9c.
2022-04-26 10:19:03 -05:00
Brian Smith f4f9b0cec7 Issue #1829 - Revert "Issue #1751 -- Update crashtests"
This reverts commit b5ece9f771.
2022-04-26 10:19:02 -05:00
Brian Smith adf51bc0f5 Issue #1829 - Revert "Issue #1751 -- Remove cocoa and uikit gfx and hal support code"
This reverts commit 1ee35eafa0.
2022-04-26 10:19:02 -05:00
Brian Smith 378738aaa9 Issue #1829 - Revert “Issue #1751 - Remove Mac code behind MOZ_WIDGET_TOOLKIT == 'cocoa’”
This reverts commit 1fe9c19305.
2022-04-26 10:19:00 -05:00
Moonchild c482078b09 Merge pull request 'Remove use counters telemetry' (#1883) from FranklinDM/UXP-contrib:work_telemetry-use-counters-removal into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1883
2022-04-26 08:14:02 +00:00
Brian Smith 82f11ad8aa Issue #1829 - Revert "Issue #1751 - Remove Mac/ARM C fallback on gcc from pixman"
This reverts commit 2215d8467e.
2022-04-25 20:27:54 -05:00
Moonchild 72ff18e58e Issue #1885 - Follow-up: Update error message if invalid rootMargin specified. 2022-04-25 13:52:17 +00:00
Jeremy Andrews a0bdc21cf5 Issue #1879 - Follow-up: Update config/external/nss/target to security/target. 2022-04-24 15:03:59 -05:00
Moonchild 42ee994d99 Issue #1885 - Allow unitless rootMargin entries for IntersectionObserver.
I could have done this through a CSSLoader to allow all CSS unit quirks but
I wasn't planning to start passing around document and element references
everywhere, so instead just did it manually by accepting numbers/floats in
addition to pixel and percent.
2022-04-24 17:00:46 +00:00
Moonchild f25a45b9e6 Issue #1879 - Revert changes to cryptox.h
The error when removing this code was an #if vs #elif. But since we're planning
to restore MacOSX anyway, may as well rever the entire file here :)
2022-04-24 15:52:33 +00:00
Moonchild 677085e0c4 Revert "Issue #1879 - spot-fix typo in cryptox.h"
This reverts commit fbbcbffcc7.
2022-04-24 15:48:49 +00:00
Moonchild fbbcbffcc7 Issue #1879 - spot-fix typo in cryptox.h
Resolves #1879
2022-04-24 09:34:16 +00:00
Moonchild 5d5f72d4bc Merge pull request 'Interpret empty or whitespace root margin string as zero length for the IntersectionObserver' (#1882) from FranklinDM/UXP-contrib:work_inobsvr-empty-rootmargin-string into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1882
2022-04-24 09:28:37 +00:00
FranklinDM c8b89feae8 Issue #21 - Change MappedAttrParser to store its nsIPrincipal instead of nsSVGElement
This reverts part 2 of Bug 968923 since this was only modified to accommodate use counters.
2022-04-24 00:09:21 +08:00
FranklinDM 17b2aa7650 Issue #21 - Remove use counters telemetry
This reverts Bug 968923 - Implement some equivalent of Chrome's use counters (on top of telemetry?)

For reference: https://bugzilla.mozilla.org/show_bug.cgi?id=968923
2022-04-24 00:02:42 +08:00
FranklinDM 6f685140aa Issue #1881 - Interpret empty or whitespace root margin string as zero length
This attempts to get the first non-whitespace token, which if exists, continues with previous behavior of parsing the margin string. Otherwise, if the specified margin string is empty or consists only of whitespace characters, is interpreted as zero length.

IntersectionObserver is the only consumer of the `ParseMarginString` method, as far as I can tell, so this should not affect anything else.

Note: For some reason, Firefox and Chrome treat the unitless zero length as invalid, while with this change, we do not change existing behavior in that regard and continue to accept that value.
2022-04-23 19:34:31 +08:00
Moonchild 5aa65d2aea Issue #1877 - Resolve NIGHTLY_BUILD conditionals. 2022-04-22 13:58:16 +00:00
Moonchild 712ca7303b Issue #1880 - Boot Comic Sans out of the font configuration.
Resolves #1880
2022-04-22 13:18:55 +00:00
Moonchild 8c824b8a75 Merge pull request 'Implement :host and :host-context' (#1878) from webcomps-wchen into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1878
2022-04-20 19:33:34 +00:00
Jeremy Andrews 7aa445162e Issue #1593 - Part 5: Fix error that messes with event state detection.
Iterator changes between 42 and 52 were a bit confusing.
2022-04-19 21:48:36 +00:00
Jeremy Andrews 643e298a55 Issue #1593 - Part 4: Make :host pass DOM parsing test and basic specificity tests. 2022-04-19 21:45:51 +00:00
Jeremy Andrews f82c95d1eb Issue #1593 - Part 3: Add selector logic for :host and :host-context. 2022-04-19 21:44:23 +00:00
Jeremy Andrews 01747509f6 Issue #1593 - Part 2: Account for Shadow DOM v1 and iterator in nsBindingManager. 2022-04-19 21:43:21 +00:00
Jeremy Andrews 22b8e6b79f Issue #1593 - Part 1: Import William Chen's patches w/o selector implementation,
fixed up.
2022-04-19 21:42:11 +00:00
Moonchild f9b28d2006 Merge pull request 'Remove explicit SSL session cache cleanup' (#1875) from FranklinDM/UXP-contrib:work_nss-locks-assertion into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1875
2022-04-19 20:10:21 +00:00
Moonchild 185a027640 Issue #1877 - Resolve RELEASE_OR_BETA conditionals. 2022-04-19 17:38:02 +00:00
Moonchild 99ec088ecf No issue - Use UXP generic credentials if no module.ver is present. 2022-04-19 16:47:11 +00:00
Moonchild 062a5085b1 Bump milestone 2022-04-19 01:29:44 +00:00
Moonchild 65ed8de1fa Merge pull request 'Ensure UndisplayedMap handling code consistently uses a normalized parent' (#1874) from FranklinDM/UXP-contrib:work_frames-undisplayedmap-nmparent into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1874
2022-04-18 15:51:05 +00:00
Moonchild 2e34db5696 Merge pull request 'Bump minimum required GCC version in mfbt' (#1872) from trav90/UXP-contrib:compiler-hacks-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1872
2022-04-18 15:44:50 +00:00
FranklinDM 3a565183f0 Issue #738 - Follow-up: Remove explicit session cache cleanup routine from ShutdownNSS
This is no longer needed because the call to SSL_ConfigServerSessionIDCache on startup was already removed (see 1425f020c4), meaning LocksInitializedEarly does not become true and only causes an assertion on debug builds.

On the other hand, SSL_ClearSessionCache is already called on XPCOM shutdown and calling it again here is redundant.

Additional context: https://bugzilla.mozilla.org/show_bug.cgi?id=1485087#c5

Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1485087
2022-04-18 23:44:27 +08:00
FranklinDM 7ed9c249be Issue #1873 - Part 3: Fix indentation 2022-04-18 23:22:04 +08:00
FranklinDM 37c86f2c07 Issue #1873 - Part 2: Ensure normalized parent is used for UndisplayedMap handling code
We have four entry points that deal with the parents of display:none/ display:contents content. These are the functions for setting, changing, getting and removing a style context. Or more specifically:

GetStyleContextInMap called by GetDisplay[None|Contents]StyleFor

SetStyleContextInMap called by RegisterDisplay[None|Contents]StyleFor

ChangeStyleContextInMap called by ChangeRegisteredDisplay[None|Contents]StyleFor

UnregisterDisplay[None|Contents]StyleFor okay, this is actually two functions, but they act as a pair

This change makes all these functions call GetApplicableParent up front and act on and pass around the parent that it returns. This is so that throughout the code we are always handling the parent that will be used as the key in the UndisplayedMap entry. This is necessary so that all the code that sets/gets the 'MayHaveChildrenWithLayoutBoxesDisabled' bit on/from an nsIContent object is using the same object, otherwise everything breaks down.

Partially based on part 2 of https://bugzilla.mozilla.org/show_bug.cgi?id=1367214
2022-04-18 23:21:58 +08:00
FranklinDM 8d8da66f94 Issue #1873 - Part 1: Introduce ParentForUndisplayedMap helper method
This introduces the `ParentForUndisplayedMap` helper method to reduce duplication in terms of getting the parent and asserting parent existence.

Partially based on parts of https://bugzilla.mozilla.org/show_bug.cgi?id=1341083
2022-04-18 23:21:22 +08:00
Moonchild 145947d86b Issue #1860 - Follow-up: Fix indentation. 2022-04-18 14:47:04 +02:00
Moonchild c2b4aa8cf2 Issue #1860 - Follow-up: Make sure we don't add duplicate frames
Changing to vector makes manipulating display list items more risky.
This is to make sure we don't inadvertently end up with duplicates in
the list of display items avoiding double-free scenarios.
2022-04-18 14:31:55 +02:00
Moonchild 129bb5568d Merge pull request 'Change LayerManagerData::mDisplayItems to a vector instead of hashtable' (#1866) from win7-7/UXP:pr-1860 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1866
2022-04-18 12:01:00 +00:00
win7-7 5b84c3e982 Merge branch 'master' into pr-1860 2022-04-18 13:15:28 +03:00
Moonchild 3abcec5d8b Merge branch 'lzma-updater' 2022-04-18 01:37:21 +02:00
Moonchild 6466bf6f5b Issue #1859 - Build xz-embedded lib when the updater is built. 2022-04-17 20:12:53 +02:00
Moonchild f4e8585e60 Merge pull request 'Follow-up: Prevent grid shorthand from resetting gutter properties' (#1871) from FranklinDM/UXP-contrib:work_css-grid-noreset-gutter-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1871
2022-04-17 17:31:01 +00:00
Moonchild cc231f0a26 Merge pull request 'Set canonical name for trimStart and trimEnd functions' (#1870) from FranklinDM/UXP-contrib:work_js-selfhosted-trim-assertion into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1870
2022-04-17 17:29:58 +00:00
FranklinDM 86b17cfb4a Issue #1838 - Follow-up: Prevent grid shorthand from resetting gutter properties
This also fixes crashing when using the grid shorthand property.
2022-04-18 01:24:20 +08:00
Moonchild d2a4597cfc Issue #1859 - Part 6: Update mach mar to accept --bz2 for old style MAR
So we can build bzip2 MARs for selectively updating older versions of
the applications that don't understand xz.
2022-04-17 19:21:40 +02:00
Moonchild 43165d9edb Issue #1859 - Part 5: Add format detection to unwrap_full_update.pl 2022-04-17 19:21:30 +02:00
Moonchild 88624edc98 Issue #1859 - Part 4: Update mar file generation scripts for use of xz.
- Update packaging scripts to support both lzma and bzip2
- Update python script to support lzma
- Update test scripts to support lzma to be thorough

This all requires xz to be available in the path on the build system.
2022-04-17 19:21:20 +02:00
Moonchild c58e7c72b4 Issue #1859 - Part 3: Replace bzip2 handling in MAR files with xz.
Since there really is no need to add file detection logic to the updater
if updating through AUS is old->new only anyway, replacing bzip2
handling with xz handling is fine, instead of adding it.
Considering the far superior compression of LZMA and MAR not being
a common archive format anyway, let's just K.I.S.S. it :)
2022-04-17 19:21:09 +02:00
Moonchild 8bbfcc4c81 Issue #1859 - Part 2: xz-embedded build config changes
Always build as static lib for use in updater.
2022-04-17 19:20:59 +02:00
FranklinDM f2ad2ba0de Issue #1382 - Set canonical name for trimStart and trimEnd functions
This is needed to fix the assertion on debug builds that self-hosted functions must have consistent names, as these two functions are aliased to `trimLeft` and `trimRight`.
2022-04-18 01:12:25 +08:00
Moonchild 2af23767e1 Issue #1834 - Remove obvious entries for Binary Outcast code. 2022-04-17 11:21:48 +02:00
FranklinDM bb9700d982 Issue #1370 - Follow-up: Give table wrapper boxes a special case during flex base size resolution, so that percent main-sizes can be respected
This is a workaround, based on https://bugzilla.mozilla.org/show_bug.cgi?id=1455976
2022-04-17 11:03:22 +02:00
trav90 077b053ba4 Issue #1531 follow-up - Bump minimum required GCC version in mfbt 2022-04-16 21:12:11 -05:00
Moonchild 279ed4a9cf Merge pull request 'Fix building with GCC 11' (#1868) from trav90/UXP-contrib:gcc-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1868
2022-04-17 01:16:32 +00:00
trav90 5f8057cbed Issue #1804 - Fix building with GCC 11 2022-04-16 19:15:44 -05:00
Moonchild 95cda916d1 Merge pull request 'Cache the most recent nsGenConNode to speed up future insertions' (#1867) from win7-7/UXP:pr-1861 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1867
2022-04-16 16:27:21 +00:00
Moonchild 08842d77ae Merge pull request 'Issue #1818 Cleanup some old GCC hacks' (#1865) from trav90/UXP-contrib:compiler-hacks-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1865
2022-04-16 16:23:23 +00:00
Moonchild 1191c9e371 Merge pull request 'Issue #1531 - Bump minimum required GCC version to 7.1' (#1858) from trav90/UXP-contrib:build-system-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1858
2022-04-16 16:13:03 +00:00
win7-7 4ea9a83b75 Merge remote-tracking branch 'Upstream/master' into pr-1861 2022-04-15 21:42:20 +03:00
Moonchild 9a2da3012a Issue #1864 - Fix IonBuilder::maybeMarkEmpty.
Look at the instruction's operands instead of the instruction itself,
and take an early exit on empty types.
2022-04-15 20:22:02 +02:00
win7-7 022ed72339 Merge remote-tracking branch 'Upstream/master' into pr-1861 2022-04-15 20:17:27 +03:00
trav90 f5c363c01d Issue #1818 - Part 4: always use -pipe with GCC
Usable GCC versions have supported -pipe for a VERY long time. There's no need to keep checking if it is supported.
2022-04-15 08:30:32 -05:00
trav90 41fc1ccf4d Issue #1818 - Part 3: Remove more old gcc compiler hacks. 2022-04-15 08:30:25 -05:00
trav90 7abed0e352 Issue #1818 - Part 2: Remove code for implementation of atomics with __sync
All supported compilers support using C++11 <atomic> natively, so implementing
this using GCC's old __sync functions is no longer necessary.
2022-04-15 08:30:16 -05:00
trav90 d430c6398b Issue #1818 - Part 1: remove a number of old GCC hacks. 2022-04-15 08:30:05 -05:00
win7-7 e44c44b749 Issue #1861 - Cache the most recent nsGenConNode to speed up future insertions.
Cache the most recent nsGenConNode to speed up future insertions.
2022-04-15 13:43:24 +03:00
win7-7 d347a1e0c6 Issue #1860 - Change LayerManagerData::mDisplayItems to a vector instead of hashtable
This should improve cache locality and help speed up layer building.
2022-04-15 13:39:58 +03:00
Moonchild 39ba93e1d7 Merge branch 'restore-dual-guid' 2022-04-15 01:32:54 +02:00
Moonchild 5cecc096a3 Issue #1821 - Pre-process AddonRepository.jsm 2022-04-14 22:13:57 +02:00
Moonchild 8feed35c61 Issue #1821 - Restore "dot" indicators
This also removes orange compat warning styling and associated strings.

Reverses the entirety of #1445
2022-04-14 20:03:05 +02:00
Moonchild 7b706516bc Issue #1821 - Revert "Issue #1744 - Remove the ability to accept Firefox
GUIDS (remove the dual system)"

This reverts commit 3aa334d0b7.
2022-04-14 20:02:49 +02:00
Moonchild 144b3844da Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2022-04-13 20:41:37 +02:00
Moonchild eb96f030b9 Issue #1859 - Part 1: Update xz-embedded library.
This also updates the script for updating and README.
2022-04-13 20:40:56 +02:00
Moonchild 981154dc48 [network] Add non-overrideable default MIME types for js, jsm and json.
This ensures the browser always recognizes these file type extensions
appropriately, even if not otherwise registered in the system.
2022-04-13 15:44:41 +02:00
Matt A. Tobin a0da6b5b68 No Issue - Update mach langpack with -v 2022-04-13 15:37:31 +02:00
trav90 bd99ce1461 Issue #1531 - Bump minimum required GCC version to 7.1 2022-04-12 10:06:02 -05:00
Moonchild bed3776982 Merge pull request 'Re-enable building of any XUL application via UXP toolkit' (#1856) from g4jc/UXP-contrib:build_blocker into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1856
Reviewed-by: Moonchild <moonchild@palemoon.org>
2022-04-12 02:53:43 +00:00
Gaming4JC ef236bef4f Re-enable non-comm-style XUL application builds with a warning
A check was placed here to ensure the platform is built comm-style e.g. 'your-application/UXP'. There are packaging instances where old-style is still used. This re-enables the old-style with a visual warning indicating that any failure is the responsibility of the application maintainter as this style is not supported by the platform.
2022-04-11 21:57:22 -04:00
Moonchild d90ce1e30a Merge pull request 'Follow-up: Remove grid preference check from developer tools' (#1855) from FranklinDM/UXP-contrib:work_css-grid-pref-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1855
2022-04-09 15:49:48 +00:00
FranklinDM bee1a6fe1c Issue #1838 - Follow-up: Remove grid preference check from developer tools 2022-04-09 22:15:18 +08:00
Moonchild f9caae6cfd Fix Mesa check + whitespace 2022-04-09 01:59:40 +02:00
Moonchild e10f9df9df Fix typo 2022-04-09 01:59:02 +02:00
Moonchild 7d87b7a270 [devtools] Restrict sourcemap URLs 2022-04-09 01:25:04 +02:00
Moonchild 3d43617bc1 [xpcom] xpcom Threadpool cleanup
Make sure thread locks are in place to guard accesses.
2022-04-09 00:33:41 +02:00
Moonchild ac9fdbf123 [js] Fix AliasSet of MLoadTypedArrayElementHole 2022-04-09 00:31:18 +02:00
Moonchild e6101f7fa6 No issue - Avoid WebGL crash on Mesa
This prevents too high vert-count draws that Mesa doesn't handle.
2022-04-08 22:55:27 +02:00
Moonchild 52bcfa36bf [XPCOM] xpcom/threads misc cleanup 2022-04-08 21:54:05 +02:00
Moonchild 6d9b8e43bf [NSS] Update NSS to 3.52.4 2022-04-08 21:44:21 +02:00
Moonchild ae8cc0e398 Issue #1836 - Implement Selection.setBaseAndExtent() 2022-04-08 20:28:55 +02:00
Moonchild 7d49b154e2 Issue #1840 - Try to deal with bad website scripting loading/unloading modules.
Apparently Bing does rapid-fire loading/unloading of module scripts that
causes our attempts at resolving and initializing them to end up with
null fetched modules.
Returning null is probably a better way to handle this than crashing
on ms->ModuleRecord() ;-)
2022-04-08 20:23:10 +02:00
Moonchild d5ae68701b Merge pull request 'Implement 'content' keyword for 'flex-basis' property and address spec changes' (#1854) from FranklinDM/UXP-contrib:work_css-flex-basis-content into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1854
2022-04-08 16:08:33 +00:00
Moonchild 330b866f46 Merge pull request 'Land final NSS-gyp work' (#1850) from nss-gyp-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1850
2022-04-08 13:07:17 +00:00
Moonchild edcbb85f5e Update 7zSD. 2022-04-08 15:05:09 +02:00
Moonchild c683df5483 No issue - Always build MAR support.
Even when there is no updater.
2022-04-08 15:04:57 +02:00
Moonchild 8862a2ebf7 [NSS] check for missing signedData field and bump version 2022-04-08 15:04:27 +02:00
Moonchild 82fa1fbf14 [DOM IndexedDB] Increase intermediate byte storage maximum capacity. 2022-04-08 15:04:04 +02:00
Paul Adenot faec3f2140 [DOM media] Handle truncated ADTS and MP3 resources. 2022-04-08 15:03:54 +02:00
Moonchild ab5f44b61d [devtools] Escape backtick characters 2022-04-08 15:03:43 +02:00
Moonchild c332210793 [interface] Make Windows non-ePopupLevelTop popups respect owner z-order 2022-04-08 15:03:34 +02:00
Yaron Tausky 6709388785 Bug 1650214 - Cancel progress timer when shutting down FileReader
Not canceling the timer when run in a worker could lead to the timer firing
after the primary worker runnable finished running, leading to an assertion
failure in cycle collector code.
2022-04-08 15:03:24 +02:00
Moonchild 2829b9387b [interface] Hold a self-reference in nsDataObj. 2022-04-08 15:03:12 +02:00
Moonchild 1e1a1e5c71 [DOM] Stop treating XSLT meta refresh as a special snowflake thing.
It's just not healthy. It'll get delusions of self-importance and go rogue.
Next thing you know it'll start identifying as other elements.
2022-04-08 15:03:02 +02:00
Moonchild 55d1aa0748 [interface] Don't block size mode changes. 2022-04-08 15:02:54 +02:00
Moonchild 9fd02b65e1 [win system] Update the list of delayed-loaded dlls
Primarily for those who custom-install and somehow mess up directory permissions
exposing themselves to dll injection attacks.
2022-04-08 15:02:20 +02:00
Steve Fink e6a9d13e64 [js] Add dynamic check for valid serialized length 2022-04-08 15:00:02 +02:00
Matt A. Tobin 8832bfb62f No Issue - Don't build the layout recorder unless debug 2022-04-08 14:58:33 +02:00
Moonchild 44e35f67b4 Issue #1853 - Follow-up: extend attribution mapping to resize and corner
controls to allow themes to respond to scrollbar-width.

Also clean up the comments and whitespace a bit.
2022-04-08 00:57:11 +02:00
Moonchild 56d9003017 Issue #953 - Neuter the user-facing controls for e10s
This should prevent people using a massive footgun that would blow off
their entire legs. Requires appropriate FE changes.
2022-04-08 00:55:37 +02:00
Moonchild e49b80dba7 Issue #1853 - Map scrollbar-width to an element attribute.
By mapping this to an attribute, this allows browser themes to respond to
the various available scrollbar width settings in CSS.
2022-04-08 00:40:49 +02:00
Moonchild 834ded7d18 Issue #1852 - Undo Stylo nonsense that breaks body and frame margins.
This restores support for using HTML tag styling of margins on the body.
Reftests post bug still pass for dynamic changes, so does the newly-added
test for body margins and frames that tests the old styling method.
This also removes the reftest list for stylo testing for obvious reasons.
2022-04-08 00:27:44 +02:00
Moonchild c617545914 Issue #1822 - Follow-up: Remove reputation check leftovers from jsdownloads. 2022-04-08 00:23:23 +02:00
Moonchild ee4e449e04 Issue #21 - Remove MOZ_SERVICES_HEALTHREPORT from old-configure.
Also remove irrelevant references from build docs.
2022-04-08 00:10:55 +02:00
Moonchild fd51da7587 Issue #1851 - Update embedded emoji font to Twemoji 13.1 (TM 0.6.0) 2022-04-08 00:01:44 +02:00
Moonchild e1a982d677 No issue - Fix a potential autocomplete issue.
Account for the case where we don't have a tree view in selectedIndex
setter which may break future autocompletes.
2022-04-07 23:57:37 +02:00
Moonchild b76d12c2bd [XPCOM] Use swap in nsThread::SetObserver. 2022-04-07 23:56:24 +02:00
Moonchild 57dffbd698 [DOM] Align XHR requests with the spec. 2022-04-07 23:55:45 +02:00
Moonchild e0e12932bc [Docshell] Implement reload flood guard 2022-04-07 23:54:44 +02:00
Olli Pettay 9a1e152ba3 [Docshell] Close ContentViewer properly if initialization fails. 2022-04-07 23:53:44 +02:00
Moonchild a9046dcd55 [Network] Escape external protocol handler URLs 2022-04-07 23:52:40 +02:00
Olli Pettay c265d1cb7c [DOM] Don't try to create too large string buffers 2022-04-07 23:49:05 +02:00
Moonchild d61076d50e No issue - Minor performance improvement in BidiUtils 2022-04-07 23:48:24 +02:00
Moonchild 43bed4dad8 [DOM] Fix handling of text fragments 2022-04-07 23:47:40 +02:00
Moonchild 3a27ace545 No Issue - Further optimize MSVC linker configuration
Minor update to linker configuration to leverage optimal amount of
threads and folding for the linker for the build hardware used.
2022-04-07 23:43:06 +02:00
Moonchild d3cc8bc1ae Issue #21 - Remove calls to Services.telemetry and nsITelemetry
These calls would cause breakage without the supporting plumbing.
2022-04-07 23:35:02 +02:00
Moonchild 4f6406f033 Issue #1847 - Clean up gyp[_base].mozbuild for Android removal. 2022-04-07 15:50:39 +02:00
Moonchild ce1c300502 Issue #1847 - Fixes for SunOS 2022-04-07 15:45:41 +02:00
Matt A. Tobin 6a0d77b68c Issue #1847 - Update generate_certdata.py so it matches what this
version of NSS expects.
2022-04-07 15:45:01 +02:00
Matt A. Tobin 3ceb3ee7ef Issue #1847 - Get NSS gyp to understand disabling avx2 in freebl 2022-04-07 15:44:14 +02:00
Matt A. Tobin 3adf5e5d9c Issue #1847 - Transfer build configuration to gyp 2022-04-07 15:43:28 +02:00
Matt A. Tobin b2ad7e8ed9 Issue #1847 - Updates to handle NSS
Bug 1295937
2022-04-07 15:42:57 +02:00
Matt A. Tobin 3b48d984b2 Issue #1847 - Restore build/gyp.mozbuild to m-esr52 state.
To do: remove android stuff again at the end.
2022-04-07 15:42:13 +02:00
Moonchild 02afcba614 Merge pull request 'Use RTTI when building protobuf with GCC' (#1849) from trav90/UXP-contrib:build-system-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1849
2022-04-07 13:38:57 +00:00
Travis W aed6c5eb62 Issue #1846 - Use RTTI when building protobuf with GCC 2022-04-07 13:15:18 +00:00
Moonchild 429a4cd9d7 Merge pull request 'Restore method that moves downloaded data's part file' (#1848) from FranklinDM/UXP-contrib:work_safebrowsing-removal-followup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1848
2022-04-07 10:37:33 +00:00
FranklinDM acf30bc5f4 Issue #1370 - Part 6: Update tests 2022-04-07 18:35:51 +08:00
FranklinDM ca38eaca70 Issue #1370 - Part 5: Regenerate developer tools' static CSS properties database 2022-04-07 18:35:51 +08:00
FranklinDM 567ba7ede6 Issue #1370 - Part 4: Treat flex-basis: content as max-content
This uses a different approach and builds upon the refactoring made in the 576eb6ee01fb9ee3669cad634b26473c2886cab1.

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1374540
2022-04-07 18:35:50 +08:00
FranklinDM 79b640795a Issue #1370 - Part 3: Implement content keyword for flex-basis property
Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1105111
2022-04-07 18:35:49 +08:00
FranklinDM 0b75a2a787 Issue #1370 - Part 2: Remove redundant special-case code for treating flex-basis enum values as 'auto' in vertical axis
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1436881
2022-04-07 18:35:48 +08:00
FranklinDM b8d18bace6 Issue #1370 - Part 1: Refactor nsFrame to use a separate function for handling flex-basis
This removes the need to keep the `flex-basis` handling code of the ComputeSize* functions in sync since they both call the same function now for this purpose.
2022-04-07 18:35:42 +08:00
FranklinDM ecbe89cd7d Issue #1822 - Follow-up: Restore method that moves downloaded data's part file
This commit fixes the issue where all downloaded files are empty/zero-byte by creating a new `_move` method, which is called in place of the removed `_checkReputationAndMove` method.

In 6042fdd44c the reputation check for downloads was removed but that same method is also being used for moving the part file of completed downloads, which consequently broke all downloads except those without a part file, and made them empty since the actual downloaded file isn't being moved.
2022-04-07 18:18:52 +08:00
Jeremy Andrews a7bb296293 Issue #1824 - Use Bash to check if config.status is up-to-date on SunOS.
The Python script here claims it can handle any Bourne-compatible shell, but the detection logic here really only works with GNU Bash. Not that there are that many Bourne-compatible shell implementations to compare against...
2022-04-06 23:51:45 +02:00
Moonchild 7da587d0aa Issue #21 - Remove unused telemetry build variables.
Hard-code the values in AppConstants.jsm for compatibility, even if
nobody should actually be using this in extensions or what not.
2022-04-06 23:48:37 +02:00
Matt A. Tobin ac50292859 Issue #1845 - Remove Marionette from toolkit.mozbuild
It even seems this was always forced enabled. :?
2022-04-06 23:42:28 +02:00
Matt A. Tobin 633a742916 Issue #1845 - Remove Marionette from mach_bootstrap.py 2022-04-06 23:29:58 +02:00
Moonchild 63b8aaa495 Issue #1845 - Remove Marionette files 2022-04-06 23:28:22 +02:00
Moonchild 4897e3653a Issue #184 - Get rid of embedding/ios 2022-04-06 23:19:49 +02:00
Moonchild af32d0b7d1 Issue #1843 - Expand on WindowsVersion.h to add later versions.
Needs future cleanup because of way too many named individual functions
and redundancy.
2022-04-06 22:56:00 +02:00
Jeremy Andrews e6c662b5c6 Issue # 1824 - Restore NSDISTMODE, and have SunOS use it by default.
To make a long story short, there's an old flag called NSDISTMODE that
was never added to old-configure so it could be passed down through the
build system to all the places it needs to go nowadays if used in your
.mozconfig, but which still sort of works when set as an environment
variable. If you leave it unset, it uses relative symlinks. However, it
has two other modes. One of them is "copy" and the other is
"absolute_symlink." Copy simply copies the files into the directory, and
absolute_symlink attempts to use absolute symlinks instead of relative
ones.

I've been wondering for a while now if there was a way to make the
shared library files in `dist/bin` that we use `./mach run` against
*not* be relative symlinks, and this seems to be that elusive technique.

It seems to be a part of the institutional memory that was all but lost
shortly after Netscape went under. You mostly see a few references to it
in NSS, NSPR, and the Makefiles in the `config` directory. And also
there is one reference in a Makefile in the application directory, which
seems to explains why application executables themselves usually aren't
symlinks:

/platform/libs/nspr/src/pr/src/md/unix/Makefile.in#76
/platform/libs/nss/src/coreconf/UNIX.mk#34
/palemoon/app/Makefile.in#30
/platform/config/config.mk#396

My patch essentially revives NSDISTMODE and makes it work as intended
again, more or less. Some parts of the work are loosely inspired by this
bug that was never finished upstream, showing that Mozilla only
rediscovered it earlier this year while trying to disable symlinks in
dist/bin for WSL, as far as I can tell.

https://bugzilla.mozilla.org/show_bug.cgi?id=1699855
2022-04-06 00:04:36 +02:00
Moonchild 6abe7e7914 Issue #1795 - Don't try to pass a dash array of > 16 elements to ExtCreatePen.
According to MSDN documentation, the count of the style array passed to
ExtCreatePen is limited to 16. When we call ExtCreatePen with cStyle=17 or more,
it simply returns an error and the cairo surface used for printing is getting
into an error state, after which nothing further gets printed.
Instead of erroring out, this code change returns an unsupported status so that
cairo will provide fallback handling for it.
2022-04-05 19:42:46 +02:00
David Major 7ab66b1c6a Issue #1795 - Reapply bug 624198 fix that got lost in an upstream update. 2022-04-05 19:41:10 +02:00
Moonchild df3eed4ef9 Issue #1795 - Increase the MAX_FONT_SIZE limit applied in cairo_ft_font
to match the Thebes gfxFont size limit.

Also adds synching comments just to be sure.
2022-04-05 19:39:53 +02:00
Moonchild 804d0f6604 Issue #1795 - Add closure point to bounds calculation.
This addition of a closure point (explicitly completing the closed shape) isn't
strictly needed in our current cairo version as it works perfectly fine without,
but if our clipping extents code changes then this might cause problems if the
extra point isn't added (in case of 0-length paths).
2022-04-05 19:25:09 +02:00
Moonchild 327f5499ca Issue #1795 - Extend cairo API with an explicit font_get_hint_metrics function.
This extension allows us to get font hint metrics without having to create and
destroy cairo font options structs. Since this is used in loops, this will
improve performance, especially in documents which have many text segments.
2022-04-05 19:23:28 +02:00
Moonchild 97f911427a Issue #1795 - Remove support for building without DirectWrite. 2022-04-05 19:21:29 +02:00
Moonchild 3b575dfced Revert "Merge pull request 'Update libcubeb to latest version' (#1812) from athenian200/UXP:libcubeb_final into master"
This reverts commit 0bc66e3b04, reversing
changes made to 6e6b5d8996.
2022-04-05 17:00:28 +02:00
athenian200 0bc66e3b04 Merge pull request 'Update libcubeb to latest version' (#1812) from athenian200/UXP:libcubeb_final into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1812
2022-04-05 13:35:47 +00:00
Moonchild 6e6b5d8996 Issue #1795 - Update libpixman 2022-04-05 14:51:06 +02:00
Moonchild 12635c1c22 Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2022-04-04 22:27:31 +02:00
Moonchild 4c0d99d173 Issue #457 - Silence warnings in libcairo and libpixman.
We know these issues exist due to it being old 3rd party code.
2022-04-04 22:22:24 +02:00
Moonchild 8399d85036 Issue #1841 - Part 3: Remove the Direct3D9 compositor. 2022-04-04 22:16:37 +02:00
Moonchild ef5083db5f Issue #1841 - Part 2: Remove D3D9 layer compositor references and
layer fallback code.
2022-04-04 22:15:34 +02:00
Moonchild cff9ef7fb8 Issue #1841 - Part 1: Ignore the values for D3D9 preferences, forcing
them to their current default, in preparation for the removal.
2022-04-04 22:14:00 +02:00
Moonchild 124a5a8eb7 Issue #457 - Fix double -> float warning in gfxUtils. 2022-04-04 22:08:36 +02:00
Moonchild a9376e01cb [layout] Hold strong references to delayed menu command events. 2022-04-04 22:07:00 +02:00
Moonchild 8884db9790 [DOM/XSLT] Pass sandbox flags from source doc. 2022-04-04 22:06:43 +02:00
Moonchild 28a69cf1e2 Use brace initialization for Atomics.
Remind me to always build BEFORE committing :P
2022-04-04 22:06:25 +02:00
Moonchild bdfc1adbd2 [network] Make several variables atomic in nsSocketTransport2.
Fixes potential thread races between:
- nsSocketTransport::OnInputClosed and nsSocketTransport::OpenInputStream.
- nsSocketTransport::OnOutputClosed and nsSocketTransport::OpenOutputStream.
- nsSocketTransport::Close and nsSocketTransport::RecoverFromError called from
  OnSocketDetached.
2022-04-04 22:06:07 +02:00
Moonchild f990d9a46a [network] Use a COM pointer instead of NS_ADDREF in nsSocketTransport2.cpp 2022-04-04 22:05:50 +02:00
Moonchild 497e453fe7 [network] Align IDN normalization with the current spec. 2022-04-04 22:05:33 +02:00
Moonchild 7dec0edf50 [network] Tighten checks for ACE (punycode) encoding. 2022-04-04 22:05:15 +02:00
Moonchild 97ee3ee428 [network] Clean up IDN logic and add some corner case use. 2022-04-04 22:04:54 +02:00
Moonchild 18cfe514ab Merge branch 'master' of https://repo.palemoon.org/MoonchildProductions/UXP 2022-04-04 17:34:00 +02:00
Moonchild 15aafa8a46 Revert "Issue #1806 - Part 1: Update cubeb"
This reverts commit 711e049432.
2022-04-04 17:33:26 +02:00
Moonchild 757a30f720 Revert "Issue #1806 - Part 2: Adjust the platform for lib changes"
This reverts commit 3635039d2b.
2022-04-04 17:33:15 +02:00
Moonchild 78d1f68932 Merge pull request 'Support updated box alignment spec on gap properties' (#1839) from FranklinDM/UXP-contrib:work_css-boxalign-gap into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1839
2022-04-04 01:47:29 +00:00
FranklinDM b226f8942d Issue #1838 - Part 7: Update tests 2022-04-02 23:14:36 +08:00
FranklinDM f1c2ba75d1 Issue #1838 - Part 6: Re-resolve row-gap against the sum of row track sizes for auto-sized grid containers
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1458902
2022-04-02 23:14:30 +08:00
FranklinDM f3707e0637 Issue #1838 - Part 5: Address follow-up issues to initial flexbox layout for (column|row)-gap properties
Notes:
* Bug 1473044 - Make flexbox cross size take row/column gap into account
https://bugzilla.mozilla.org/show_bug.cgi?id=1473044
* Bug 1473047 - Re-resolve row-gap percentages after intrinsic block size calculated
https://bugzilla.mozilla.org/show_bug.cgi?id=1473047
* Bug 1612401 - Prevent absolute-positioned children from contributing gap size to flexbox's inline-size
https://bugzilla.mozilla.org/show_bug.cgi?id=1612401
* Bug 1639627 - Make flex-container percent 'row-gap' values resolve to 0, when they're resolved against an indefinite block-size (essentially reverts Bug 1473047)
2022-04-02 23:14:25 +08:00
FranklinDM ed8d7f1391 Issue #1838 - Part 4: Implement flexbox layout for (column|row)-gap properties
This implements flexbox layout for the gap properties without the refactoring work performed on `nsFlexContainerFrame`.

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1398483 and https://bugzilla.mozilla.org/show_bug.cgi?id=1454822

This excludes the second part of bug 1454822, the width caching implementation, because it is out of scope and currently causes unstable layout with `writing-mode: vertical-lr` (see bug 1709937).
2022-04-02 23:14:18 +08:00
FranklinDM 7e975c2c5b Issue #1838 - Part 3: Regenerate developer tools' static CSS properties database 2022-04-02 23:14:09 +08:00
FranklinDM 4608ae53aa Issue #1838 - Part 2: Remove grid- prefix from grid-(column|row)-gap properties
This removes the `grid` prefix from the gap-related properties of grid since they are now part of the box alignment specification. Former grid-gap* properties were aliased to the unprefixed properties to maintain compatibility.

The previously multi-column layout only `column-gap` property has been modified to apply to the Grid layout (and Flexbox in a following commit), moving the `mColumnGap` member variable from `nsStyleColumn` to `nsStylePosition`.

Notes:
* Bug 1398537 - support for percent values in column-gap for multi-column layout landed as part of Issue #1230. However, it was incomplete because it did not update `nsRuleNode` to allow transformation of percentage values for `column-gap`. This was consequently fixed as part of this commit.
* Bug 1456166 - this might not apply because we don't have that devtools test in UXP
* `nsRuleNode`, `nsCSSParser`, `Declaration`, and other related classes were merged into Stylo. These should be taken into consideration when porting patches from Mozilla.

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1398482
2022-04-02 23:14:04 +08:00
FranklinDM 121ee9438c Issue #1838 - Part 1: Remove CSS grid preference
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1398492
2022-04-02 23:13:54 +08:00
Moonchild ba4eba034f Issue #21 - Remove telemetry from PopupNotifications.jsm. 2022-04-02 14:51:59 +02:00
Moonchild 534de5cc5b Issue #21 - Remove remaining telemetry structs, callers and flags. 2022-04-02 14:49:45 +02:00
Moonchild 023a71c6f2 Issue #21 - Remove Telemetry from Accessibility, EME and WebRTC. 2022-04-02 14:48:02 +02:00
Moonchild c83282fd4d Issue #21 - Remove Telemetry from Push and devtools. 2022-04-02 14:45:36 +02:00
Moonchild d60103257e Issue #21 - Remove Telemetry accumulation/structures from toolkit js.
This fixes toolkit modules and prevents toolkit component breakage.
Also removes about:telemetry
2022-04-02 14:42:57 +02:00
Moonchild ee86d3eb9c Issue #21 - Remove Telemetry plumbing and fix build.
Note this won't give working applications. Requires FE changes and
additional js module changes (next part).
2022-04-02 14:39:54 +02:00
Moonchild d0acadd727 Issue #1806 - Follow-up: Fix WebRTC issues with cubeb update. 2022-04-02 14:36:54 +02:00
Matt A. Tobin 9a811901ef No Issue - Make building the backend fun again! 2022-04-02 14:27:46 +02:00
Matt A. Tobin 4a7af0d90f Issue #1835 - Part 2: Remove config and most mentions of XULRunner
Resolves #1835
2022-04-01 17:33:23 +02:00
Matt A. Tobin 0f52679d2e Issue #1835 - Part 1: Remove /xulrunner application dir. 2022-04-01 17:27:20 +02:00
Moonchild e00bc543ad [No issue] Don't rely on nsCRT from jsdate. 2022-04-01 17:19:24 +02:00
Jeremy Andrews 1e8c040307 No Issue - Clean-up stray right parenthesis 2022-04-01 17:17:29 +02:00
Moonchild 7c90c0205c Issue #1822 - Part 4: Remove URL classifier and internal blocklist errors.
This removes NS_ERROR_{TRACKING|MALWARE|PHISHING|UNWANTED|BLOCKED}_URI
that are no longer in use.
2022-04-01 16:05:02 +02:00
Moonchild a95439db61 Issue #1822 - Part 3: Remove LOAD_CLASSIFIER_URI and various
helper functions.
2022-04-01 16:03:01 +02:00
Andrea Marchesini f5fcb8a32c Issue #1833 - Get rid of ArchiveReader API 2022-04-01 15:53:22 +02:00
Moonchild ce0cefe053 Issue #1053 - Second pass remove android defines and build system stuff.
Mostly IPC, tools and mozbuild.
2022-04-01 15:47:43 +02:00
Matt A. Tobin 35e7103093 No Issue - Remove Mozilla source tree bootstrapping python module
Part of Mozilla's DaaS, "bootstrapping" the tree is heavily dependent on
Mozilla infrastructure, m-c structure and dependencies, libs, toolchain,
etc. and would never work for us. Sweeping some clutter, in other words.

This copies in a function that was imported from mozboot to satisfy deps.
2022-04-01 15:35:04 +02:00
Moonchild 426a9755d9 Issue #1053 - Remove Android systrace, more build system removals.
Also updates more comments.
2022-04-01 15:28:15 +02:00
Moonchild c14bb310ce Issue #1053 - Clean up docs and some code comments.
Polish only, no code changes.
2022-04-01 15:26:49 +02:00
Moonchild ccee5c781b Issue #1053 - Remove android-ndk from mozconfigure. 2022-04-01 15:25:14 +02:00
Moonchild d5934d65de Issue #1053 - Remove some Android compiler/runtime bug workarounds. 2022-04-01 15:23:31 +02:00
Moonchild 39f9ab375b Issue #1053 - Remove /dom/system/android and dependent modules,
as well as robocop.
2022-04-01 15:22:15 +02:00
Moonchild 28a3cd1028 Issue #1053 - First pass Android defines and remove Android Annotation
processors, some Andoid packaging stuff, Eclipse IDE support et al.
2022-04-01 15:17:54 +02:00
Moonchild f987138760 Issue #1053 - Remove Android WebGL/EGL extensions. 2022-04-01 15:16:42 +02:00
Moonchild 1803c596dc Issue #1822 - Part 2: Remove Google API key parsing in URLS. 2022-04-01 15:12:20 +02:00
Moonchild 6042fdd44c Issue #1822 - Part 1: Remove Google Safebrowsing plumbing
This removes support for querying Google services for reputation data
for sites and downloads.
2022-04-01 15:10:04 +02:00
Jeremy Andrews c56023163b Issue #1832 - Account for shadow boundaries in nsFrameManager.
Resolves #1832
2022-04-01 15:00:11 +02:00
Moonchild 1caa678592 Issue #1831 - Add an option to enable TLS 1.3 "compatibility" mode.
Critical note: this potentially reduces the strength of TLS 1.3 and
should only be enabled if absolutely necessary to access a site.
A browser restart is required for the pref change to take effect as it
is set on NSS initialization.

Resolves #1831
2022-04-01 14:52:46 +02:00
Moonchild ddaee7c1be Issue #1830 - Remove --disable-xul config and conditionals. 2022-04-01 14:47:16 +02:00
Moonchild c030a50228 Issue #1721 - Implement GlobalPrivacyControl
(and get rid of failed DoNotTrack)
2022-04-01 14:41:51 +02:00
Moonchild e4c6db86b8 [WebRTC] Clean up encode callback during GMP release. 2022-04-01 14:40:31 +02:00
Moonchild a7b63631b0 No issue - Clean up some obsolete/archaic code paths. 2022-04-01 14:38:31 +02:00
Matt A. Tobin cdff23ad0b Bug 1340030 - Remove necko_standalone lib
The only users of this library were removed by Bug 1239866 and Bug 1239870 as part of the larger removal of libxpcomrt in Bug 1237409.

This was done before our fork point..
2022-04-01 14:32:45 +02:00
Matt A. Tobin 3635039d2b Issue #1806 - Part 2: Adjust the platform for lib changes 2022-04-01 14:31:39 +02:00
Matt A. Tobin 711e049432 Issue #1806 - Part 1: Update cubeb 2022-04-01 14:29:58 +02:00
Moonchild 57c4f24573 [Autocomplete] Add styling for Pale Moon's private-* implementation of AC popups 2022-04-01 14:28:46 +02:00
Moonchild 808f96cc8f Increase MAX_ICON_SIZE to account for more common use of HiDPI icons.
This change was unintentionally reverted when importing gecko/44 search service
code.
2022-04-01 14:28:27 +02:00
Olli Pettay 2a9d0cc5af [XPCOM] be more precise when counting the number of allocator users
This patch is based on code inspection.
One could also move sAllocatorUsers to Free(), but it shouldn't matter
in practice.
2022-04-01 14:28:04 +02:00
Moonchild 1fa4cfb004 [Network] Block mk: protocol to work around MSIE vulnerability. 2022-04-01 14:27:48 +02:00
Moonchild 44d2b36eff [DOM] Use RefPtr in ContentChild::RecvGetFilesResponse. 2022-04-01 14:27:25 +02:00
Jeremy Andrews bb830b178a Issue #1806 - Convert DOS line endings to Unix line endings.
When redoing my work and creating a new file on Windows, I forgot to ensure it didn't have CRLF line endings.
2021-08-27 14:24:40 -05:00
Matt A. Tobin c6b1b30bb5 Issue #1751 - Fix preprocessor typo to restore ARM Linux buildability 2021-08-25 18:47:59 -04:00
Jeremy Andrews 5f1430b0bd Issue #1806 - Part 8: Fix Linux and SunOS build again.
The patches didn't reapply for some reason, so this restores the working state.
2021-08-24 17:52:06 -05:00
Jeremy Andrews b818d43967 Issue #1806 - Part 7: Fix up weird issue introduced when redoing branch.
Apparently this time I accentally pulled a random + and - sign into a couple files because I wasn't careful to look at the raw versions on Bugzilla.
2021-08-24 17:19:47 -05:00
Jeremy Andrews a21085b86b Issue #1806 - Part 6: Make it build on Windows.
Without this change, you get an error about external linkage or something. These files are now used outside of WebRTC.
2021-08-24 16:15:22 -05:00
Jeremy Andrews 89c3761e5c Issue #1806 - Part 5: Add multichannel audio capability.
I'm positive this works on Windows at the very least. Cubeb added proper channel map support at some point, and this allows us to take advantage of that.

Ref: BZ 1431221, BZ 1432779
2021-08-24 16:07:22 -05:00
Jeremy Andrews 893fc90379 Issue #1806 - Part 4: Add more audio troubleshooting information.
This should help us troubleshoot audio issues better in the future in general, since we'll know more about the hardware involved, etc.
2021-08-24 14:35:49 -05:00
Jeremy Andrews 41b1b3947c Issue #1806 - Part 3: Allow forcing a particular libcubeb backend.
This streamlines troubleshooting in situations where multiple audio backends are compiled into the binary. Now testing different audio backends is as simple as restarting the browser and changing a pref rather than requiring a full recompile.
2021-08-24 13:42:09 -05:00
Jeremy Andrews c23dab7adc Issue #1806 - Part 2: Move AudioConfig stuff from MediaInfo.h to MediaData.h.
This avoids circular dependencies, because otherwise the two headers would try to include each other.
2021-08-24 13:12:43 -05:00
Jeremy Andrews cc75c6a6e9 Issue #1806 - Part 1: Restore libcubeb update.
Restore the proper working environment for libcubeb work after reversion.
2021-08-24 10:38:44 -05:00
Moonchild ee49838173 Revert "Issue #1806 - Update libcubeb"
This reverts commit 741fd8b61c.
2021-08-22 17:39:55 +00:00
Moonchild a725c0fe3d Revert "Issue #1806 - Follow-up: New libcubeb uses incorrect audio backend for Oracle Solaris."
This reverts commit 9d4f14582b.
2021-08-22 17:39:42 +00:00
Moonchild 5d09ddb574 Revert "Issue #1806 - Follow-up: Restore PulseAudio support in libcubeb."
This reverts commit 0c2a0f45ec.
2021-08-22 17:39:29 +00:00
Moonchild 0c2a0f45ec Issue #1806 - Follow-up: Restore PulseAudio support in libcubeb.
This was incorrectly removed because we aren't using a Rustified abstraction.
2021-08-21 08:10:13 +00:00
Coordinator Tobin 4ac28d1d48 Merge pull request 'Follow-up: New libcubeb uses incorrect audio backend for Oracle Solaris.' (#1809) from athenian200/UXP:use_sun_audio into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1809
2021-08-19 02:37:04 +00:00
Jeremy Andrews 9d4f14582b Issue #1806 - Follow-up: New libcubeb uses incorrect audio backend for Oracle Solaris.
Mozilla picked up a change to libcubeb moz.build file from the FreeBSD project. Using OSS directly works fine in Illumos, but Oracle Solaris still has to use a Sun-specific API for sound to work, even though it also uses OSS under the hood. No code changes are needed here, the build configuration is just not what Solaris needs even though it's fine for Illumos. The Sun-specific API works for both, though, and should thus be preferred.
2021-08-18 17:24:13 -05:00
Moonchild a5a14974a1 Issue #1797 - Implement WindowOrWorkerGlobalScope.origin
Resolves #1797
2021-08-15 11:45:53 +00:00
Moonchild 9baa17379e Bump platform version. 2021-08-13 09:43:04 +00:00
Moonchild 225b5e5e5a [db] Update SQLite to 3.36.0 2021-08-13 09:41:57 +00:00
Moonchild 741fd8b61c Issue #1806 - Update libcubeb
This is a full lib update, changing callers where needed.
This also moves GertCubeMSGLatencyInFrames to CubebUtils.{cpp|h} where it
belongs.
2021-08-12 14:14:18 +00:00
Jens Stutte fe2ea0ce88 [DOM] Be more explicit about the WorkerPrivate self-reference. 2021-08-12 11:39:07 +00:00
Moonchild fa49002626 [MFBT] Convert debug asserts to early returns for situations that should
never occur.
2021-08-12 11:30:26 +00:00
Moonchild ca1a84cb93 [DOM/NPAPI] Defer loading object when setting attribute. 2021-08-12 00:27:34 +00:00
Moonchild 61a3331fe2 [network] Use a proof of lock everywhere in cache v2. 2021-08-11 23:49:44 +00:00
Moonchild 4932924d67 Issue #1675 - Move regexp to new-regexp to make bz porting simpler. 2021-07-30 11:24:18 +00:00
Moonchild 66cd46d9bc Issue #1679 - Part4: Clean up commented-out/WIP code. 2021-07-30 09:58:15 +00:00
Moonchild 979c60bc7c Issue #1679 - Part 3: Make everything build on supported compilers. 2021-07-30 09:43:28 +00:00
Moonchild 6203743160 Issue #1781 - Follow-up: fix debug assert in MergeMultiplicativeR() 2021-07-24 06:42:30 +00:00
Moonchild 738448aa0d [no issue] Replace PurpleBlock with SegmentedVector to reduce indirect memory
accesses when calling suspect

Improves overall memory performance.
Also prerequisite for further work on #1677.
2021-07-23 15:29:24 +00:00
Moonchild 74989fb284 Merge pull request 'Implement Promise.allSettled()' (#1796) from athenian200/UXP:Promise-allSettled into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1796
2021-07-18 17:03:03 +00:00
athenian200 22377b86a3 Merge branch 'master' into Promise-allSettled 2021-07-15 16:21:00 +02:00
Jeremy Andrews 5764d0c28d Issue #1725 - Fix logic in PerformPromiseAllSettled.
This function essentially appears to work as written, there was an issue with it returning false too early in some situations that prevented it from working properly.
2021-07-15 03:08:11 -05:00
Moonchild c198ef11b9 [layout] Ensure we set the primary frame for native anon content where needed. 2021-07-15 04:11:48 +00:00
Moonchild caf98496b7 Revert "[accessibility] Remove selection listeners from shutting down PresShell."
This reverts commit 684000d9a5.
2021-07-14 17:30:58 +00:00
Eitan Isaacson 684000d9a5 [accessibility] Remove selection listeners from shutting down PresShell. 2021-07-14 16:40:33 +00:00
Moonchild 00f9e24368 [gfx] Hard-block old mesa/nouveau versions 2021-07-14 15:15:14 +00:00
Dana Keeler 361743b222 [NSPR] Lock access to PRCallOnceType members in PR_CallOnce* for thread safety.
Cherry-picked upstream fix from 4.31
2021-07-14 14:42:24 +00:00
Moonchild ce2938d274 [ANGLE] Cherry-pick upstream fix 2021-07-14 13:51:11 +00:00
Valentin Gosu 6fe78cec8a [network] Make CacheIOThread::ThreadFunc hold reference to thread. 2021-07-14 13:27:14 +00:00
Moonchild 8cc2f6ba9b [network] Add some sanity checks to deserialized nsStandardURLs
Note: C++ lambda expressions are actually useful for once.
2021-07-14 13:20:09 +00:00
Moonchild 8ea119da4a [network] Stop blocking 10080
Port 10080 is shared by too many devices and services that do need http(s)
access, so this port should not be blacklisted by default.
2021-07-14 01:51:13 +00:00
Moonchild f864b515d9 WIP: Base implementation 2021-07-13 20:09:21 +00:00
Matt A. Tobin 3003f52e1d Issue #1793 - Only use Glass on the Toolkit Download Manager on Windows 7 2021-07-12 13:11:40 -04:00
Matt A. Tobin cc934f8264 Issue #1793 - Only use proper Aero Styling in the Toolkit Error Console on Windows 7 2021-07-12 13:00:51 -04:00
Matt A. Tobin 1327910cda Issue #1793 - Add a border-bottom to treecols header 2021-07-12 12:58:30 -04:00
Matt A. Tobin 3b7f2ddd3c Issue #1793 - Add a border-bottom to toolbox
Follow-up to e8be661944
2021-07-12 12:57:39 -04:00
Moonchild 82b1fdca1f Issue #1792 - Part 4: Implement constructors for the EventTarget interface. 2021-07-12 03:06:58 +00:00
Moonchild 1b86eb76fc Issue #1792 - Part 3: Add ConstructibleEventTarget helper class.
Of course it couldn't be trivial :P
wrapObject is a pure virtual function which prevents an abstract constructor
from being used.
So, we need to extend DOMEventTargetHelper (applicable acronym: DETH :D) with
a wrapObject implementation - in a derivative class is the clearest way to do
this, as opposed to making DETH more complex.
2021-07-12 03:04:29 +00:00
Moonchild ea0e4de698 Issue #1792 - Part 2: Move GetParentObject() to EventTarget.h for re-use. 2021-07-12 02:56:48 +00:00
Moonchild 6e7adbe74d Issue #1792 - Part 1: Remove superfluous check for abstract ancestors.
This removes some restrictions on whether an interface that implements
QueryInterface can have a non-abstract ancestor.

This restriction was put in place back when we automatically added
QueryInterface to all rootmost non-abstract interfaces (~Pale Moon 24).
At the time, we needed to make sure it did NOT end up on EventTarget, because
back then WebIDL quickstubs would replace the QI implementation on non-WebIDL
EventTargets with the WebIDL one, which would not work for them.

Since then, we have removed WebIDL quickstubs and we now explicitly list which
interfaces get QueryInterface, so this check is no longer needed.
2021-07-12 02:54:51 +00:00
Moonchild a58b35c01b Issue #1757 - Follow-up: Remove some stray WPT leftovers.
These were re-introduced when reverting the <details> element pref changes.
2021-07-12 02:50:57 +00:00
Moonchild 5e6305573f [network] Stop treating http and https as different for encoding schemes.
There is no reason to treat available encoding schemes for these protocols
differently.
2021-07-10 13:00:14 +00:00
Moonchild 3163b3af18 [network] Enable brotli compression on http for sites that offer it. 2021-07-06 03:07:36 +00:00
Moonchild 1fb9257ed8 [toolkit] Slightly lighten light-mode logopage background 2021-07-05 18:40:09 +02:00
Moonchild 72d0b86709 [Toolkit] Update logopage styling.
Part of the UX refresh Pale Moon effort. This uses the new -moz-dark-theme media
query to make the logopage dark if the UI is dark, without explicitly relying on
(often not sane) system color values.
2021-07-01 17:48:58 +00:00
Moonchild 2215d8467e Issue #1751 - Remove Mac/ARM C fallback on gcc from pixman 2021-06-25 19:25:29 +00:00
athenian200 a0461e3775 Issue #1784 - Add -moz-dark-theme media query and allow prefers-color-scheme to follow it. 2021-06-22 18:14:44 +00:00
Matt A. Tobin 4490f61f58 [Toolkit] Attempt to initialize DownloadTaskbarProgress when onDownloadWindowLoad() is called so that DownloadTaskbarProgress from the Downloads Manager window works when the application doesn't explicitly invoke onBrowserWindowLoad(). 2021-06-22 01:54:11 -04:00
Moonchild 1fe9c19305 Issue #1751 - Remove Mac code behind MOZ_WIDGET_TOOLKIT == 'cocoa' 2021-06-21 17:52:42 +00:00
Moonchild 5afcb4a092 [whitespace] Fix CRLF line endings.
When originally implementing ResizeObserver, line endings ended up being CRLF
instead of LF. This commit fixes those line endings (no code changes)
2021-06-21 00:40:58 +00:00
Moonchild 8689ac6304 Bump platform version 2021-06-19 23:02:06 +00:00
Moonchild 014fdd0521 Merge branch '1783' 2021-06-19 23:00:12 +00:00
New Tobin Paradigm 2c626f6046 Merge pull request 'Support detecting bool preferences in chrome stylesheets' (#1785) from athenian200/UXP:bool-chrome-stylesheets into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1785
2021-06-19 20:40:11 +00:00
Jeremy Andrews 4dac05e0e0 Issue #1776 - Support detecting bool preferences in chrome stylesheets
This functionality was already added to Gecko for UA stylesheets allow the "dom.details_element.enabled" preference to work. I changed the condition to allow bool preferences to be used in chrome stylesheets as well.
2021-06-19 15:01:08 -05:00
Moonchild cfdfbcf059 Issue #1783 - Part 3: Remove ResizeObservation's BroadcastSize.
This is chrome-only and unused, and interfered with getting the spec update in.
2021-06-19 15:40:37 +00:00
Moonchild 6f7dd6fd98 Issue #1783 - Part 2: Update ResizeObserver and resizeObserverSize.
This adds the later spec revision's contentBoxSize and borderBoxSize, and the
inlineSize and blockSize concepts.
The older spec contentRect remains functional as well for backwards
compatibility with the earlier spec (that was IMHO perfectly fine as it was...)
2021-06-19 15:38:14 +00:00
Moonchild 22a75217e1 Issue #1783 - Part 1: Move GetNodeDepth to ResizeObserver.cpp
GetNodeDepth() is a specialized version for ResizeObserver to get the depth of
a node across Shadow DOM. It's better to have this in ResizeObserver.cpp
instead of the generic ContentUtils.

Also updated the function to bypass the shadow root itself and not count it
because ResizeObserver doesn't observe the shadow root and only needs the
relative depths among all observed targets. IOW we use the flattened tree here.
2021-06-18 17:44:33 +00:00
Moonchild a970411caf Issue #1782: Remove Luna, Royale and Zune support from the platform.
These are obsolete system themes; the platform will fall back to generic/unknown
theme support instead.
2021-06-14 11:52:16 +00:00
Matt A. Tobin e8be661944 [Toolkit] Don't use the "aero" msstyle provided toolbox background on Windows 10 2021-06-12 13:13:08 -04:00
Moonchild 5ab5ce9c4f Issue #1781 - Part 3: Add reftest for the static calc() case. 2021-06-12 11:54:09 +00:00
Moonchild 205e69e2bb Issue #1781 - Part 2: Fix animation interpolation for stroke-dashoffset.
Since we have calc() and floats working now, this is a trivial fix.
2021-06-12 11:36:16 +00:00
Moonchild c337c1496b Issue #1781 - Part 1: support calc() in stroke-dashoffset CSS
This adds basic calc() support to stroke-dashoffset. It does not provide
CSS animation (yet, todo for part 2)
2021-06-12 01:12:39 +00:00
Moonchild 7f6f1c664d [js] Fix porting typo
Follow-up for 9acd98298c
2021-06-03 00:23:41 +00:00
Jan de Mooij 9acd98298c [js] Fix invalid early return in BaselineFrame::trace.
We were not tracing debugger environments for Baseline frames without any
local/expression slots.
2021-06-02 10:29:47 +00:00
Moonchild ce71c0fe3f [toolkit] Exclude printer spew from troubleshooting information.
In almost all cases this is pointless to include, a ton of useless entries,
and there's no reason to have people post a full enumeration of installed
printers on their system when asked for TS information.
If there's a printer specific issue, people can always be asked to post relevant
info manually.
2021-06-02 09:44:59 +00:00
Matt A. Tobin 42cf1ad419 Issue #1774 - Add metrics to the editable menulist-button for GTK3 2021-05-31 18:55:45 -04:00
Moonchild 6272d48e86 Revert "Issue #1774 - Make menulist-button visible again in gtk3"
This reverts commit 0a0830ba8b.
2021-05-31 17:56:30 +00:00
Moonchild 27e7b312a5 Merge pull request 'Issue #1774 - Make menulist-button visible again in gtk3' (#1775) from jobbautista9/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1775
2021-05-31 15:30:27 +00:00
Job Bautista 0a0830ba8b Issue #1774 - Make menulist-button visible again in gtk3 2021-05-31 22:59:39 +08:00
Moonchild c921ad59d5 Issue #1772 - Stop using legacy code page conversion for file paths on Linux.
OS.File already only supports UTF-8 paths on non-Windows systems, so this change
makes our different ways of accessing file paths consistent with each other.
This should prevent unexpected crashes in glibc that expect UTF-8.

This resolves #1772.
2021-05-14 12:25:57 +00:00
Moonchild 349346d0b7 Revert "Issue #21 - Remove TelemertyVFS"
This:
- reverts commit 83ecae9ff7
- adds a failure check to Connection::GetQuotaObjects

This resolves #1768.
2021-05-14 10:50:53 +00:00
Moonchild e983389355 [network] Fix typo in port blocking range check.
This fixes a typo in 5e705bd505
2021-05-12 20:25:55 +00:00
Moonchild 2b7197465d Merge pull request 'Fix undefined event error thrown when scrolling on the auto scroll pop-up' (#1771) from FranklinDM/UXP:scroll-wheel-event-work into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1771
2021-05-12 14:20:11 +00:00
FranklinDM 5c583e905e Issue #1770 - Fix incorrect reference to event parameter 2021-05-12 14:21:12 +08:00
Moonchild 1ee35eafa0 Issue #1751 -- Remove cocoa and uikit gfx and hal support code 2021-05-09 21:36:43 +00:00
Moonchild b5ece9f771 Issue #1751 -- Update crashtests 2021-05-09 00:29:23 +00:00
Moonchild 08da125d9c Issue #1751 -- Remove cocoa and uikit widget support code 2021-05-08 21:00:49 +00:00
Moonchild ca35efb84e Issue #1751 -- Remove cocoa support code from /dom 2021-05-08 20:59:55 +00:00
Moonchild e7e63565ee Issue #1751 -- fix up a few stray #ifs 2021-05-06 16:47:48 +00:00
Moonchild 6f707bde95 Issue #1751 -- Remove XP_MACOSX conditionals from the rest of the tree.
This also removes some PP abuse and takes file entries out of PP when no longer
needed without XP_MACOSX conditionals.
2021-05-06 09:24:03 +00:00
Moonchild aa0fd3d68c Issue #1751 -- Remove XP_MACOSX conditionals from /layout 2021-05-03 12:26:37 +00:00
Moonchild 1bf0734a72 Issue #1751 -- Remove XP_MACOSX conditionals and support files from /xpcom 2021-05-03 11:35:41 +00:00
Moonchild b1eb04d3f0 Merge branch '1767' 2021-05-02 20:28:54 +00:00
Moonchild 616b39413d Issue #1751 -- Remove XP_MACOSX conditionals and support files from /gfx 2021-05-02 20:28:36 +00:00
Moonchild cd1f724135 Issue #1751 -- Remove files unused without XP_DARWIN 2021-05-02 07:11:32 +00:00
Moonchild 3d671e4275 Issue #1751 -- Remove XP_DARWIN 2021-05-02 07:10:18 +00:00
Moonchild 56da7e2747 Issue #1751 -- Remove XP_IOS 2021-05-01 07:15:13 +00:00
Moonchild 0dd3424f77 Issue #1751 -- Remove XP_MACOSX conditionals from /dom 2021-04-30 21:22:08 +00:00
Moonchild 4e31a42b28 Issue #1767 - Prevent incorrect calling of network change detection function.
This rewrites the websocket channel network change detection function to not
skip part of its logic in a situation that has already been checked, preventing
a thread race. See analysis of the problem in the issue.
2021-04-26 10:26:22 +00:00
Moonchild 5e705bd505 [Network] Solve type mismatch in AllowPort().
Casting it to an int16_t was wrong and would preclude the check for high port
numbers (due to overflow).
This makes the type matching, but adds an explicit check to ensure the port
number passed in is within a valid range.
2021-04-20 13:12:38 +00:00
Jeff Gilbert 88a34442a3 [WebGL] Bind framebuffer before DrawBuffers/ReadBuffer selection. 2021-04-20 12:46:56 +00:00
Moonchild cf3b5cb6cc [DOM] Add missing IDL definitions for CSP .nonce attributes.
Apparently Mozilla completely spaced out on this when adding the CSP nonce
mechanism, potentially causing web compat issues if scripting relies on
being able to get/set nonces through DOM and/or causing CSP policy check
issues if websites try to "hide" nonces.
2021-04-19 20:47:29 +00:00
Moonchild 6f50c402b3 Merge pull request 'Allow use of Tauthon instead of Python 2.7' (#1762) from OlCe1/UXP:tauthon-build-support into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1762
2021-04-08 02:26:58 +00:00
Olivier Certner 264b79b31d Issue #1761 - Enable use of Tauthon instead of Python 2.7 at build
Make essential Tauthon's builtins and modules available in sandboxes, without
disrupting building with Python 2.7.

1. Allow new builtins and modules. "__build_class__" is for
building... new-style classes (to handle the new metaclass syntax imported from
3.x). "_oserror" is necessary because of internal changes to raise errors
deriving from OSError (which are reported as IOError if not caught).
2. Look for modules and packages in the right places.

This was tested on FreeBSD, and should work out of the box on Linux.
2021-04-07 16:12:20 +02:00
Moonchild b9d8b3aa2d Merge branch '1756'
This resolves #1756
2021-04-01 10:44:59 +00:00
Moonchild 5e6b15940f Merge pull request 'Reinstate "dom.details_element.enabled" preference' (#1758) from athenian200/UXP:details_element_pref into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1758
2021-04-01 07:17:23 +00:00
athenian200 82cb11de19 Issue #1757 - Reinstate "dom.details_element.enabled" preference
The removal of this preference was botched, all other surrounding plumbing changes appear to be working okay. The ability to use prefs to control this stylesheet might be useful in the future, so perhaps this is one of those "if it ain't broke, don't fix it" bugs where leaving well enough alone in the first place would have been the best choice.
2021-03-31 17:57:48 -05:00
Moonchild e07dee79c5 Issue #1756 - Clean up ICU patch.
We don't need ICU_UNUM_HAS_FORMATDOUBLEFORFIELDS because we don't support any
ICU other than the one in-tree.
2021-03-31 15:41:38 +00:00
Moonchild 685dafd775 Issue #1756 - Expose NumberFormat.formatToParts() to content. 2021-03-31 14:45:56 +00:00
Moonchild 1271dbeaf3 Issue #1756 - Initial wrapped implementation in C++ 2021-03-31 11:54:20 +00:00
Moonchild 2953a5b1a1 Issue #1755 - Add smooth, high-quality and pixelated to CSS image-rendering 2021-03-28 10:55:28 +00:00
Moonchild b969ea3b9c Issue #1754 - Fix clip path overflow.
Resolves #1754.
2021-03-26 17:19:27 +00:00
Moonchild 698b235b28 [WebRTC] Apply port restrictions to peerconnections. 2021-03-24 18:04:20 +00:00
Moonchild 75dbd532f5 [WebGL] Only allow texture uploads from pixelbuffer if bound.
Throw an error if it mismatches.
2021-03-24 12:16:08 +00:00
Moonchild 021fecdedc [docshell] Stop loading of the document if network load is stopped.
After all, stop means stop.
2021-03-24 11:41:58 +00:00
Moonchild c1b064b99f Merge pull request 'Implement "prefers-color-scheme" as a user preference.' (#1753) from athenian200/UXP:prefers-color-scheme into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1753
2021-03-24 08:58:18 +00:00
athenian200 e946ca91fb Issue #1752 - Implement "prefers-color-scheme" as a user preference.
This PR passes all current tests for this feature, and implements the "prefers-color-scheme" media query as an enumerated keyword that is controlled by an integer preference.

Currently, the possible options are 0 to see a website's fallback code and essentially behave like this isn't implemented (our current behavior), 1 to express a preference for a light theme (the default for spec reasons), and 2 to express a preference for a dark theme. Over time, this list may expand to include other preferences like a preference for a sepia theme or something, and this leaves us prepared for that future.
2021-03-23 22:25:54 -05:00
Moonchild d3543ca2fe Issue #1751 - Remove MacOS support from configure 2021-03-22 09:37:12 +00:00
Moonchild b59777a67b Issue #1053 - Remove __ANDROID__ defines (except in third party code) 2021-03-21 16:15:54 +00:00
Moonchild a94a86ff78 Issue #1749 - Remove restriction of SVG width/height element attributes.
According to the original SVG spec, the SVG element in documents had to follow
special rules as to what was allowed for width/height attributes. This is no
longer the case, so we can decouple it from whatever internal units SVG/XML
language uses and allow all units like every other element.
2021-03-20 07:35:30 +00:00
Moonchild d249dd517b [CSS] Enable scrollbar-width keyword by default.
I totally forgot this <.<
2021-03-17 12:14:00 +00:00
New Tobin Paradigm 3064ad3efe Merge pull request 'Remove the ability to accept Firefox GUIDS (remove the dual system)' (#1748) from athenian200/UXP:phoenix_extensions into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1748
2021-03-16 11:27:34 +00:00
athenian200 3aa334d0b7 Issue #1744 - Remove the ability to accept Firefox GUIDS (remove the dual system)
This finally removes the dual-GUID hack. There's nothing as permanent as a temporary solution.
2021-03-16 06:20:59 -05:00
Moonchild 6a6772f480 [Toolkit] Update TwemojiMozilla font to 0.5.1 (Twemoji 12.1.6) 2021-03-16 10:59:51 +00:00
Matt A. Tobin 29a5601f3a [NSS hotpatch] Hard disable AVX2 in NSS Build System 2021-03-15 22:16:14 +00:00
Moonchild 494718c324 Clobber for NSS update 2021-03-15 18:53:11 +00:00
Moonchild 958eb2936b Issue #1693 - Update NSS to 3.52.2-UXP
Update root certificates and port NSS sec patches from previous work.
2021-03-15 18:52:57 +00:00
Moonchild c46598c11d [NSS] Update root certificates. 2021-03-15 18:49:45 +00:00
J.C. Jones 156287f0d8 [NSS] Prevent slotLock race in NSC_GetTokenInfo
Basically, NSC_GetTokenInfo doesn't lock slot->slotLock before accessing slot
after obtaining it, even though slotLock is defined as its lock.
2021-03-15 18:43:00 +00:00
Sohaib ul Hassan 2642a2150f [NSS] Implement constant-time GCD and modular inversion
The implementation is based on the work by Bernstein and Yang
(https://eprint.iacr.org/2019/266)
"Fast constant-time gcd computation and modular inversion".

It fixes the old mp_gcd and s_mp_invmod_odd_m functions. The patch also fixes
mpl_significant_bits s_mp_div_2d and s_mp_mul_2d by having less control flow to
reduce side-channel leaks.

Co-authored by : Billy Bob Brumley
2021-03-15 18:40:01 +00:00
Moonchild 4397303e5d Issue #1743 - Update CK_GCM_PARAMS use for PKCS11 v3.0 in WebCryptoTask
Re-apply now we have PKCS11 v3.0 again
2021-03-15 18:25:42 +00:00
Moonchild a9a050901e Issue #1693 - Update NSPR to 4.25-RTM 2021-03-15 18:24:14 +00:00
Moonchild fd9fc4ea60 Issue #1693 - Update NSS to 3.52.1-RTM 2021-03-15 12:57:35 +00:00
Moonchild d830832cb9 Revert "Issue #1743 - Update CK_GCM_PARAMS use for PKCS11 v3.0 in WebCryptoTask"
This reverts commit 2b6effbf29.
2021-03-14 22:58:58 +00:00
Moonchild dc468397f3 Issue #1746 - Revert "Update NSPR to 4.29"
This reverts commit 149d2ffa77.
2021-03-14 22:48:44 +00:00
Moonchild 52d5ff242f Issue #1746 - Revert "Update to NSS 3.59.1.1" 2021-03-14 22:47:32 +00:00
Moonchild 0038394c39 Issue #1746 - Revert "Additional configuration for NSS lib update."
This reverts commit ae775e493b.
2021-03-14 22:44:25 +00:00
Moonchild 005d9c42d3 Issue #1746 - Update pkix code with later NSS code. 2021-03-14 13:06:22 +00:00
Moonchild cc8a7e3f7b Issue #1053 - Remove MOZ_WIDGET_ANDROID and IDB_MOBILE 2021-03-11 06:43:10 +00:00
Moonchild dce8a3300b Issue #1053 - Remove Android-specific blocks from system headers and /dom 2021-03-11 06:41:21 +00:00
Moonchild 515c1193c5 Issue #1053 - Remove mobile-specific graphics "optimizations" (=compromises) 2021-03-10 18:58:26 +00:00
Moonchild 108ec40998 Issue #1053 - Remove android blocks from configure. 2021-03-10 17:10:56 +00:00
Moonchild c2268033a8 Issue #1053 - Remove build system MOZ_ANDROID_* defines and related code. 2021-03-10 14:26:15 +00:00
Moonchild 78a37c1045 Issue #1737 - Update build config and mozbuild files. 2021-03-04 00:03:56 +00:00
Moonchild d192e6808f Issue #1737 - Import libaom 2.0.2 source 2021-03-04 00:03:46 +00:00
Moonchild c81c0395a3 [parser] run java translation. 2021-03-02 12:01:30 +00:00
Moonchild 78444682d7 Merge pull request '[widget] MailNews Followup: Require user interaction when picking files or folders v2' (#1745) from g4jc/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1745
2021-02-26 17:41:20 +00:00
Gaming4JC 9b0d589d9f [widget] MailNews Followup: Require user interaction when picking files or folders v2
98f6ad61f4 introduced a boolean, this just passes it down and fixes build bustage of mailnews.
2021-02-26 11:57:24 -05:00
Moonchild ad5a13bd50 [OTS] Backport some upstream OTS commits. 2021-02-24 14:24:24 +00:00
Moonchild 5587b6bf1a [MFBT] Update lz4 to 1.9.3 2021-02-24 12:16:57 +00:00
Moonchild 85b0f705d9 Issue #457 - Remove duplicate PKCS11 definitions 2021-02-24 11:09:47 +00:00
Moonchild 29271977c9 [security] Hold mutex when accessing TSI fields. 2021-02-24 11:08:36 +00:00
Moonchild b2c0fda775 [DOM] Don't reveal error details for CORS-cross-origin decoding errors. 2021-02-24 10:13:37 +00:00
Moonchild 525961c261 [html parser] Check for integer overflow when computing new buffer sizes. 2021-02-24 09:57:24 +00:00
Moonchild 77d26e8bcd [dom] Update noscript serialization to the changed spec.
Make <noscript> escaping conditional on whether scripting is enabled.
2021-02-24 09:05:30 +00:00
Moonchild 5f1bc29870 Issue #1722 - Update about:license
Mostly making parts conditional and removing blocks that are no longer
applicable, and a few minor edits otherwise to update links and text.

Resolves #1722
2021-02-21 19:20:31 +00:00
Moonchild 98f6ad61f4 [widget] Require user interaction when picking files or folders v2
Now with extra sauce to make it work cross-platform and cross-versions and
for HTML input elements only.
2021-02-21 10:32:47 +00:00
Moonchild 2b6effbf29 Issue #1743 - Update CK_GCM_PARAMS use for PKCS11 v3.0 in WebCryptoTask 2021-02-17 22:30:39 +00:00
Moonchild 2103a2283b Issue #1688 - Add flood guard to state change logic. 2021-02-16 12:13:16 +00:00
Moonchild 8f663e3bcd [widget] Require user interaction when picking files or folders. 2021-02-15 21:09:05 +00:00
Moonchild 9fa7943937 Issue #1741 - Follow-up: Remove superfluous prefobserver
This one is no longer necessary (and incorrect) after the changes made in #1684
2021-02-15 06:26:33 +00:00
Moonchild 9832adb6f7 Issue #1741 - Add missing prefobserver for general.useragent.* prefs
Resolves #1741
2021-02-14 16:04:06 +00:00
Moonchild 4f06d20f8a [js] Add XMMRegName for invalid_xmm 2021-02-14 08:34:36 +00:00
Moonchild fc65e1f2fa Issue #1739 - Implement numeric separators.
Resolves #1739
2021-02-13 09:41:29 +00:00
Moonchild 458939c9d9 Issue #1738 - Follow-up: Update comment (no code changes) 2021-02-12 21:24:32 +00:00
Moonchild 9ca880e200 Issue #1738 - Part 2: Implement well-formed JSON stringify
This implements the ES2019 spec for JSON stringification, including
lower-casing, properly escaping lone surrogates, etc.
2021-02-11 13:55:24 +00:00
Moonchild 2c72b8859a Issue #1738 - Part 1: Improve performance of JSON stringify
- Use some pointer voodoo and instead of stringbuffer append()
- Use a lookup table instead of char comparisons for chr < 256
- Stop using a Hashtable/MovableCellHasher for JSON CycleDetector
2021-02-11 13:20:54 +00:00
Moonchild 006d2ca827 Update tzdata to 2021a
Because people are apparently never satisfied with the time zones on the planet!
2021-02-10 03:08:34 +00:00
Moonchild 5c1d1d37fb Merge pull request 'Support for latest stable FreeBSD (12.2)' (#1736) from OlCe1/UXP:FreeBSD-support-update into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1736
2021-02-08 20:36:20 +00:00
Moonchild aa99e58876 Issue #1737 - Disable AV1 by default.
Our current implementation has consistent playback issues; this needs to be
addressed before the codec can be enabled by default.
2021-02-07 20:20:36 +00:00
Moonchild aab1c211a6 [angle] Cherry-pick compressed tex depth stride fix. 2021-02-05 18:40:41 +00:00
Olivier Certner 9f2085b5e9 Issue #1699 - Follow-up: mozjemalloc: Fix build by excluding some irrelevant init_lock code
This had been initially dealt with in issue #1699's commits, but one of them
was in the end reverted, which caused this problem (this change should have
been done there).
2021-02-05 18:22:59 +01:00
Olivier Certner 1305a9187e Issue #1730 - Part 2: harfbuzz: Remove some useless define causing a build error
Defining _POSIX_C_SOURCE to 199309L on FreeBSD causes compile errors, because of
an obscure interaction between system wrappers and libc++ headers. The source
doesn't seem to need it at all, which tests confirm.

I bet that this is not needed either on other modern systems (even those based
on glibc), and that the define could probably be entirely removed. Not trying
it because I can't test it myself.
2021-02-05 18:22:53 +01:00
Olivier Certner 5f29c78f7c Issue #1730 - Part 1: Interpose malloc even on RTLD_DEEPBIND presence
New FreeBSD versions have introduced RTLD_DEEPBIND (see dlopen(3)), which
triggers a provoked build error to be on the "safe" side.

Indeed, improper use of RTLD_DEEPBIND could cause malloc interposing not to
work on specific libraries. This would happen for libraries that provide their
own malloc/free and exchange pointers with other libraries or the main program,
one allocating an area and another one deallocating it.

It seems it happened for glibc, which is not a concern on FreeBSD, and for the
Flash Player (not a concern either, there is no native Flash Player). Moreover,
there is only a single reference to RTLD_DEEPBIND in the whole platform
currently, namely in the WebRTC code, but the corresponding code chunk is
compiled-in only on Linux (and this library doesn't seem to redefine malloc
functions anyway). So I don't see how a problem could happen. Additionally,
Pale Moon, which is my focus, doesn't use WebRTC.

Corresponding Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=493541
2021-02-05 18:22:46 +01:00
Olivier Certner f3405dbede Issue #1729 - Support building/linking against libc++ 9+
Including <cstdlib> must never trigger inclusion of "mozalloc.h", because the
first thing this one does is precisely to include <cstdlib>.

It is now the case that, in libc++ 9 and beyond, <cstdlib> includes <math.h>
which then tries to include <type_traits>, which the STL wrapper intercepts,
trying to load "mozalloc.h". Same problem happens with <limits>.

Fix pulled from: https://bugzilla.mozilla.org/show_bug.cgi?id=1594027.
2021-02-05 18:20:47 +01:00
Moonchild 66d028942c Issue #1732 - Implement JSON superset proposal.
This change makes unicode line and paragraph separators allowed in JS strings,
removing the only quirk of the JS string definition that made JSON not a valid
subset of JS.

Resolves #1732
2021-02-05 12:44:26 +00:00
Moonchild bd9fdeccc7 Issue #1726 - Add verification test for string.replaceAll() 2021-02-04 21:29:55 +00:00
Moonchild 9b401e7748 Merge pull request 'Implement String.replaceAll()' (#1728) from meatloaf/UXP:string_replaceAll into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1728
2021-02-04 21:27:26 +00:00
Moonchild 914368530b Issue #439 - Remove web-platform tests from the tree.
This removes a total of 23,936 files we would never use nor have the capacity
to properly maintain or keep up-to-date.
2021-02-04 19:41:06 +00:00
meatloaf 24c40b5836 Issue #1726 - Implement String.replaceAll()
This also implements IsRegExp, as this demands it.
Ported from https://bugzilla.mozilla.org/show_bug.cgi?id=1540021
2021-02-04 12:59:54 -06:00
Moonchild c5ad76a287 Issue #1515 - Add null check to nsCSSFrameConstructor::IsValidSibling
With the changes to layout for WebComponents, it is now apparently possible to
pass in null for frame tree items to this function, which would cause a null
deref crash if not checked.
2021-02-03 11:10:44 +00:00
Moonchild ce297b972b Fix CRLF line endings in npapi.h 2021-01-30 13:17:11 +00:00
Moonchild 4d6e9aec05 Issue #1720 - Remove explicit header inclusion from npapi.h
This should allow the header to be used outside of the UXP tree for compiling
plugins etc.
Resolves #1720
2021-01-30 13:16:33 +00:00
Moonchild f394d6502c [js] Remove unused promise selfhosting functions.
These are leftovers from when promises were fully self-hosted and could cause
confusion if left in place.
2021-01-30 01:06:36 +00:00
Moonchild a4503737e1 Merge pull request 'Issue #1723 - Fix Linux build bustage in HTMLMenuItemElement.cpp' (#1724) from trav90/UXP:1723-fix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1724
2021-01-30 01:02:59 +00:00
trav90 402881b4c2 Issue #1723 - Fix Linux build bustage in HTMLMenuItemElement.cpp 2021-01-29 16:28:26 -06:00
Moonchild e1daeef183 [network] Hold mutex when accessing mSecurityInfo. 2021-01-27 10:52:32 +00:00
Moonchild f77c7a36b7 [DOM] Store weak pointer to next parents. 2021-01-26 23:16:22 +00:00
Moonchild 8fd57ace20 [DOM] Try to avoid slow shrinking GC during sync calls 2021-01-26 22:42:46 +00:00
Moonchild 2836e51466 [webaudio] Fix up ReverbInputBuffer's writeIndex. 2021-01-26 14:55:48 +00:00
Moonchild 3661ecee11 [WebRTC] Improve SDP parser error handling. 2021-01-26 13:59:19 +00:00
Moonchild 2f9e27a306 [js] Add AutoEnterOOMUnsafeRegion to JS_TransplantObject.
Transplanting objects is inherently oom-unsafe, so add
`AutoEnterOOMUnsafeRegion` to `JS_TransplantObject()` and annotate crashes
accordingly if they do happen.
2021-01-26 12:28:25 +00:00
Moonchild 3a8b4ad00a Fix rooting hazard in ImageBitmap::CreateInternal by avoiding movable data. 2021-01-26 11:49:35 +00:00
Moonchild c1dd23bd83 [layout, XUL] Avoid accessing invalidated frame. 2021-01-26 09:56:37 +00:00
Matt A. Tobin dd932e0011 Merge branch 'presentation-cleanup' 2021-01-25 18:26:58 -05:00
Moonchild 874330d453 Issue #1719 - Make <menuitem> pref-controlled and disable by default.
Resolves #1719
2021-01-25 23:18:58 +00:00
Matt A. Tobin 7702d1f3fa Issue #1390 - Clean up presentation api leftovers 2021-01-25 17:38:49 -05:00
Moonchild 1126548dee Issue #1319 - Resolve RELEASE_OR_BETA questions in all.js
- Enabled SVG transform-box property. I've tested this extensively including the
bug that prevented Mozilla from shipping until 55 which does not seem to apply
to us (most likely a stylo issue). Should be good to go.
- Moved the getRootNode pref to a better place (no change)
- Enabled inputmode property for forms. This is n/a for physical keyboards but
should improve the experience for soft keyboards that can pop up various forms
of input (e.g. numeric) depending on the mode indicated. According to BZ this is
feature complete at our level but was problematic for Android which we don't
have support for anyway.
- Restricted crashing on insecure input of text to debug only.
- Enabled shutting down the async OSFile worker if not used for 30 seconds to
be more conscientious about resource use.
- Enabled blocking of autoplay of media in the background by default, since it
is a saner default to have for the OOBE and is commonly a desired setting by
users (see forum).
- Disabled the storage manager API by default. This fine-grained control over
stored website data is already handled by various extensions and we don't have
the front-end support for it. Assuming this was necessary for Mozilla due to
limited access of WebExtensions to this kind of data.
2021-01-23 12:42:53 +00:00
Moonchild 411ccb0e49 Issue #1630 - Enable W3C pointer events by default.
Resolves #1630
2021-01-19 10:04:24 +00:00
Matt A. Tobin 75286e68d7 [Media] Enable AV1 by default if built 2021-01-18 14:56:32 -05:00
Moonchild 22e78108bd Issue #1715 - Handle errors when initializing print settings from the printer
fails due to a bad printer name or O.S. error.

Resolves #1715
2021-01-18 18:07:28 +00:00
Moonchild c77d06c0c4 Merge pull request 'Selectively enable and pref the DOM Web Animations API' (#1714) from 1689 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1714
2021-01-18 09:41:05 +00:00
Moonchild 82fb08c650 Bump platform version for added features. 2021-01-16 14:29:01 +00:00
Moonchild b3d380b4ea Issue #1689 - Part 5: Enable DOM Animations API except the preffed-off parts.
This enables the DOM Animations API core functions with the exception of those
parts that are either unimplemented or not ready for use, which have been
preffed off in this issue's previous parts.

Also tag #1319 for enabling a previous RELEASE_OR_BETA shielded API.
2021-01-14 19:04:25 +00:00
Moonchild abc58d2ed0 Issue #1689 - Part 4: Add a preference for {Document,Element}.getAnimations()
This is probably the last thing we will ship (if ever) since it needs the most
spec and implementation work for arbitrary use that is pretty far into a corner.
2021-01-14 17:43:44 +00:00
Moonchild 931314ef61 Issue #1689 - Part 3: Add a preference for animation composite modes.
This feature should not be shipped until the various definitions of addition for
each additive property are properly specified and then implemented accordingly.

Unlike other patches in this series, compositing is not frequently used
internally so there is no need to enable this by default for chrome callers.
2021-01-14 17:41:30 +00:00
Moonchild 407c86641a Issue #1689 - Part 2: Add a preference for implicit keyframes
This preference controls whether authors are allowed to specify animations
without a 0% or 100% keyframe.

We intend to ship this but it isn't implemented yet (needs a follow-up) but this
preference acts as a safeguard in case we discover we need to disable it once
it's implemented.
2021-01-14 16:05:53 +00:00
Moonchild b0fe759f03 Issue #1689 - Part 1: Add pref for DOM Animation timelines API
Default false, no intent to ship for web content. Always enabled for Chrome.
2021-01-14 14:46:52 +00:00
Moonchild 5158142779 Merge pull request 'Add scrollbar-width CSS spec' (#1707) from 1705 into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1707
2021-01-13 00:25:23 +00:00
Moonchild 0939fde1a4 Issue #1705 - Part 9b: Revert overzealous changes on Mac (cocoa). 2021-01-12 13:07:40 +00:00
Matt A. Tobin 7023db88ca Issue #1624 - Fix slot access intrinsics for objects with > 16 reserved slots
Also flips ion inlining pref back on
2021-01-11 09:31:44 -05:00
Moonchild 59ef3f4eda Issue #1705 - Part 9: Implement scrollbar-width:thin on Mac (cocoa). 2021-01-09 23:21:36 +00:00
Moonchild ecc771848f Issue #1705 - Part 8: Implement scrollbar-width:thin on GTK. 2021-01-09 23:20:31 +00:00
Moonchild 382fe423e5 Issue #1705 - Part 7: Implement scrollbar-width:thin on Windows. 2021-01-09 23:19:35 +00:00
Moonchild c0db767c25 Issue #1710 - Check for triggering principal URI in FTP subresource check.
Resolves #1710
2021-01-09 19:19:39 +00:00
Moonchild 764e13c912 Issue #1705 - Part 6: Remove scrollbarbutton min-{width|height} rule from theme.
This would interfere with implementing thin scrollbars.

Almost all widgets provide a non-overridable size for scrollbar buttons, so it
makes no sense to specify min size for them. It is probably(?) a layout bug that
min size properties can override the value returned by GetMinimumWidgetSize
even if aIsOverridable is set to false, but removing this rule is simpler than
locating and fixing the issue in layout code ;)
2021-01-08 14:40:49 +00:00
Moonchild c05bca3168 Issue #1705 - Part 5: Implement scrollbar-width:none for all target platforms. 2021-01-08 14:15:50 +00:00
Moonchild c1825acab0 Merge pull request 'Add modern FreeBSD support' (#1706) from OlCe1/UXP:FreeBSD-support-reformatted into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1706
2021-01-07 21:26:47 +00:00
Olivier Certner 5d95844f49 Revert "Issue #1699 - Part 3a: mozjemalloc: Memory barriers on 'malloc_initialized'"
This reverts commit f76695c1ce.

SUSv4 specifies that 'pthread_create' acts as a (full) memory barrier, so
barriers here are not necessary.
2021-01-07 20:28:40 +01:00
Olivier Certner 3e2dcaf7f2 Issue #1699 - Part 3c: mozjemalloc: FreeBSD: Ensure early initialization
This guarantees that initialization is done in a single-thread context.
2021-01-07 17:49:14 +01:00
Olivier Certner 91f7c9d30e Issue #1699 - Part 3b: mozjemalloc: Bootstrap allocator, early diversion for FreeBSD
Coded a simple memory allocator meant to be used during jemalloc bootstrap
(malloc_init_hard()). Although protected by "#ifdef __FreeBSD__", it is not
FreeBSD-specific: Any POSIX platform could use it.

Hook it so that it is used in place of jemalloc's own routines while
malloc_init_hard() is executing or memory for mutexes is being
allocated. Currently, 'malloc', 'calloc', '*memalign' and 'free' are diverted
during init or lock initializations.

Details are quite complex, see the big comment block starting with "There are
several problematic interactions between FreeBSD's libthr and this jemalloc."
for more explanations.

Also replaced ad-hoc BSD code to determine the number of CPUs with 'sysconf',
which is POSIX-compliant (and supported on modern BSDs).
2021-01-07 17:49:14 +01:00
Olivier Certner f76695c1ce Issue #1699 - Part 3a: mozjemalloc: Memory barriers on 'malloc_initialized'
The barriers are here to make sure that setting 'malloc_initialized' at end of
init must be noticed later by any thread running on a different core. They are
in theory necessary in the absence of an explicit pthread lock.

What could happen is that the thread doing the initialization later spawns
other threads that could not have the updated 'malloc_initialized' value,
leading to a second initialization. This is dependent on whether OSes force a
full memory barrier before the new thread is run, which I don't know, and don't
want to bother.

This was done for FreeBSD only, for the sake of robustness. In theory, this
would be needed on Windows too.
2021-01-07 17:34:03 +01:00
Olivier Certner da217348d9 Issue #1699 - Part 2: libevent: Remove 'evutil_secure_rng_add_bytes'
In fact, this is a security threat.

This function calls 'arc4random_addrandom', which was removed from the
reference implementation 7 years go [1], on the ground that this was in fact an
internal interface which is almost impossible to use correctly. This update has
since then been propagated to other implementations (e.g., FreeBSD, IllumOS,
Android).

Do this for all platforms, since 'evutil_secure_rng_add_bytes' is not even used
in the current tree, and for the reason stated above, should never be.

Related bugs at Mozilla and libevent: Links [2] and [3] below.

[1] http://marc.info/?l=openbsd-cvs&m=138238762705209&w=2
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=931354
[3] https://sourceforge.net/p/levent/bugs/320/
2021-01-07 17:02:06 +01:00
Olivier Certner 87aa6b2300 Issue #1699 - Part 1: python/psutil: Support recent FreeBSD versions
'sysctl' interface to currently opened connections changed in FreeBSD 12.

Drop support for FreeBSD < 9, these are very old and unsupported versions.
2021-01-07 17:02:05 +01:00
Moonchild 65da2431f9 Issue #1705 - Part 4: Add scrollbar-width CSS keyword to CSS parser.
This should be all parts needed to add a brand new enum keyword including
getting the computed style from it...
2021-01-06 23:57:26 +00:00
Moonchild 0e6a9cc60a Issue #1705 - Part 3: Rename ScrollbarStyles to ScrollStyles.
ScrollbarStyles contains values of overflow, (over)scroll-behavior, etc.
The only one which is marginally related to scroll _bars_ is overflow, which can
be used to hide scrollbar (by making an element not scrollable) or enforce the
scrollbar to display.

It makes more sense to be called ScrollStyles as it's mainly concerning behavior
of scrolling, not scrollbars. Also, with the addition of scrollbar width
properties, the current name can be confusing.
2021-01-06 16:31:36 +00:00
Moonchild 4681e04dc5 Issue #1705 - Part 2: Add a ShowScrollbar enum to be used in ScrollReflowInput.
Overflow properties have two purposes:
1. controlling whether the scrollbar should be shown;
2. controlling whether the content is scrollable.

However, with the scrollbar-width property being added, scrollability and
presence of a scrollbar are no longer tied together.
This patch makes a separation between the value of overflow and the presence of
a scrollbar by making it clear that for ScrollReflowInput, we only care about
whether scrollbar should be shown.
This should make it easier to write the logic involving presence of the
scrollbar based on webdev choice.
2021-01-06 12:48:38 +00:00
Moonchild e16ed489a4 Issue #1705 - Part 1: Rename nsChangeHint_CSSOverflowChange to *ScrollbarChange.
Prepare for scrollbar-width which should trigger the same kind of change.
2021-01-06 10:35:21 +00:00
Moonchild 5af0c434b9 Merge branch '61' 2021-01-04 11:29:47 +00:00
Matt A. Tobin 1a4abb5d97 Issue #61 - Add missing external symbols for gkmedias when WebRTC is built 2021-01-04 03:43:58 -05:00
Matt A. Tobin 3f1ed03579 Issue #61 - Add missing external symbol cubeb_set_log_callback to gkmedias symbols.def 2021-01-03 23:41:17 -05:00
Matt A. Tobin 46ca396f8c Issue #61 - Add configure option for non-windows platforms
Windows will ALWAYS have this enabled but we eventually want all target operating systems to use this as well but that will require more work
2021-01-03 23:40:35 -05:00
Moonchild 39cebe99e2 Issue #61 - Place Skia in libxul
Skia does some nasty things that break with DLL calls like having virtual dtors
without a body definition (and it's honestly surprising that it even builds to
begin with the way it's done, but apparently they use some linking symbol voodoo
to work around that in dependent classes).
Not wanting to have to pull Google code apart to try and fix that for something
we're only using for canvas anyway, it's better to just let Skia reside in
libxul instead.
2021-01-03 21:45:04 +00:00
Moonchild b713575ca4 Issue #61 - Add missing #endif in symbols file 2021-01-03 21:41:19 +00:00
Matt A. Tobin a625decfc9 [NSS hotpatch] Hard disable AVX2 in NSS Build System
This should be ported to the NSS repo
2021-01-03 03:11:22 -05:00
Moonchild 84fa3f9f72 Redundant code path cleanup (#1702)
Remove various obsolete configure options.
Remove Adjust SDK install tracking filth.
Remove redundant code paths in old-configure
This also optimizes linker use
Remove redundant conditional blocks.
Rewrite span.h without constexpr use.
2021-01-02 19:27:13 +00:00
Moonchild babeb5c556 Issue #61 - Reinstate buildability with shared gkmedias dll
This fully works for splitting gkmedias.dll back out from xul with one exception
which is Skia throwing undefined externals when linking gkmedias.
2021-01-02 13:35:39 +00:00
Moonchild 0bb464bfc1 Issue #1053 - Part 2b: Remove android from /layout reftests
Also cleans up some other obsolete checks and stylo reftest lists.
2020-12-31 22:46:09 +00:00
Moonchild e011a048e4 Issue #1053 - Part 3b: Remove AndroidSurfaceTexture and Android media decoder
interface.
2020-12-27 13:11:19 +00:00
Moonchild 8d4456c797 Issue #1053 - Part 3a: Remove Android conditionals from /gfx 2020-12-27 06:58:56 +00:00
Moonchild ae2a160348 Issue #1053 - Part 2a: Remove android from /layout (partial)
This removes android code from base, build, forms, generic, inspector, style,
printing, tools and xul.
2020-12-26 10:16:55 +00:00
Moonchild 9f004841a2 Issue #1053 - Part 1c: Remove references to mobile/android targets and paths 2020-12-25 23:29:47 +00:00
Moonchild 62568d94d5 Issue #1681 - Hard-code FLAC media type association for .flac
We don't support AAC outside of OMX at the moment, so oops.
2020-12-24 13:35:26 +00:00
Moonchild 837432de64 Revert "Issue #1681 - Hard-code FLAC and AAC media type associations for .flac and .aac"
This reverts commit a8e90975d0.
2020-12-24 13:34:22 +00:00
Moonchild a8e90975d0 Issue #1681 - Hard-code FLAC and AAC media type associations for .flac and .aac 2020-12-24 13:30:53 +00:00
Moonchild 6ae313b51c Clobber for NSS update. 2020-12-23 22:24:08 +00:00
Moonchild ae775e493b Issue #1693 - Additional configuration for NSS lib update.
The Seed and RC2 components are completely obsolete, so we shouldn't build them.
AVX2 for Chacha20-Poly1305 would fall outside of our platform sysreqs, and has a
build system issue with non-MSVC flags being passed (needs more research, also a
recent change around NSS 3.53 when the makefile destruction happened)
2020-12-23 19:45:11 +00:00
Moonchild 029bcfe189 Issue #1693 - Update NSS to 3.59.1.1
This updates to MoonchildProductions/NSS@bd49b2b88 in the repo created for our
consumption of the library.
2020-12-23 19:02:52 +00:00
Moonchild 149d2ffa77 Issue #1693 - Update NSPR to 4.29 2020-12-23 19:01:09 +00:00
Moonchild 25b6703e95 Issue #1701 - Implement Intl.PluralRules API 2020-12-22 20:32:56 +00:00
Moonchild 911cbcd1af Issue #1700 - Apply background color instead of inset shadow for findbar input.
This changes the toolkit theme for Linux and Windows (Mac already did this) to
style the input textbox on the findbar with -moz-appearance:none so as to give
us styling control (as opposed to using a native widget style) and apply a
neutral style to it.
Also ensures Mac remains readable in case of poorly contrasting text.
2020-12-21 16:24:37 +00:00
Moonchild 05569cb6d1 Revert "Issue #1686 - Align a keybinding definition with the others"
This reverts commit 85dc118aac.
2020-12-20 19:48:50 +00:00
Moonchild 8500ebf532 Merge pull request 'Reinstate the performance timing code removed in error' (#1698) from adesh/UXP:fix-performace-api into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1698
2020-12-16 15:36:19 +00:00
adesh 0187d3e4e7 Issue #1697 - Reinstate the performance timing code removed in error.
This was a fallout from pull request #929.
2020-12-16 06:31:31 -05:00
Moonchild 408477a87a Revert "Issue #1695 - Add clamping to websocket polling timeouts."
As of [da0c073a7] we no longer need this workaround because the issue is avoided
with proper sleep/wake logic restored.

This reverts commit 2fa993b563.
2020-12-16 06:42:42 +00:00
Moonchild da0c073a74 Issue #1695 - Restore Sleep/Wake timer that was erroneously removed.
This was fallout from PR #929 for Issue #21
2020-12-16 06:39:51 +00:00
Moonchild 78f114fc42 [toolkit] Handle corner case confusion of downloaded files without extension.
See code comment for details.
2020-12-15 11:33:29 +00:00
Moonchild ac4c22f096 Issue #1696 - Propagate flex sizes to the table wrapper
This avoids overlapping of table styled elements inside flexboxes as used on
some websites.

Resolves #1696
2020-12-15 10:30:06 +00:00
Moonchild 3c0236666e [network] Update port blacklist.
See BZ bugs 1674735, 1677047, 1677940 and 1676868 for details.
2020-12-15 09:04:21 +00:00
Moonchild 2fa993b563 Issue #1695 - Add clamping to websocket polling timeouts. 2020-12-12 12:41:26 +00:00
Moonchild 4281fcc163 Revert "Issue #1391 - Disable DOM Filesystem/dirpicker APIs by default."
This reverts commit 45a976a5f1.
2020-12-08 17:26:30 +00:00
Moonchild 6b45065f14 Issue #1695 - Fix socket timeout logic. 2020-12-08 17:19:01 +00:00
Moonchild 6cb00e2cfd Issue #1694 - Part 2: Use scriptabledateformat for Update History display. 2020-12-04 16:41:24 +00:00
Moonchild 16a1ff22a3 Issue #1694 - Part 1: Use scriptabledateformat for the Cookie Accept dialog. 2020-12-04 16:37:02 +00:00
Moonchild fd576c4270 Issue #1624 - flip the inlining pref.
The default is now set to the more stable but slower global setting.
2020-12-03 18:33:35 +00:00
Moonchild 7fda700f92 Nuke erroneously added vim line. 2020-12-03 17:52:32 +00:00
Moonchild 1a21b52692 Issue #1624 - Make ion inlining optimizations a pref.
This also adds it to JS_SetGlobalJitCompilerOption()
2020-12-03 13:56:36 +00:00
Moonchild 7f619fa9bf Merge branch 'nss-patch-work' 2020-12-01 22:47:40 +00:00
Moonchild b668164260 Issue #1624 - Globally disable inlining optimizations in the JS JIT compiler. 2020-12-01 22:46:55 +00:00
Moonchild 433ed209ba Revert "Issue #1624 - Exclude function scopes from Ion compilation."
This reverts commit bb31c1c65e.
2020-12-01 22:39:36 +00:00
Moonchild b1bbc9286d Merge pull request 'Fix macOS version detection above 10.15 and update blocklist support to 11.0' (#1692) from dbsoft/UXP:Big_Sur_Version into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1692
2020-12-01 22:27:41 +00:00
Brian Smith e43b01e58b Issue #1690 - Part 2: Update MacOS Blocklist support from 10.13 to 11.0.
Changes based on Mozilla bug 1678061.
2020-12-01 15:46:38 -06:00
Moonchild 1683d012e2 Clobber for NSS update. 2020-12-01 15:33:00 +00:00
Moonchild 958205f4da [NSS] Version and build bump 2020-12-01 14:20:15 +00:00
Moonchild cca3b9062d [NSS] Update root certificates. 2020-12-01 14:19:59 +00:00
Moonchild bb31c1c65e Issue #1624 - Exclude function scopes from Ion compilation.
This seems to work around the problem with the compiled code stack for in-line
declared JS module code. Not optimal, for sure, but better than having to kill
Ion compilation outright.
2020-11-30 16:53:49 +00:00
Moonchild 060e3eb0c8 Revert "Issue #1691 - Part 1: Provide a way of associating a private value with a script"
This reverts commit 15914ec578.
2020-11-28 10:18:10 +00:00
Moonchild 15914ec578 Issue #1691 - Part 1: Provide a way of associating a private value with a script
or module.

This is a prerequisite for dynamic import
2020-11-27 15:47:49 +00:00
Moonchild b863bd2edc Issue #1684 - Move global user-agent override to networking component.
Since this is a http protocol networking feature, it belongs in the networking
branch of our preferences.
2020-11-27 12:58:02 +00:00
Brian Smith b1ac886a98 Issue #1690 - Part 1: Fix MacOS version detection above 10.15.
Changes based on Mozilla bug 1616404 but supporting back to 10.7.
2020-11-23 08:18:34 -06:00
Matt A. Tobin a8a397fbce Issue #1676 - Follow-up: Put js/src (including vm), jit, and wasm back into unified sources.
Function template inflation in intermediate code. The linker problem we hit with the corrupt file was because there were too many function descriptors and relation in the .lib
2020-11-20 12:37:11 -05:00
Moonchild a89597b5db [webrtc] Only init WebRtcAec callbacks once 2020-11-19 22:32:24 +00:00
Moonchild 074d194776 Merge pull request 'Align a keybinding definition with the others' (#1687) from vannilla/UXP:align-key-definition into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1687
2020-11-19 20:40:43 +00:00
Werner Lemberg 76d62cfc38 [sfnt] Fix heap buffer overflow.
This is CVE-2020-15999.

* src/sfnt/pngshim.c (Load_SBit_Png): Test bitmap size earlier.
2020-11-19 19:18:32 +00:00
Henri Sivonen eefaee9064 [dom] Remove attributes from descendants when setting sanitized style.
This avoids a number of problems with incomplete sanitation.
2020-11-19 19:06:03 +00:00
Moonchild 1864bbec2a [http] Use a copy of nsHttpConnectionInfo.
The root cause in this bug is that the connection info used by
'SpdyConnectTransaction' is the same instance as the connection info in
'nsHttpTransaction', so we should clone it and let 'SpdyConnectTransaction' use
the cloned one.
2020-11-19 18:19:29 +00:00
Moonchild 5771487106 Merge pull request 'Resolve various issues on Big Sur' (#1685) from dbsoft/UXP:master into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1685
2020-11-19 18:03:34 +00:00
Moonchild 887fface56 [xpcom] Don't use realloc for shrinking nsTArrays when allowRealloc is false.
The original patch handled the grow case but not the shrink case. When the
current and new allocation sizes are in different size classes, jemalloc's
realloc will move the allocation when shrinking, not just truncate the existing
one.

Based on work by Jon Coppeard.
2020-11-19 17:48:59 +00:00
Henri Sivonen 4782e8dfa2 [parser] Make the refcount of nsHtml5OwningUTF16Buffer atomic. 2020-11-18 23:28:27 +00:00
David Major bd061ac043 [xpcom] Fix GetWindowsFolder storage 2020-11-18 22:21:22 +00:00
Moonchild 31a64578e2 [gfx][Skia] Hold mutex while accessing shared SkImage data. 2020-11-18 22:06:11 +00:00
Alessio Vanni 85dc118aac Issue #1686 - Align a keybinding definition with the others 2020-11-18 21:57:00 +01:00
Brian Smith 2f3cf3c8cf Issue #1667 - Part 3: Fix OpenGL load and runtime issues on Big Sur
This fix is included in NSPR 4.27 and Mozilla bug 1652330.
Also put a main thread check in the cocoa draw callback.
2020-11-17 06:52:06 -06:00
Matt A. Tobin 241f06bc53 Merge pull request 'Get rid of HPKP pinning mode leftovers' (#1680) from adesh/UXP:cleanup-hpkp-pinning-mode into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1680
2020-11-16 17:54:58 +00:00
Matt A. Tobin ecb827c5c4 Issue #251 - Move chrome packaging options to ac configure
Also adds options for new functionality in #1683
2020-11-16 12:47:54 -05:00
Brian Smith fa5aba4c0f Issue #1667 - Part 2: Add MacOS 11.0 Big Sur widget compatibility
This involves refactoring the vibrancy and OpenGL/Pixel rendering changes contained
in the following Mozilla meta bugs: 1496823 and 1491445
Also add Big Sur to the features tests and update popup menu look and feel based
on Mozilla bug 1656301.
2020-11-16 07:23:44 -06:00
Brian Smith b6d909ad17 Issue #1667 - Part 1: Define _pthread_self if it is not already defined in jemalloc 2020-11-16 07:15:29 -06:00
Moonchild 6bc5748b00 [UA] Change default compatibility mode version to 68.0
Since several entities have started to ban .9 versions, even if they are valid
ESR versions.
2020-11-16 11:38:02 +00:00
Moonchild 3abb8e28ad Revert "Issue #1684 - Remove global UA override preference and supporting code."
This reverts commit 18df01eb54.

Backed out for devtools breakage.
2020-11-15 23:11:24 +00:00
Moonchild 18df01eb54 Issue #1684 - Remove global UA override preference and supporting code.
Resolves #1684
2020-11-15 16:24:47 +00:00
Moonchild 8aa9355535 Revert "[toolkit] Add optimized UI code format option"
This reverts commit 511ac54cab.
2020-11-15 12:49:30 +00:00
Moonchild 511ac54cab [toolkit] Add optimized UI code format option 2020-11-14 15:41:21 +00:00
Moonchild 6d2e301d90 [packager] Optimize archive accesses. 2020-11-14 01:03:27 +00:00
Moonchild 2d8013526a Issue #1683 - Update libjar module. 2020-11-13 16:00:06 +00:00
Moonchild d86f49ba59 Issue #1683 - Update Brotli lib to 1.0.9 2020-11-13 15:59:29 +00:00
Moonchild 870fd86e13 [libjar] Fix inflation logic.
This has been broken for 11 years. About time it's fixed.
Tag #1683
2020-11-13 15:57:56 +00:00
Moonchild 13f505539c Issue #1682 - Remove vibrator DOM interface and support code.
Resolves #1682
2020-11-13 13:33:08 +00:00
Moonchild 5262e01a4e Issue #1391 - Disable DOM Filesystem/dirpicker APIs by default.
There don't seem to be any drawbacks to this; tested for the past month disabled
and there have been no issues with any sites visited. Adoption seems very low.
2020-11-13 10:09:36 +00:00
Moonchild 4aeaea9195 Issue #1679 - Part 2: Some small issues to address buildability.
- Explicitly |this| the Asserts in Cell.as<>
- Unified deprot in regexp-error.h
- Convert RegExpShared* inner() to a reinterpret_cast because for SOME reason
  .as<> no longer works after the reimport (which is a static cast)
2020-11-12 11:58:39 +00:00
adesh 5ef801fdc5 Issue #1280 - Follow-up: Get rid of HPKP pinning mode.
This was a leftover from HPKP removal.

Also remove a couple of unused variables from security/manager/ssl/nsSiteSecurityService.cpp.
2020-11-10 23:07:22 -05:00
Matt A. Tobin 0ba1d49ae5 Issue #1679 - Part 1: First pass account for some of the refactoring differences in regexp-shim.h
This is the patch Moonchild committed on the aborted branch before the plan was revised.
2020-11-09 21:19:45 -05:00
Matt A. Tobin e8a6ee355f Bug 1466909 - Use AddLvalueReference for UniquePtr's operator*().
This is required for UniquePtr to accept <void>,
which is required for PseudoHandle = mozilla::UniquePtr<T, JS::FreePolicy>;
in turn for mozilla::SegmentedVector<PseudoHandle<void>> uniquePtrArena_;

Tag #1679
2020-11-09 21:12:46 -05:00
Matt A. Tobin 4694c60964 Bug 1328948 - Add is(), as() to Cell.
Tag #1679
2020-11-09 21:10:53 -05:00
Matt A. Tobin 74ebcea409 Issue #1677 - Part 7: Add unicode/uniset.h to check_spidermonkey_style.py for some reason 2020-11-09 20:48:11 -05:00
Matt A. Tobin c732425e1a Issue #1677 - Part 6: Implement NativeRegExpMacroAssembler for new regexp import based on irregexp/NativeRegExpMacroAssembler.cpp 2020-11-09 20:44:26 -05:00
Matt A. Tobin 51468e998c Issue #1677 - Part 5: "Simplify" regexp re-import process (and re-import from later revision)
I am going on record to say Mozilla are utter fucking assholes for pulling this as part of their progression.
2020-11-09 20:37:05 -05:00
Matt A. Tobin 77746f1d90 Issue #1677 - Part 4: Implement shim for regexp 2020-11-09 20:26:59 -05:00
Matt A. Tobin cb0208163f Issue #1677 - Part 3: Create shim definitions for V8-specific code in new regexp implementation 2020-11-09 20:20:18 -05:00
Matt A. Tobin 19499014a3 Issue #1677 - Part 2: Add build files 2020-11-04 20:28:06 -05:00
Matt A. Tobin 78b3a722b4 Issue #1677 - Part 1: Import new V8 regexp code with Mozilla's header modifications 2020-11-04 20:27:57 -05:00
Matt A. Tobin 2e07199197 Merge branch 'jsbuild-work' 2020-11-04 18:55:02 -05:00
Matt A. Tobin d2b6975eb7 Issue #1676 - Part 21: Use js-cxxflags.mozbuild in testing code and js shell 2020-11-04 16:24:38 -05:00
Matt A. Tobin fd1b2dc2b1 Issue #1676 - Part 20: Split vtune sources out of js/src/moz.build 2020-11-04 15:03:42 -05:00
Matt A. Tobin cdf46e803b Issue #1676 - Part 19: Split ctypes sources out of js/src/moz.build 2020-11-04 14:59:00 -05:00
Matt A. Tobin 59511eb8dd Issue #1676 - Part 18: Move and separate top level sources from vm sources in js/src/moz.build 2020-11-04 14:45:57 -05:00
Matt A. Tobin ff355fe9ac Issue #1676 - Part 17: Put remaining source files which have debug code ifdef'd behind MOZ_DEBUG 2020-11-04 14:38:12 -05:00
Matt A. Tobin 1abc696f87 Issue #1676 - Part 16: Split WASM sources out of js/src/moz.build
Also puts WasmBinaryIterator.cpp which is debug code ifdef'd behind MOZ_DEBUG
2020-11-04 14:31:48 -05:00
Matt A. Tobin 2f50f543a2 Issue #1676 - Part 15: Split threading sources out of js/src/moz.build 2020-11-04 14:11:22 -05:00
Matt A. Tobin 6f76f1cb36 Issue #1676 - Part 14: Split proxy sources out of js/src/moz.build 2020-11-04 13:59:16 -05:00
Matt A. Tobin 383bc182e3 Issue #1676 - Part 13: Split perf sources out of js/src/moz.build 2020-11-04 13:58:35 -05:00
Matt A. Tobin 95e057e737 Issue #1676 - Part 12: Split jit sources out of js/src/moz.build 2020-11-04 13:43:10 -05:00
Matt A. Tobin 3d9bf5d7a3 Issue #1676 - Part 11: Split irregexp sources out of js/src/moz.build 2020-11-04 13:06:41 -05:00
Matt A. Tobin 65eac50e2d Issue #1676 - Part 10: Split gc sources out of js/src/moz.build 2020-11-03 20:02:33 -05:00
Matt A. Tobin 957f19d2bd Issue #1676 - Part 9: Move DIRS down in js/src/moz.build 2020-11-03 19:08:56 -05:00
Matt A. Tobin bc450dab41 Issue #1676 - Part 8: Fix up include for selfhosted.out.h 2020-11-03 19:07:51 -05:00
Matt A. Tobin 1396383aee Issue #1676 - Part 7: Split frontend sources out of js/src/moz.build 2020-11-03 17:37:32 -05:00
Matt A. Tobin eedfa63a1d Issue #1676 - Part 6: Split ds sources out of js/src/moz.build 2020-11-03 17:33:42 -05:00
Matt A. Tobin 24b835f0a9 Issue #1676 - Part 5: Split devtools sources out of js/src/moz.build 2020-11-03 17:09:00 -05:00
Matt A. Tobin 24a5a7f7c9 Issue #1676 - Part 4: Split builtin sources out of js/src/moz.build 2020-11-03 16:57:05 -05:00
Matt A. Tobin ec13658ab9 Issue #80 - De-unify js/src
Three debug sources are producing link warnings and will be solved as Issue #1676 progresses.

This does not include JS Testing sources.
Specifically: js/src/gdb or js/src/jsapi-tests
2020-11-03 16:11:37 -05:00
Matt A. Tobin 0cdd39ff12 Issue #1676 - Part 3: Split DEFINES out of js/src/moz.build 2020-11-03 15:20:38 -05:00
Matt A. Tobin 5bf19933d8 Issue #1676 - Part 2: Split CFLAGS and CXXFLAGS directives out of js/src/moz.build 2020-11-03 14:20:26 -05:00
Matt A. Tobin 395ef79b91 Issue #1676 - Part 1: Split MozTesting directives out of js/src/moz.build 2020-11-03 14:19:03 -05:00
Moonchild bb4e9ad1c8 [devtools] More gracefully (than a crash) handle stack capture failures. 2020-10-31 17:31:38 +01:00
Moonchild 9b1406f183 Merge pull request 'Fix up -moz-tab-size and unprefix it.' (#1674) from athenian200/UXP:tab-size-length into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1674
2020-10-30 22:36:49 +00:00
athenian200 d22717ff98 Issue #1673 - Part 5: Fix brace style and missed -moz-tab-size reference. 2020-10-29 13:16:53 -05:00
athenian200 9ffc5e6c92 Issue #1673 - Part 4: Unprefix -moz-tab-size.
While we do fail a couple of tests, the other mainstream browsers also fail them and I think our implementation of tab-size is good enough to be unprefixed at this point. Having this patch also makes testing easier.
2020-10-28 14:17:51 -05:00
athenian200 a2c26490b4 Issue #1673 - Part 3: Bring minimum tab advance up to spec.
This provides a clearer rule for the minimum tab advance that brings us to alignment with the spec and both major browsers.
2020-10-28 14:17:16 -05:00
athenian200 7c2bcc48c4 Issue #1673 - Part 2: Make tab-size animatable and fix typos.
There were a few typos in the previous patch and this patch also makes tab-size animatable which didn't really require much of a change at all.
2020-10-28 14:17:02 -05:00
athenian200 49765b53af Issue #1673 - Part 1: Allow tab-size to accept <length>.
Currently -moz-tab-size only accepts <number> values, and both Chrome and Firefox currently support <length> values and have for some time now. So with this you would be able to support sizes in px or em, for instance. This was implemented in Firefox 53 and was trivial to backport.
2020-10-28 14:16:42 -05:00
Moonchild 6a4c3caa8e Issue #1656 - Nuke the remaining vim lines in UXP
Closes #1656
2020-10-26 19:09:16 +00:00
Moonchild 0daf842cf4 Update docs for change of repository host.
Rename MCP back to MoonchildProductions.
2020-10-23 14:53:57 +00:00
Moonchild 1950e886b9 Update docs for change of repository host. 2020-10-23 12:31:21 +00:00
Moonchild 6eba9263cc [layout] Re-order rowgroups if reflowing.
This logic was missing for tfoot. See existing code in second hunk.
2020-10-23 11:10:13 +00:00
Moonchild 2cd89d5845 [layout] Avoid negative availSize.BSizes in paginated table reflow. 2020-10-23 10:36:09 +00:00
Moonchild d5e5bef3ca Bump platform version for added features. 2020-10-23 09:27:56 +00:00
Moonchild 28119b040d [netwerk] Make nsIncrementalStreamLoader's GetNumBytesRead threadsafe.
This prevents a potential race and simplifies the code a bit by keeping the
bytes read separate instead of using mData, which is modified from another
thread from OnDataAvailable.
Relaxed atomics are fine for these, since they don't guard any memory.
2020-10-23 08:10:01 +00:00
Moonchild 3b224b2b26 [DOM] When failing to create a channel and an image request, make sure to set
the image blocking status appropriately.

This is the same status as we do for known no-data protocols and ensures we
treat these two cases the same.
2020-10-22 20:43:08 +00:00
Moonchild 33a402947c [DOM Fetch] Detect broken pipes and propagate that write error to the caller. 2020-10-21 23:48:32 +00:00
Moonchild 3e59623312 [DOM Fetch] Improve stability of Fetch API. 2020-10-21 20:35:07 +00:00
Moonchild e8ae76d473 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2020-10-20 09:52:16 +00:00
Moonchild 5072843ee3 Issue #1671 - Unprefix ::-moz-selection
This actually keeps both pseudo-elements for now, since the prefixed version is
still used internally, but we need the unprefixed version for web compat.
Note: while unprefixing a non-spec-compliant pseudo here, it's exactly in line
with what other browsers do. Nobody is following the spec here and at least
we'll be doing what everyone else is with our unprefixed version.
2020-10-20 09:49:51 +00:00
Moonchild 23a30020df Merge pull request #1670 from athenian200/caret_color
Implement CSS caret-color
2020-10-20 09:47:00 +00:00
athenian200 95b4e5084b Merge branch 'master' of https://github.com/MoonchildProductions/UXP into caret_color 2020-10-18 10:45:55 -05:00
athenian200 1fc996152b Issue #1668 - Part 2: Visited color and auto support for caret-color property.
Mozilla's original implementation of this failed a couple of tests, but this seems to solve all the problems. Basically, the caret-color wasn't able to be set differently based on whether a link was visited, and the auto value implementation was incomplete. The only test we fail now is the one where you have grey text on a grey background and the caret is supposed to be visible, but I think that may have been removed from the spec. Even if it wasn't, no other browser supports it anyway.
2020-10-18 10:12:53 -05:00
athenian200 8e3832bacb Issue #1668 - Part 1: Implement support for caret-color property.
This CSS property allows input carets (that blinking input cursor you see in text fields), to be given a custom color. This was implemented in Firefox 53, and it was such a minor feature that no one ever missed it, but I don't see any harm in implementing this.

https://bugzilla.mozilla.org/show_bug.cgi?id=1063162
2020-10-18 10:04:12 -05:00
Moonchild 87c4c77ad7 Issue #1643 - Follow-up: Ensure we properly clear our pointers when the
Presentation of a document is destroyed.
2020-10-16 10:19:19 +00:00
Moonchild bda6f1a93f Issue #1606 - Add support for multi-monitor DPI awareness v2 (W10 1706+) 2020-10-06 09:23:59 +00:00
Moonchild 521f2b476c [devtools] Teach devtools about overflow-wrap: anywhere
Tag #1666
2020-10-03 15:05:53 +00:00
Moonchild dadef50bdc Issue #1666 - Implement overflow-wrap: anywhere
This aligns with the current spec regarding overflow-wrap: break-word and
overflow-wrap: anywhere in if it affects intrinsic sized due to considering
soft-wrap opportunities or not.
See CSS Text Module Level 3, Editor’s Draft, 1 October 2020, Section 5.5
2020-10-03 14:52:47 +00:00
Moonchild 8e18743ab8 Issue #1665 - Take overflow-wrap into account when calculating min-content intrinsic size. 2020-10-03 12:45:27 +00:00
New Tobin Paradigm 15acac52b1 Update CONTRIBUTING.md
Revise Commit message style and add Follow-up form
2020-10-02 05:13:43 -04:00
Moonchild 96736fce75 Merge pull request #1663 from athenian200/opacity_followup
Remove excessive VARIANT_OPACITY statements.
2020-10-01 09:54:11 +00:00
athenian200 b8c604196b Issue #1647 - Followup: Remove excessive VARIANT_OPACITY statements.
I got very anxious about making sure I included VARIANT_OPACITY in all the places VARIANT_NUMBER was included to make sure it couldn't possibly break unexpectedly, and that led to me accidentally breaking a mechanism that prevented percentages from serializing as numbers in other parts of the code. It was a total accident, and these additions were unnecessary. Basically, the situation is that there was one part of the code where it determines what's allowed for the flex statement (and possibly other statements) by checking whether it got stored as a "number", and basically only disallows percentages if it attempted to store/serialize them as percentages.

However, it only got to that part of the code because I accidentally allowed VARIANT_OPACITY as a valid way for certain tokens to parse where it wasn't necessary. If it tries to parse it that way under very specific circumstances... percentages will be marked valid and fed through the system as numbers rather than being rejected and not serialized at all, because the check to disallow percentages there relied on them being stored as percentages.

It's a really weird thing to have a problem with in a lot of ways, because if percentages aren't allowed in a field, you would think people wouldn't try to use them there, much less depend on the broken behavior that results from them not parsing as a related value.
2020-09-30 14:09:10 -05:00
Moonchild bc531bfbba Issue #1643 - Follow-up: Make sure things aren't changed while iterating.
This fixes some crashing scenarios.
2020-09-30 16:02:17 +00:00
Matt A. Tobin fb086631d9 Issue #1643 - Follow up: Add a null check for mOwner in ResizeObserverNotificationHelper::Unregister
A race condition seemed to exist between tab destruction and un-registering a ResizeObserver resulting in a null deref crash.
The original reporter in Forum Topic 25311 experienced this on msn.com so that was the functional test reference.
2020-09-29 15:03:13 -04:00
Moonchild 4e72f8ed03 Merge pull request #1660 from g4jc/1656
Issue #1656 - Fix broken comment from Part 1
2020-09-27 08:13:05 +00:00
Gaming4JC a2ed139a44 Issue #1656 - Fix broken comment from Part 1
Removing the vim line unintentionally broke the comment leading to build failure, this restores the comment.
2020-09-26 23:37:14 -04:00
Moonchild e0bda22462 Issue #1656 - Part 10: Manual cleanup. 2020-09-24 09:22:12 +00:00
Moonchild 6b9f2095a3 Issue #1656 - Part 9: Single-line-comment style. 2020-09-24 08:56:05 +00:00
Moonchild 4a42352e64 Issue #1656 - Part 8: Devtools and misc. 2020-09-24 08:10:23 +00:00
Moonchild 0c3bd2b10a Issue #1656 - Part 7: Nuke vim config lines in JS 2020-09-24 07:23:04 +00:00
Moonchild d5a2c45aad Issue #1656 - Part 6: Clean up the build files 2020-09-23 15:52:00 +00:00
Moonchild 7523b9ea04 Issue #1656 - Part 4: Manual cleanup 2020-09-23 15:37:46 +00:00
Moonchild 18ea98f7a9 Issue #1656 - Part 4: Tackle *.idl, *.css, *.ipdlh, *.webidl, *.cc 2020-09-23 15:24:52 +00:00
Moonchild 528b88d704 Issue #1656 - Part 3: Nuke more vim config lines in the tree.
Another S&R run with some smarter matching.
2020-09-23 15:14:30 +00:00
Moonchild 5d97621bb9 Issue #1656 - Part 2b: Unmangle one more lost little UTF-8 victim. 2020-09-23 14:57:31 +00:00
Moonchild 7572f37186 Issue #1656 - Part 2: Unmangle some unfortunate UTF-8 victims.
The poor fellows got lost in an ASCII-interpretation of the world.
2020-09-23 14:52:16 +00:00
Moonchild a680bdc637 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-23 13:55:00 +00:00
Moonchild c14e7d70fc Output webidl filenames as they are processed, for real this time. 2020-09-23 08:25:15 +00:00
Moonchild 388b9c8022 Issue #1655: Update MediaQueryList to the current draft spec.
This make MediaQueryList inherit from EventTarget and adds MediaQueryListEvent
as an interface as well as the onchange() method.
This should not affect compatibility with other code; the event object is a
MediaQueryListEvent instance, which is recognized as a MediaListQuery instance.
2020-09-23 08:24:14 +00:00
Moonchild f5e5b5c32e [webaudio] Keep track of whether the HRTF database has already been loaded.
This DiD measure ensures that our async HRTF database loading is completed
before we actually try to use it. If not done, database() simply returns null.
2020-09-23 02:10:26 +00:00
Moonchild aecdb28300 [dom/media] Use an atomic for mInputDeviceID to avoid potential race 2020-09-23 01:45:29 +00:00
Moonchild 4d999e03a3 [SVG] Only fire the SVG onload when scripting is enabled and allowed 2020-09-23 01:02:29 +00:00
Moonchild 04ccc4b124 [no issue] Fix whitespace (no code change) 2020-09-23 00:54:31 +00:00
Moonchild 5ad0a15f6a Isse #1224 - revert change to unbust debug builds. 2020-09-20 17:58:02 +00:00
Moonchild c1988898f2 Merge pull request #1654 from athenian200/opacity_percentage
Implement percentage for CSS opacity keywords
2020-09-18 10:23:00 +00:00
Moonchild 6be15b96ae Issue #1224 - Remove constant expressions from /dom
This excludes DOMProxy handlers in dom bindings because that's intertwined with
codegen and js that needs to be handled together.
2020-09-17 23:48:58 +00:00
athenian200 b5c9f8e24e Issue #1647 - Part 2: Implement VARIANT_OPACITY to correctly serialize.
Even though percentages are already treated as floats internally by the style system for computation purposes, you have to go out of your way to stop them from being read back out as percentages. What I do here amounts to storing the percentage token in the "wrong" container, the one normally used for floats. This allows a value that was read in as a percentage to be read back out as something else, which is normally prevented by the design of the style system.
2020-09-17 16:01:38 -05:00
Moonchild a0cdf32877 Issue #1653 - Part 2: Stop indirectly loading DWM functions through WinUtils. 2020-09-17 15:28:59 +00:00
Moonchild 8151bb2b05 Issue #1653 - Part 1: Remove WinUtils::SHGetKnownFolderPath
Instead of doing the whole dll-load, replace function dance, we can just use the
shlobj.h version of Windows.
2020-09-17 15:25:44 +00:00
athenian200 51764ac722 Issue #1647 - Part 1: Implement percentage for CSS opacity keywords
This preliminary step allows percentages to be computed and display correctly,
but unfortunately it fails a test after changing VARIANT_HN to VARIANT_HPN because that allows values to be serialized as percentages. However, not doing this means percentages are rejected as valid values for the user to input. The way the style system is setup makes it hard to change this for opacity without changing it for everything else, especially since some code-saving speed hacks in Bug 636029 and Bug 441367 that make a lot of assumptions about this stuff very rigid.
2020-09-16 17:34:03 -05:00
Moonchild b6b868b1bd Issue #1643 - Part 4: Hook up all the plumbing. 2020-09-16 19:39:33 +00:00
Moonchild a53a2a3a38 Issue #1643 - Part 3: Implement ResizeObserverController 2020-09-16 18:26:30 +00:00
Moonchild 1b73824161 Issue #1643 - Part 2: Implement ResizeObserver API
Implements ResizeObserver, ResizeObserverEntry and ResizeObservation
2020-09-16 16:39:15 +00:00
Moonchild b4eda697ce Issue #1643 - Part 1: Add GetNodeDepth() to nsContentUtils. 2020-09-16 13:30:35 +00:00
Moonchild 6f5cd8a5e7 [widget] Clean up Windows widget code some. 2020-09-14 12:18:24 +00:00
Moonchild 71030ab33f Merge pull request #1652 from g4jc/618
Clear the module map - Debug Followup
2020-09-14 07:12:15 +00:00
Gaming4JC 766ceb5d92 Issue #618 - Clear the module map - Debug Followup
An assertion was added to dom/script/ScriptLoader.cpp but fails to compile on debug builds due it not being included in the namespace.

Ref: BZ 1529203
2020-09-13 19:32:56 -04:00
Moonchild 85f915543c Merge pull request #1651 from athenian200/link_element_disabled
Clean up local variables from <link> disabled issue.
2020-09-13 11:17:55 +00:00
adeshkp 00e0733915 Fix usage of a macro in a cocoa widget (#1649)
* Issue #457 - Fix usage of a macro in a cocoa widget
2020-09-13 10:09:40 +02:00
Moonchild 9eb8b61b8c Issue #1650 - Add null check.
There are situations where nsCSSClipPathinstance->CreateClipPath(dt)
returns null. We need to check for this before trying to use its
functions. If there is no clip path, then always return "no hit".
2020-09-12 20:20:02 +02:00
Moonchild c779684b3b Merge pull request #1648 from adeshkp/hpkp-hostname-cleanup
Remove hostname parameter to trust domain.
2020-09-12 11:28:58 +00:00
adeshkp 61ab2b98ea Issue #1280 - Remove hostname parameter to trust domain.
Host name was purely being used for HPKP and since HPKP is killed,
this can also go. Currently it doesn't do anything other than
generating build warnings.
2020-09-12 04:11:03 -04:00
athenian200 1f65f171aa Issue #1629 - Part 5: Remove pointless local variables.
Since the local variable is always initialized to false, we don't actually need to declare it and can just pass "false" directly as a parameter to the PrepareSheet function's bool. I was worried about code readability at first, but some well-placed comments took care of that.
2020-09-09 01:40:15 -05:00
Moonchild b55d425b37 Merge branch 'es-modules-work' 2020-09-08 11:01:01 +00:00
Moonchild df55ce9037 Issue #618 - Clear the module map when changing a Document's global and add
release build assertions for mismatching compartments.
2020-09-08 11:00:27 +00:00
Moonchild 8e5d9da5eb Issue #618 - Make ES6 modules work for resource: URIs 2020-09-08 08:22:28 +00:00
athenian200 8f95bacca4 Issue #1629 - Part 4: Ensure isExplicitlyEnabled is false upon sheet creation.
This clarifies the assumptions the code is making and the order in which the variables pass through the loading process. The new variable is set after the sheet is created and prepared, and is assumed to be false in the beginning.
2020-09-06 13:51:08 -05:00
Moonchild 1154e48843 Issue #1639 - Implement object.fromEntries()
Adds a self-hosted implementation of this map->object conversion.
This resolves #1639.
2020-09-06 10:02:00 +00:00
Moonchild 9440be0ae3 Issue #1644 - Remove plugin checking code leftovers 2020-09-05 11:22:45 +00:00
Moonchild 6b3ef7160b Clobber for CSS flow-root implementation 2020-09-04 13:33:37 +00:00
Moonchild 0bf7cb907c Merge pull request #1642 from athenian200/display_flow_root
Implement CSS flow-root keyword
2020-09-04 07:39:42 +00:00
athenian200 6b2c3b61b1 Issue #1641 - Implement CSS flow-root keyword
This is just a clean port of 1322191 and follow-up 1325970. It really seems to add create a new way to access existing code relating to block formatting and floating elements rather than implementing new functionality, and it is mercifully straightforwards.
2020-09-03 18:55:28 -05:00
Moonchild 0ac50227e2 Clobber for NSS update 2020-08-29 15:05:15 +00:00
Moonchild 59683edb8d [NSS] Version and build bump 2020-08-29 13:24:13 +00:00
J.C. Jones 58cc431b02 [NSS] Prevent slotLock race in NSC_GetTokenInfo
Basically, NSC_GetTokenInfo doesn't lock slot->slotLock before accessing slot
after obtaining it, even though slotLock is defined as its lock.
2020-08-29 13:04:08 +00:00
Moonchild 5559674bec Issue #1587 followup - Improve resilience of AbortSignals. 2020-08-28 18:15:27 +00:00
Moonchild 7407fe22fc [misc/mar] Don't use a signed type for a length parameter. 2020-08-28 09:43:24 +00:00
Kris Maglione 226fea3868 [DOM] Only construct JS-implemented objects if inner window is current. 2020-08-28 07:05:07 +00:00
Moonchild 4358ff62a5 [media] Only include source error details in debugging scenarios.
Unless a user is debugging media errors, this detail is unnecessary to report
and could include sensitive data which could be abused by third-party
requesters. This aligns it with the standard success/error paradigms in normal
browsing situations.
2020-08-28 06:46:12 +00:00
Moonchild e4fb3f48ae Revert "Issue #618 - Add JS API to associate scripts with DOM elements after compilation"
This reverts commit 22f300f7c4.
2020-08-27 19:25:46 +00:00
Moonchild 92ef206274 Issue #618 - Implement preloading of module scripts.
This hooks up module scripts to the existing preload mechanism.
2020-08-27 15:44:53 +00:00
Jon Coppeard 22f300f7c4 Issue #618 - Add JS API to associate scripts with DOM elements after compilation
Ref BZ 1342416
2020-08-27 09:14:33 +00:00
Moonchild 6eb0dd8611 Merge branch 'es-modules-work' 2020-08-27 07:18:58 +00:00
Moonchild 8924e4ddd3 Merge pull request #1637 from g4jc/618
Don't preload nomodule scripts when modules are enabled
2020-08-27 06:05:23 +00:00
Gaming4JC 0f433fc7c5 Issue #618 - Regenerate the HTML Parser code for nomodule changes
Ref: BZ 1446082
2020-08-26 11:20:39 -04:00
Gaming4JC 38d13e2779 Issue #618 - Don't preload nomodule scripts when modules are enabled
Ref: BZ 1382020
2020-08-26 11:19:42 -04:00
Moonchild b78f53ffb0 Issue #618 - (async) Implement async attribute for inline module scripts.
This commit does several things:
- Moves the pref check from ScriptLoader to ns[I]Document so it can be called on
the document.
- Changes the atrribute freezing function to a better name that takes the
document as a parameter.
- Sets the proper async/defer attributes on HTML script elements based on
keywords and whether they are module scripts or not.
2020-08-25 07:06:43 +00:00
Moonchild 8b397a63af Issue #618 - (async) Keep track of script modes in a single mode state.
This simplifies handling of combinations of async/defer by assigning one and
only one state to scripts.
If async then always async > if defer or module then defer > otherwise blocking.
2020-08-25 05:52:40 +00:00
Moonchild 2ca1cbe2f5 Issue #618 - (async, preload) Correctly pass info about async/defer to parser.
This makes sure we don't block body-referred sub-resources by head-referenced
defer and async scripts. This is important for all script loads, not just
modules, but is added here because it was run into while implementing modules.
2020-08-24 11:13:16 +00:00
Moonchild 95e0f114e2 Issue #618 - (async) Split out function to add async request. 2020-08-24 10:15:00 +00:00
Moonchild a0ef1c07de Issue #618 - Rename some script load request flags to be more descriptive. 2020-08-24 09:56:03 +00:00
Moonchild c5ab177485 Issue #618 - Make document.currentScript null in modules.
Because the spec says so.
2020-08-23 14:08:32 +00:00
Jon Coppeard 76e5f863aa Issue #618 - Fix processing of non-parser-generated module scripts. 2020-08-22 18:35:57 +00:00
Matt A. Tobin f909e1a6cb Update old.configure for --enable-phoenix-extensions 2020-08-22 09:48:34 -04:00
Jon Coppeard f0175ebc76 Issue #618 - Handle errors for inline module scripts and ensure we update the
module map after fetch errors.
2020-08-22 10:13:37 +00:00
Moonchild cbbfd0f2d7 Issue #618 - Split SRI verification out from OnStreamComplete. 2020-08-22 09:51:42 +00:00
Moonchild 090a487388 Issue #618 - Split handling of load errors out from OnStreamComplete. 2020-08-22 09:27:12 +00:00
Moonchild c8a701b646 Issue #618 - Integrity for descendant module scripts should be the empty string
Because the spec says so.
2020-08-22 07:16:29 +00:00
Jon Coppeard 073e914eba Issue #618 - Don't mute errors for module scripts because they always use CORS 2020-08-22 07:08:10 +00:00
Moonchild c04befb938 Merge branch 'master' into es-modules-work 2020-08-22 07:03:51 +00:00
Matt A. Tobin dd1ad91cb4 Follow up to eb28b1f32 - Correct inputmethod build file by putting Keyboard.jsm back in EXTRA_JS_MODULES
JSMs are NOT Components.
2020-08-19 17:44:09 -04:00
Moonchild 1b14edc01b [js] Reinstate precise floating point model for all js sources. 2020-08-19 07:16:29 +00:00
Moonchild 46595e3905 Issue #457 - Silence SQLite compiler warning
Our use of SQLite explicitly avoids using MSVC's _msize which the lib would
notrmally use. This was set up this way in BZ bug 719579 for legitimate reasons
(because _msize would end up using the system symbol, which would crash trying
to get the size information from jemalloc allocations). Since we build the
SQLite lib separately there is no easy way to avoid this warning as it's not
directly linked against mozglue.dll which has the jemalloc functions it wants
for _msize when not using the system allocator. It is implicitly assuming the
function is an extern returning an int (with the call specifically  casting to
int) which is correct (well, correct _enough_, anyway) so the warning can
safely be ignored for our specific use as it all lines up at link time.
2020-08-18 19:36:56 +00:00
Moonchild 9074e69282 [db] Update SQLite lib to 3.33.0 2020-08-18 18:25:28 +00:00
Moonchild 7ca7fe802e Merge pull request #1632 from athenian200/link_element_disabled
Respond to disabled attribute set on <link> elements from HTML
2020-08-18 12:17:17 +00:00
Moonchild 56f8262c8e Merge pull request #1635 from g4jc/1620
Intrinsic Aspect Ratio: Debug Follow up.
2020-08-17 12:57:29 +00:00
Gaming4JC 22c6728132 Issue #1620 - Intrinsic Aspect Ratio: Debug Follow up.
Newly introduced aspect-ratio property did not have CSS_PROP_LIST_EXCLUDE_INTERNAL defines, resulting in the following assertion:
\!nsCSSProps::PropHasFlags(p, (1<<28)) (properties defined outside of #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL sections must not have the CSS_PROPERTY_INTERNAL flag), at ...layout/style/nsCSSProps.cpp:289

This patch resolves the assertion by adding #ifndef around the aspect-ratio property.
2020-08-16 14:08:38 -04:00
athenian200 2372e19025 Fix nits 2020-08-14 12:26:43 -05:00
athenian200 931e8d29fa Issue #1629 - Part 3: Implement behind preference.
This is not very "clean," and is mostly done in the same sloppy way as Emilio did it because that's basically the only way you can do it. Note well that this does NOT actually turn off everything I've done in a clean fashion like ifdefs would. For instance, the Explicitly Enabled flag is still present, but is now always false because the only condition that can set it true is behind the pref and therefore inert when this pref is off. Also, because the arguments of SetDisabled have changed, my modifications to SetMozDisabled must be present regardless of whether the pref is on or off. What I have done is turn off the actual reflection of the disabled attribute in Disabled and SetDisabled, as well as in AfterSetAttr.

However, turning the pref off seems to restore more or less our old behavior, though there may be subtle differences unlike with an ifdef since this is, unfortunately, not an exact science and I can only turn off changes that happen within individual functions and not changes in how functions interact with each other.
2020-08-14 11:34:13 -05:00
Moonchild 86f128d412 Issue #618: Pass down referrer and referrer policy when fetching modules.
Because the spec says so.
2020-08-13 17:13:23 +00:00
Moonchild 4f0d9497f2 Issue #618: Ignore 'event' and 'for' attributes for module scripts.
Because the spec says so.
2020-08-13 13:42:52 +00:00
Moonchild 11285cd0d6 Merge branch 'master' into es-modules-work 2020-08-13 12:10:54 +00:00
athenian200 6862326357 Issue #1629 - Part 2: Implement the Explicitly Enabled flag.
This part of the bug was significantly complicated by the following major refactors:

https://bugzilla.mozilla.org/show_bug.cgi?id=1456435
https://bugzilla.mozilla.org/show_bug.cgi?id=1459498

As best as I can tell, we just need to implement the explicitly enabled
flag on every instance of GetStyleSheetInfo, make sure
aIsExplicitlyEnabled is false in every situation except the one where
the disabled content attribute is removed from a link element, and
enable alternate stylesheets if this flag is set on them. So we take the
explicitly enabled flag as an input to PrepareSheet, and also add it to
LoadStyleLink and LoadInlineStyle. I also decided not to defer loading of
alternate stylesheets that have been explicitly enabled.
2020-08-13 01:09:58 -05:00
athenian200 a9f337ea7c Issue #1629 - Part 1: Implement basic logic in HTMLLinkElement.
So basically, I'm trying to adapt this to UXP:

https://bugzilla.mozilla.org/show_bug.cgi?id=1281135

The earliest source of difficulty while adapting Bug 1281135 to our codebase was simply getting the new ErrorResult flag added to the SetDisabled function to play nice with the SetMozDisabled function. At this point, the implementation can actually have a stylesheet be disabled by default but there are supposedly issues with alternate stylesheets.

At first I played around with the return type of SetMozDisabled to no avail, but I found another solution fairly quickly.

https://bugzilla.mozilla.org/show_bug.cgi?id=846972
https://bugzilla.mozilla.org/show_bug.cgi?id=1157898

Essentially, the way around the problem of the number of return arguments not matching up is to declare a local variable within SetMozDisabled called ErrorResult rv, and using that to store the return value of the ErrorResult argument from SetDisabled. After that, because ErrorCode was removed, you would return rv.StealNSResult() in order to report success or failure to any consumer that calls on SetMozDisabled.
2020-08-13 00:56:54 -05:00
Moonchild d3383327a7 [CSS] Alias -webkit-appearance for compatibility reasons
Since this is supported as an alias by Firefox and Edge for the same
reasons and we have websites using this to (attempt to) override the
system-provided styling with their own, leaving out the only supported
keyword we'd otherwise have (with -moz- prefix) but still stating
-webkit-.

TODO: unprefix this completely and make the vendor prefixes aliases.
2020-08-10 12:13:10 +02:00
Moonchild 666e370292 Merge pull request #1613 from RealityRipple/AspectRatio
[Image/CSS] Intrinsic Aspect Ratio
2020-08-08 19:59:24 +00:00
Andy 05ee48943c Issue #1620 - Enable Intrinsic Ratio by Default
A simpler name feels so much cleaner.
2020-08-07 14:32:59 -07:00
Andy 644f617e66 Issue #1620 - Remove Development Comments 2020-08-07 14:31:36 -07:00
Moonchild b5762c6c27 Pref and disable getRootNode()
This is apparently used for fallback selection and if available it is "assumed"
Shadow DOM is also available, while this is a utility function.

Webcompat is a nightmare sometimes.
2020-08-07 21:15:52 +00:00
Matt A. Tobin d357eec567 Issue #1628 - Remove redundant PREF_EM_UPDATE_BACKGROUND_URL 2020-08-07 14:11:20 -04:00
Moonchild e1e535c1c6 [js] Try to catch bad pointers for GC and bail if not valid. 2020-08-06 18:31:58 +00:00
Moonchild 9b62528938 Issue #618 - Simplify module resolve hook to be a function pointer
This is an ahead-of time port to try and address #1624.
This is based on BZ 1461751 and Jon Coppeard's work in it.
2020-08-06 18:31:36 +00:00
Moonchild c349f04f95 [js] Add some utility functions to get the current JS runtime. 2020-08-06 18:28:54 +00:00
Moonchild 1c342a57ee Merge pull request #1627 from g4jc/618
Keep track of which modules in a graph have been fetched
2020-08-06 13:49:06 +02:00
Andy 3ed884a6ad Issue #1620 - Use Intrinsic Aspect Ratio for Images
https://bugzilla.mozilla.org/show_bug.cgi?id=1547231
https://bugzilla.mozilla.org/show_bug.cgi?id=1559094
https://bugzilla.mozilla.org/show_bug.cgi?id=1633434
https://bugzilla.mozilla.org/show_bug.cgi?id=1565690
https://bugzilla.mozilla.org/show_bug.cgi?id=1602047

Make use of Aspect Ratios in Image frames before Images are loaded.
- Check for width and height HTML properties and create a ratio with them.
- Overwrite HTML size values with actual image dimensions on load.
- Collapse any frames with srcless images.

Comments:
dom/html/nsGenericHTMLElement.cpp:1483
layout/generic/nsImageFrame.cpp:289
2020-08-04 13:56:45 -07:00
Gaming4JC 15a7be79bd Issue #618 - Keep track of which modules in a graph have been fetched using a visited set
Ref: BZ 1365187
2020-08-04 10:25:36 -04:00
Gaming4JC 7e673b1dbe Issue #618 - Simplify module map interface
Ref: BZ 1365187
2020-08-04 10:25:32 -04:00
Moonchild 267d32f4f3 Merge pull request #1623 from g4jc/libeditor_patch
Improve Performance of libeditor
2020-08-04 11:16:59 +02:00
Moonchild 501b29a5df Merge pull request #1626 from g4jc/618
Fix debug build issues on es-modules-work branch
2020-08-04 08:51:51 +02:00
Matt A. Tobin 7c6d822be2 Issue #1625 - Allow MailNews Oauth2 support to be configured in confvars.sh
Baby has his bottle, you ok now?
2020-08-03 15:07:49 -04:00
Gaming4JC c5b47eb66c Issue #618 - Align error handling for module scripts with the spec - Debug follow up
MODULE_STATUS_ERRORED is no more. Replacing with newer API.

Ref: BZ 1420420
2020-08-03 14:37:42 -04:00
Gaming4JC 609815070b Issue #618 - Lazily initialise module binding maps - Debug follow up
The added debug assertion does not work due to missing API.
They were added in BZ 1337491, 1395366, and others, but were primarily used for multi-threading.
This uses our existing non-multithreaded syntax instead, resolving a `no member named` build error.
2020-08-03 14:37:41 -04:00
Gaming4JC 007c54c80c Issue #618 - Remove eager instantiation - Debug follow up
The added debug assertion did not take into account microtask refactoring done in BZ 1405821.
Resulting in error: no member named 'IsInMicroTask' in 'nsContentUtils'.

This resolves the error.
2020-08-03 14:37:41 -04:00
Moonchild 8d38e35759 [js] Try to catch bad pointers for GC and bail if not valid. 2020-08-03 09:41:42 +00:00
Moonchild 2e1c5dafc6 Merge pull request #1622 from RealityRipple/master
Convert Intrinsic Ratio from nsSize to Float
2020-08-03 11:04:41 +02:00
Andy a90b8d98e8 Issue #1619 - Nits Picked 2020-08-02 08:01:58 -07:00
Jon Coppeard 8447c4d8a3 Issue #618 - Record module dependency before starting fetch so that error
handling works correctly

Ref BZ 1395896
2020-08-02 07:20:25 +00:00
Andy ba0a2e796d Issue #1619 - Add Vertical Writing Testcase
Ensures aspect ratio numerator and denominator aren't swapped in vertical writing modes.
https://bugzilla.mozilla.org/show_bug.cgi?id=1548768
2020-08-01 20:54:54 -07:00
Andy e664d43699 Issue #1619 - Missing Dimension Computation
This existed in Firefox before this bug.
I don't know if it came from a previous bug or was removed post-fork.
2020-07-31 22:42:38 -07:00
Matt A. Tobin 02bd56c442 Add license header to media/webrtc/trunk/build/mac/find_sdk_uxp.py 2020-07-31 21:08:26 -04:00
Matt A. Tobin c3ec6c6132 Use an alt script to properly determine the OSX SDK version 2020-07-31 20:47:28 -04:00
Andy 232f987cf4 Issue #1619 - Convert Intrinsic Ratio to Float
https://bugzilla.mozilla.org/show_bug.cgi?id=1547792

Aspect Ratio handling simplified by using floating point integers:
- Multiplication of value (or inverse value) to a known side for Scaling
- No unequal equal values such as "4/3" vs "8/6" vs "20/15"
- Truly "Empty" aspect ratios, even if one dimension is not 0
2020-07-31 13:01:18 -07:00
Gaming4JC 5f6ecd756b Issue #1621 - Part 4: Check whether node can be splited.
At first, HTMLEditor::GetActiveEditingHost might return null in this situation, we should check whether nullptr is returned. At second, SplitNodeDeep returns error since curent is design mode and selection node has no parent. So we should check error.

Ref: Bug 1350772
2020-07-31 15:59:59 -04:00
Gaming4JC 1115c63bf7 Issue #1621 - Part 3: Use nsIAtom to change attirbute if possible.
We can replace old nsIEditor API with nsIAtom version.

Ref: Bug 1324996
2020-07-31 15:59:58 -04:00
Gaming4JC 1c0c7cf583 Issue #1621 - Part 2: Implement nsIAtom version of SetAttribute/RemoveAttribute/CloneAttirubte.
Add nsIAtom version of the following.
 - CloneAttribute
 - RemoveAttribute
 - RemoveAttributeOrEquivalent
 - SetAttribute
 - SetAttributeOrEquivalent

Ref: Bug 1324996
2020-07-31 15:59:58 -04:00
Gaming4JC baa4b609d9 Issue #1621 - Part 1: CSSEditUtils should use atom for CSS property if possible.
There is a lot of string compare when using CSS property name. We should use nsGkAtoms instead.

Ref: Bug 1323138
2020-07-31 15:59:53 -04:00
Moonchild 091749192c Merge pull request #1618 from g4jc/libeditor_patch
Clean up GetTextNode into TextEditRules.
2020-07-31 14:26:18 +02:00
Gaming4JC 392aa3987b Bug 1318570 - Clean up GetTextNode into TextEditRules.
EditorBase parameter of GetTextNode is unnecessary because it uses static method only. Also, we should return nsINode to reduce QI.

Resolves #1617
2020-07-30 23:01:53 -04:00
New Tobin Paradigm 0afbef750e Merge pull request #1616 from athenian200/solaris_ldap_work
SunOS LDAP cleanup
2020-07-30 04:28:44 -04:00
athenian200 efab8cdf38 Issue #1615 - SunOS LDAP cleanup.
I meant to do this a long time ago, but basically it accounts for the new XP_SOLARIS build flag that never made it into the MailNews code. Additionally, it enables a compatibility flag for Solaris 11.4 that allows us to use the three-argument implementation of ctime_r still used by Solaris 11.3 and illumos (which also appears equivalent to the NSLDAPI_CTIME implementation used by libldap internally). Also, the ctime_r function has been added to the time.h header library for a while now, not sure why Mozilla thought we didn't have a ctime_r implementation.
2020-07-29 18:52:42 -05:00
Matt A. Tobin 947c9d4d56 Issue #1614 - Update en-US Dictionary 2020-07-29 14:27:42 -04:00
Moonchild 0a8c53ff3d Improve dll loading on Windows. 2020-07-29 14:13:33 +00:00
Michael Tuexen 9d155b45c7 [WebRTC] Stop putting addresses in the cookie chunk.
When using AF_CONN addresses, don't put these in the COOKIE
chunk. For these addresses it is possible to reconstruct them
locally. Conceptually, addresses are something to be shared
with the peer, but in the case of AF_CONN this might not be
the case. Therefore, zero then out.

Thanks to Natalie Silvanovich of Google Project Zero for
finding and reporting the issue.
2020-07-29 13:36:37 +00:00
Moonchild e655ce397d [dom] Fix a spec compliance issue with the HTML LS regarding script loading.
This fixes a spec compliance issue with section 8.1.4.2 Fetching scripts.
2020-07-29 11:55:30 +00:00
Moonchild 572e7502b1 [js] Don't improve TypeSets containing the magic-args type.
JIT optimizations involving the Javascript 'arguments' object could
potentially confuse later optimizations, so we simply disable these
optimizations as a DiD measure.
2020-07-29 11:25:40 +00:00
Andrea Marchesini eb845c094f [xpcom] Make Base64 compatible with ReadSegments() with small buffers. 2020-07-29 10:52:30 +00:00
Jan de Mooij d84749b0fd [js] Fix Sink to check for non-recoverable operands. 2020-07-29 10:36:00 +00:00
Moonchild 3b0123aa12 [network/dom] Improve sanitization of download filenames. 2020-07-29 01:21:13 +00:00
Moonchild 08fb2f3068 Issue #1391 - Remove the DOM battery API 2020-07-28 15:47:07 +00:00
Matt A. Tobin 15ed0691f6 Follow up to 39be34c06 - The check sound be if not ordered
FINE! I'll go to bed already...
2020-07-27 20:36:11 -04:00
Matt A. Tobin 13096ddf1d Revert "Follow up to 39be34c06 - The check sound be if not ordered"
This reverts commit d7d4567ffe.
2020-07-27 20:34:47 -04:00
Matt A. Tobin d7d4567ffe Follow up to 39be34c06 - The check sound be if not ordered
I am tired.
2020-07-27 20:33:34 -04:00
Matt A. Tobin d826eda73d Revert "Follow up to 39be34c06 - The check sound be if not ordered"
This reverts commit 8698bde001.
2020-07-27 20:32:25 -04:00
Matt A. Tobin 8698bde001 Follow up to 39be34c06 - The check sound be if not ordered 2020-07-27 20:30:56 -04:00
Matt A. Tobin 9ac440aa71 [MailNews] Allow setting "Local Folders" as always the first displayed account 2020-07-27 19:18:35 -04:00
Matt A. Tobin 39be34c06f [MailNews] Allow ordering of accounts to respect mail.accountmanager.accounts 2020-07-27 19:17:14 -04:00
Moonchild 1977b8de3e Merge branch 'abortcontroller-work' 2020-07-27 00:16:27 +02:00
Moonchild 62640d775a Fix line endings. 2020-07-25 17:37:05 +00:00
Moonchild f0ef003f36 Issue #1587 Part 12 (followup 2): Allow clearing of signal by setting to null. 2020-07-25 17:31:58 +00:00
Moonchild 84cb854842 Issue #1587 Part 11 (followup 1): Implement multithreaded signals for workers. 2020-07-24 11:09:54 +00:00
Moonchild 1e0bb1d355 [css] Enable various arbitrarily-disabled CSS features in the platform.
These should all be spec-compliant and were (for release-trickling of features)
arbitrarily disabled by Mozilla at our fork point. There's no real reason to
keep them disabled since they are used in the wild.
2020-07-23 23:16:18 +00:00
Matt A. Tobin 066caa4ee9 Issue #1612 - Add-ons targeting Toolkit's ID (and not Firefox's) should be considered "native" by the Add-ons Manager when using the Dual-GUID system
A version bump triggering add-on compatibility check will re-evaluate the "native" status (among other things) so no extra or special work is required to fix erroneous warnings.

tl;dr instafix!
2020-07-22 04:56:56 -04:00
Matt A. Tobin d31ca27bbc Issue #1611 - Enable WASM by default but only enable jit when 64bit 2020-07-20 08:12:05 -04:00
Moonchild 7ee65ec4c9 Merge pull request #1607 from g4jc/618
Issue #618 - Remove eager instantiation - Debug follow up
2020-07-12 02:03:53 +02:00
Gaming4JC 6ac6136d17 Issue #618 - Remove eager instantiation - Debug follow up
The added debug assertion did not take into account microtask refactoring done in BZ 1405821.
Resulting in error: no member named 'IsInMicroTask' in 'nsContentUtils'.

This resolves the error.
2020-07-11 10:57:29 -04:00
Moonchild 936438dd55 [network] Use query and ref lengths if available in nsStandardURL. 2020-07-10 16:52:44 +00:00
Moonchild f0a6ca4f95 [js] Get the class pointer from the ObjectGroup in NativeObject::slotSpan
This changes NativeObject::slotSpan() to get the class from the object group
rather than getting it from the base shape to avoid a race between
Shape::ensureOwnBaseShape and background sweeping.
2020-07-10 16:15:00 +00:00
Moonchild 5d700cd913 Force clobber 2020-07-09 20:19:06 +00:00
Moonchild c5e5d70688 [NSS] Version and build bump 2020-07-09 18:55:01 +00:00
Sohaib ul Hassan 3e56a2c97d [NSS] Implement constant-time GCD and modular inversion
The implementation is based on the work by Bernstein and Yang
(https://eprint.iacr.org/2019/266)
"Fast constant-time gcd computation and modular inversion".

It fixes the old mp_gcd and s_mp_invmod_odd_m functions. The patch also fixes
mpl_significant_bits s_mp_div_2d and s_mp_mul_2d by having less control flow to
reduce side-channel leaks.

Co-authored by : Billy Bob Brumley
2020-07-09 18:51:51 +00:00
Moonchild 247ed6576c [js] Improve readability and control flow of js date string parser. 2020-07-09 16:01:42 +00:00
Byron Campen [:bwc] 7bc3826bc9 [WebRTC] Make candidate pair insertion code easier to read/understand.
Includes removing an error code for a function that never fails, and removing an
error return when the function successfully did what it said it would.

Ref: BZ 1644477
2020-07-09 13:14:34 +00:00
Moonchild 1409983d2d [AppCache] Add check for disallowed encoded path separators 2020-07-09 13:01:36 +00:00
Moonchild 64be1dc329 [image] Add a sanity check to JPEG encoder buffer handling, just in case. 2020-07-09 11:22:40 +00:00
Moonchild e94f9dcced Issue #618 - Lazily initialise module binding maps
Make it so they are not allocated on a background thread in a different zone to
the final module.

Ref: BZ 1372258
2020-07-08 14:53:31 +00:00
Moonchild 6e72707e0b Issue #618 - Use a single slot for the module's environment object.
According to the spec this isn't created until the module is instantiated, but
we create it when we compile the module.
We stored this previously in InitialEnvironmentSlot and copied it to
EnvironmentSlot when it was supposed to be created, but we can just store it in
the latter slot straight away and check the module's status and return null if
it shouldn't exist yet.

This reduces the number of slots needed on a moduleObject to 17.

Re: BZ 1420412 Part 1
We can't implement the second part to further reduce our number of slots,
because it relies on SetProxyReservedSlot which in turn relies on
rearchitecturing JS proxies to make reserved slots dynamic. That's a rabbit hole
we really don't want to fall into.
So, we'll end up being a bit slower because it can't be in-line allocated with
having more than 16 slots, but so be it. I sincerely doubt it will make any
practical difference.
2020-07-08 14:12:57 +00:00
Moonchild 43e0632cd4 Issue #618 - Align error handling for module scripts with the spec (again)
This updates module implementation to match spec regarding handling of
instantiation errors, after it was changed yet again, this time to not remember
instantiation errors, but instead immediately rethrow applicable ones.

Ref: BZ 1420420
2020-07-08 12:58:30 +00:00
Moonchild 786e344698 Issue #618 - Fix error events fired when loading JS module dependencies fail
When module dependencies fail, don't spam with errors for each import; only fire
the error event once.

Ref: BZ 1421259
2020-07-08 10:50:53 +00:00
Moonchild 7cebdd7815 Merge branch 'es-modules-work' 2020-07-08 08:56:34 +00:00
Moonchild e378530bca Issue #618 - Fix typo and remove old function declarations. 2020-07-07 12:27:02 +00:00
Moonchild c053de7088 Merge branch 'es-modules-work' 2020-07-06 20:31:14 +00:00
Moonchild 2dff89b658 Issue #618 - Report source position information (line/column)
Report source position information for module export resolution failures.

Ref: BZ 1362098
2020-07-04 23:12:13 +00:00
Moonchild d637d99eef Issue #618 - Slightly improve module scripting tests.
Ref: BZ 1388728
2020-07-04 20:33:01 +00:00
Moonchild 66bf3a2279 Issue #618 - Further align error handling for module scripts with the spec
Ref: BZ 1388728
2020-07-04 16:28:30 +00:00
Moonchild 9b60e71109 Issue #618 - Remove context and heap-idle check
For checking if a module is in an error state and what the error is, it
shouldn't matter if we are currently GC-ing or not. So we don't need to check
for it, which removes the requirement to pass in the JS context (needed for
AssertHeapIsIdle's runtime check); this unblocks progress where otherwise we'd
have to figure out what the context is at the module level just to satisfy this
check.
2020-07-04 12:59:38 +00:00
Moonchild 046534432d Issue #618 - Remove eager instantiation
This backs out the stuff added in Bug 1295978.
Ref: BZ 1295978, 1388728
2020-07-04 10:35:22 +00:00
Moonchild 121935caed Issue #618 - Fix JSAPI additions to pass the JS context. 2020-07-03 15:59:00 +00:00
Moonchild 10e2624419 Issue #618 - Match JSAPI names with the changes in 9ca7414722
Ref: BZ 1388728
2020-07-03 14:21:27 +00:00
Moonchild 74c48bcc74 Issue #618 - Add APIs to query module record errors
Ref: BZ 1388728
2020-07-03 14:15:55 +00:00
Moonchild 9ca7414722 Issue #618 - Update code comments for ModuleInstantiate 2020-07-03 14:05:40 +00:00
Moonchild 61a471ef17 Issue #618 - Align module instantiation/errors with the updated spec.
Store and re-throw module instantiation and evaluation errors.
Ref: BZ 1374239, 1394492
2020-07-03 13:56:49 +00:00
Moonchild 98752af133 Issue #618 - Add clarifying code comments. 2020-07-01 21:12:49 +00:00
Moonchild ec10b65dde Issue #618 - Check for failed instantiation when starting to fetch dependencies
If instantiation has failed, then also fail the load and don't fetch imports.
Ref BZ: 1358882
2020-07-01 21:12:16 +00:00
Moonchild fd602fbffb Merge branch 'es-modules-work' 2020-07-01 12:57:29 +00:00
Moonchild 9056191e67 Issue #1603 - Part 2: Split some classes out of ScriptLoader.cpp
This splits ScriptLoader up the same way Mozilla did with the exception of
ScriptRequest due to the fact that ScriptLoader and ScriptRequest are
interdependent and would create a circular dependency if split apart when not
using unified building.
2020-07-01 10:15:24 +00:00
Moonchild c45b7ee3a9 Issue #1603 - Part 1: Reorganize ScriptLoader/ScriptElement
- Moves scripting parts of DOM into 'dom/script'
- Renames nsScript{Loader/Element} to Script{Loader/Element}
- Adjusts all callers
2020-06-30 11:51:11 +00:00
wolfbeast c7330b5eb4 Issue #1602 - Make sure we have a JSObject before trying to get global.
Dynamic script loading/unloading (thank you modules) can yank the script
out from under us before the JS API for it is initialized, leading to
null deref crashes.
This adds a simple check if the passed-in object is sane and present.
Resolves #1602
2020-06-27 02:09:19 +02:00
Moonchild c05d07a687 Merge pull request #1596 from g4jc/1563
Allow backspace to work in editor even if there is a non-empty text node on the right
2020-06-16 13:15:38 +00:00
New Tobin Paradigm 0fab85e38f Merge pull request #1595 from Lootyhoof/issue-1578-fixup
Remove unnecessary MOZ_ASSERT from widget/gtk/nsNativeMenuService.cpp
2020-06-14 23:14:45 -04:00
Lootyhoof 4e688106c4 Follow up to Issue #1578 - Remove unnecessary MOZ_ASSERT 2020-06-14 23:23:23 +01:00
Moonchild ad966887a5 Issue #1594 - restore UAC elevation in the uninstaller.
Effectively backs out BZ 1333789 which was uplifted to
Firefox before we forked for UXP.
Resolves #1594
2020-06-14 21:43:38 +00:00
Gaming4JC 55c84e4cec Bug 1316302 - Part 4: Refine HTMLEditRules::TryToJoinBlocks() and HTMLEditRules::MoveNodeSmart() with early return style for making scope of EditActionResult variable smaller
For now, let's make the scope of EditActionResult variable in them smaller without big change.

Tag #1563
2020-06-14 15:24:46 -04:00
Gaming4JC 3dde51910e Bug 1316302 - Part 3: Create EditActionResult class for making the methods which return nsresult, handled and canceled with out params
In a lot of places, edit action handlers and their helper methods return nsresult and aHandled and aCanceled with out params. However, the out params cause the code complicated since:

* it's not unclear if the method will overwrite aHandled and aCanceled value.
* callers need to create temporary variable event if some of them are not necessary.

This patch rewrites the helper methods of HTMLEditRules::WillDeleteSelection() with it.

Tag #1563
2020-06-14 15:24:46 -04:00
Gaming4JC 9f2a6d3703 Bug 1316302 - Part 2: WillDeleteSelection() should retry to handle it when selection is collapsed and JoinBlocks() doesn't handle nor cancel the action
When selection is collapsed and JoinBlocks() doesn't handle nor cancel the action, WillDeleteSelection() should move selection to the start/end of leftmost/rightmost editable leaf node and retry to handle the action again.

For avoiding infinite loop, it checks if selected node is changed actually before calling itself again.

Tag #1563
2020-06-14 15:24:45 -04:00
Gaming4JC d8a29fcafb Bug 1316302 - Part 1: Helper methods for HTMLEditRules::WillDeleteSelection() should have an out argument to indicates if it actually handles the action
When HTMLEditRules::WillDeleteSelection() tries to remove something from the end/start of a block to its last/first text node but it's contained by block elements, it tries to join the container and the block. However, JoinBlocks() always fails to join them since it's impossible operation. In this case, HTMLEditRules::WillDeleteSelection() should retry to remove something in the leaf, however, it's impossible for now because JoinBlocks() and its helper methods don't return if it handles the action actually.

This patch renames |JoinBlocks()| to |TryToJoinBlocks()| for representing what it is. And this patch adds |bool* aHandled| to the helper methods. Then, *aHandled and *aCancel are now always returns the result of each method. Therefore, for merging the result of multiple helper methods, callers need to receive the result with temporary variables and merge them by themselves.

Note that when they modify DOM node actually or the action should do nothing (for example, selection is across tables), aHandled is set to true.

Tag #1563
2020-06-14 15:24:41 -04:00
New Tobin Paradigm 68c72c1234 Merge pull request #1590 from g4jc/mail_patch
Don't allow STARTTLS when server sends PREAUTH
2020-06-14 07:15:09 -04:00
Moonchild 7cc007d9bf Merge pull request #1591 from MoonchildProductions/sr.activeElement-work
Implement ShadowRoot.activeElement
2020-06-14 10:01:06 +00:00
Matt A. Tobin bbd59105da Bug 1430299 - Add DocumentOrShadowRoot interface
Tag #1375
2020-06-13 08:24:18 -04:00
Matt A. Tobin 5e7917e2c8 Bug 1429656 - Implement ShadowRoot.activeElement
Tag #1375
2020-06-13 08:23:21 -04:00
Matt A. Tobin 43725c7264 Bug 1426494 - Share more code between nsIDocument and ShadowRoot
Tag #1375
2020-06-13 08:21:48 -04:00
Matt A. Tobin 35754dd1af Bug 1355787 - nsIdentifierMapEntry should let one to use either strings or atoms as keys to avoid slow string assignments when possible.
Tag #1375
2020-06-13 08:18:46 -04:00
Matt A. Tobin a4c5e74b0b Bug 1217436 - Make nsIdentifierMapEntry::mIdContentList an AutoTArray to save an allocation
Tag #1375
2020-06-13 08:17:56 -04:00
Moonchild 59a5adc934 Merge branch 'abortcontroller-work' 2020-06-12 07:46:54 +00:00
Moonchild 927c2fd3ea Issue #1587 - Part 10: Expose controlling pref and enable by default 2020-06-12 01:47:54 +00:00
Moonchild 1c97314804 Issue #1587 - Part 9: Immediately reject an already-aborted signal 2020-06-12 01:46:48 +00:00
Moonchild 94c694d389 Issue #1587 - Part 8: Remove controller follow/unfollow
Since it didn't end up being in the final spec after all.
2020-06-12 01:08:26 +00:00
Moonchild e97a29a656 Issue #1587 - Part 7: Rename FetchController to AbortController
Also renames FetchSignal to AbortSignal. Includes renaming the various
controlling prefs to enable.
2020-06-11 23:20:52 +00:00
New Tobin Paradigm 433c300a37 Merge pull request #1588 from g4jc/439
Remove no longer existing test headers from WebIDL
2020-06-11 11:58:14 -04:00
Gaming4JC 5629e34f80 Issue #439 - Debug follow up to remove no longer existing headers
Although the headers were removed, they are still referenced in WebIDL causing compiler to fail for debug builds.
This removes TestFunctions.webidl and TestInterfaceJSMaplikeSetlikeIterable.webidl, with nit fix for existing incorrect whitespace.
2020-06-11 11:52:09 -04:00
Gaming4JC 93f74227ba Bug 1613623 - For IMAP, no longer allow STARTTLS when server sends PREAUTH greeting.
Tag #1312
2020-06-11 10:33:23 -04:00
Moonchild 1620ec1965 Issue #1587 - Part 6: Move FetchController/Signal to its own dir
Since it is specced separately from fetch.
2020-06-11 12:43:17 +00:00
Moonchild fdc11c731c Issue #1587 - Part 5: Hook FetchObserver up to the Fetch API 2020-06-11 08:51:07 +00:00
Moonchild ec792e2ac7 Issue #1587 - Part 4: Implement FetchObserver 2020-06-11 08:22:04 +00:00
Moonchild 1ca6039fb8 Issue #1587 - Part 3: Hook FetchSignal up to the Fetch API 2020-06-10 21:51:44 +00:00
Moonchild be82b33318 Issue #1587 - Part 2: Implement controller follow/unfollow 2020-06-10 21:33:47 +00:00
Moonchild a8602cc877 Issue #1587 - Part 1: Implement FetchController/FetchSignal interface 2020-06-10 21:08:58 +00:00
New Tobin Paradigm 0955b34e67 Merge pull request #1586 from adeshkp/fix-arm-build
Fix a typo in wasm which was causing build failure on ARM
2020-06-10 14:37:19 -04:00
Moonchild 8797b20746 Issue #1585 - Replace node.rootNode with node.getRootNode()
This removes the (default disabled) node.rootNode readonly attribute
and replaces it with a node.getRootNode() function per WhatWG
spec discussion.
Based on work by John Dai <jdai@mozilla.com>
2020-06-10 01:19:37 +00:00
Matt A. Tobin 47db6b4b5e Follow up to Issue #1578 - Preprocess the popup binding 2020-06-09 10:42:36 -04:00
Moonchild 907530e866 Merge pull request #1584 from Lootyhoof/global-menu
Add global menubar support for GTK
2020-06-09 16:22:26 +02:00
Lootyhoof d18faf8193 Issue MoonchildProductions/UXP#1578 - Add global menubar support for GTK 2020-06-09 13:41:53 +01:00
Moonchild ad6ce890dc Issue #1560 - Always include speech synthesis IPDLs
This is entangled with the IPC messaging configuration so
we need these IPDLs even if sppech synthesis is otherwise
not being built.

This resolves #1560
2020-06-09 04:18:32 +00:00
Moonchild b0901eb099 Issue #439 - Remove, fix and clean up automated tests
With the big amount of code churn around DOM a lot of tests
broke severely enough that they caused build bustage.
This commit cleans up, removes or otherwise fixes tests
that are broken, no longer relevant or obsolete.
2020-06-08 18:12:08 +00:00
Moonchild e8bdf27ac7 [NSS] Update exported symbols
Some symbols were missing from export which might lead to build bustage.
2020-06-08 18:07:02 +00:00
adeshkp 8f02c2b066 Issue #1542 - Fix a typo in wasm which was causing build failure on ARM 2020-06-08 09:17:59 -04:00
Moonchild cc01b5e2a9 Merge pull request #1581 from g4jc/1580
Add missing MP3Demuxer.h to MediaDecoderReader.h
2020-06-08 02:28:19 +02:00
Moonchild e0dc5f3091 Merge pull request #1582 from g4jc/marqp
Kill marquee element; Debug Follow Up
2020-06-08 02:28:00 +02:00
Gaming4JC 32c3efa3c2 Issue #1525 - Kill marquee element; Debug Follow Up
The marquee element was still specified in debug code, causing build to fail without it's removal.
2020-06-07 19:02:29 -04:00
Gaming4JC bd971831f0 Issue #1580 - Add missing MP3Demuxer.h to MediaDecoderReader.h
Follow up for dom/media work on Issue #80. Fixes non-optimized build bustage.
2020-06-07 18:59:00 -04:00
Moonchild fdb918dea1 Merge pull request #1576 from win7-7/1379306-pr
Fix the wrong position when we calculate the position for position:absolute child
2020-06-04 21:34:32 +02:00
Moonchild 580cb677dd Fix missing include 2020-06-03 14:23:28 +00:00
Moonchild 5a64ee34a9 Issue #80 - Re-land early dom/media de-unification with fixups.
For some reason these changes never got merged back to master
after reverting to work on a branch...
2020-06-03 11:49:58 +00:00
Moonchild da8fbfb4d5 [NSS] Bump NSS version 2020-06-03 10:47:56 +00:00
Moonchild 760c45dbe1 [NSS] Force a fixed length for DSA exponentiation 2020-06-03 10:15:17 +00:00
Moonchild 11718bf88e Bug 1632717 2020-06-03 09:44:20 +00:00
win7-7 fb564353f2 issue #1575 - Fix the wrong position when we calculate the position for position:absolute child and add reftests
Use |GetUsedBorder| instead of |GetComputedBorder| when we calculate the position for position:absolute child.
2020-06-02 11:55:46 +03:00
Moonchild d7a6bb2171 Merge pull request #1574 from adeshkp/patch-19
Lowercase link filename extension on Windows
2020-06-02 00:02:01 +02:00
adeshkp 66b02a8044 Issue #1566 - Lowercase link filename extension 2020-06-01 19:36:07 +05:30
MoonchildandGaming4JC f828451e5f Issue #1525 - Kill marquee element
* Remove marquee code
* Regenerate HTML Elements/parser code for Removal of Marquee.

Co-authored-by: Gaming4JC <g4jc@hyperbola.info>
2020-06-01 14:16:06 +02:00
New Tobin Paradigm 52c4750ab2 Merge pull request #1572 from athenian200/jemalloc_48bit_address
Remove JEMALLOC_USES_MAP_ALIGN and fix 48-bit addressin…
2020-05-31 15:32:11 -04:00
athenian200 967ee4fbc7 Issue #1571 - Remove JEMALLOC_USES_MAP_ALIGN and fix 48-bit addressing on SunOS AMD64.
The JEMALLOC_USES_MAP_ALIGN code has turned out to be worse than useless, and in fact it breaks 64-bit SunOS. It's very old and turned out not to be needed anymore because the way the memory allocator works has changed since it was implemented. It prevented a fix I tried for 48-bit addressing from working properly. However, without either this code or the 48-bit addressing fix, the 64-bit version won't even start, which is why I thought the code was still needed.

https://bugzilla.mozilla.org/show_bug.cgi?id=457189

https://hg.mozilla.org/mozilla-central/rev/a26c500b98ab

The 48-bit addressing fix is based on code found here:

https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/web/firefox/patches/patch-js_src_gc_Memory.cpp.patch

I already applied these changes to js/src/gc/Memory.cpp, but as I was looking through jemalloc.c I saw that there were very similar ifdefs for Linux on SPARC as the ones I'd had to enaable in Memory.cpp, but for whatever reason the patches I found didn't touch them. So I tried doing for jemalloc.c what was already done for Memory.cpp, and it worked (but only after I removed the map align code).
2020-05-31 11:48:49 -05:00
Moonchild b5be37e0a6 Update README.md
wiki -> site
2020-05-31 18:17:36 +02:00
wolfbeast e5dd97fee3 Issue #1570 - Implement globalThis
This resolves #1570
2020-05-30 21:14:43 +02:00
Moonchild 1cecef624a Merge pull request #1565 from Feodor2/master
Prevent null deref crash in WebrtcVideoConduit DTOR
2020-05-29 11:58:39 +02:00
Fedor d8eba6991d Issue #1558 - Prevent null deref crash in WebrtcVideoConduit DTOR 2020-05-27 09:01:53 +03:00
Moonchild 5fcc364e3e Merge pull request #1568 from MoonchildProductions/1564
Split off nsIdentifierMapEntry in its own header
2020-05-27 02:05:35 +02:00
wolfbeast 5d89ac3795 Revert "Issue #1564 - Fix debug build dependencies for g4jc"
This reverts commit 101c06946e.
2020-05-27 02:03:38 +02:00
Moonchild 725e2b731f Merge pull request #1567 from Ascrod/readerview
Reader Updates
2020-05-26 17:47:52 +02:00
wolfbeast 101c06946e Issue #1564 - Fix debug build dependencies for g4jc 2020-05-26 09:42:49 +02:00
wolfbeast be3acde802 Issue #1564 - Fix debug build dependencies 2020-05-26 05:17:04 +02:00
Ascrod 77cd9147cc Issue #361 - Remove dead Android code.
See Bug 1629030, part 3.
2020-05-25 14:31:43 -04:00
Trushita 54329daab7 Bug 1154295 - use normal formatting for plaintext documents in reader mode
Before this change the plain text document in reader mode was not formatted/styled properly.

Tag #361.
2020-05-25 14:31:31 -04:00
Cameron McCormack 7ce31fc2a4 Bug 1621479 - Fix typo in reader mode CSS class preservation list.
Tag #361.
2020-05-25 14:30:18 -04:00
Ascrod 09bdffde5e Issue #361 - Update Readability from upstream.
(git rev 52ab9b5c8916c306a47b2119270dcdabebf9d203)
2020-05-25 14:29:42 -04:00
wolfbeast 5377605d63 Issue #1564 - Split off nsIdentifierMapEntry in its own header
+ Fix dependency fallout from removing nsDocument.h from ShadowRoot.h
2020-05-25 20:28:36 +02:00
Moonchild 4d373c1d36 [permissions] Fix build bustage with --disable-permissions 2020-05-21 16:23:25 +00:00
Moonchild ed8efdfaba [printing] Fix build bustage with --disable-printing 2020-05-21 16:22:51 +00:00
Moonchild 5d6691e9d0 Merge pull request #1559 from athenian200/form-disabled-issue
Restore -moz-input-disabled and allow events to target disabled form controls.
2020-05-21 15:00:59 +02:00
athenian200 0a19762d3b Issue #1557 - Allow event dispatch on disabled form controls.
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=329509

This seems to resolve #1356 without causing #1557.

Also reverts previous changes as they no longer appear to serve a purpose.
2020-05-21 01:31:48 -05:00
athenian200 a965486fcb Revert "Merge pull request #1357 from athenian200/form-disabled-issue"
This reverts commit ed88b99849, reversing
changes made to c4b0715baa.
2020-05-20 23:25:37 -05:00
Moonchild 14f6f230d7 Issue #1538 - remove speech recognition engine
This removes speech recognition, pocketsphinx, training models
and the speech automated test interface.
This also re-establishes proper use of MOZ_WEBSPEECH to work
for the speech API (synthesis part only) that was a broken mess
before, with some synth parts being always built, some parts
being built only with it enabled and recognition parts being
dependent on it. I'm pretty sure it'd be totally busted if you'd
ever have tried building without MOZ_WEBPEECH before.

Tested that synthesis still works as-intended.

This resolves #1538
2020-05-20 10:19:04 +00:00
Moonchild 750b4c3a11 Merge pull request #1544 from FlyGoat/mips-upstream
Implements initial MIPS Support
2020-05-19 22:14:43 +02:00
Moonchild ffb32138cb Merge pull request #1554 from MoonchildProductions/deunify_netwerk
Deunify netwerk
2020-05-19 14:21:00 +02:00
Moonchild 41757ae2c0 Merge pull request #1556 from adeshkp/patch-18
Include MDNSResponderOperator.h in libmdns/nsDNSServiceDiscovery.h for Mac
2020-05-19 12:24:41 +02:00
Moonchild b48902c58f Merge pull request #1555 from g4jc/deunify_netpatch
Add nsSocketTransportService2.h to ThrottleQueue.cpp
2020-05-19 12:24:17 +02:00
adeshkp 18c36ffcd4 Issue #80 - Include MDNSResponderOperator.h in libmdns/nsDNSServiceDiscovery.h for Mac
This is needed for forward declaration of `BrowseOperator` and `RegisterOperator`.
2020-05-18 23:35:43 +05:30
Gaming4JC 8f57507dd8 Issue #80 - Add nsSocketTransportService2.h to ThrottleQueue.cpp 2020-05-18 12:32:34 -04:00
Moonchild efa5796d5e Issue #80 - De-unify netwerk/wifi 2020-05-18 12:24:52 +00:00
Moonchild 822f8dad95 Issue #80 - De-unify netwerk/streamconv 2020-05-18 12:13:22 +00:00
Moonchild 7db74bdc3a Issue #80 - De-unify netwerk/srtp 2020-05-18 10:35:34 +00:00
Moonchild 3c05cc907d Issue #80 - De-unify netwerk/socket 2020-05-18 10:26:16 +00:00
Moonchild 539fb0aea2 Issue #80 - De-unify netwerk/protocol/http 2020-05-18 09:23:17 +00:00
Moonchild 3686a289c1 Issue #80 - De-unify netwerk/protocol/res 2020-05-18 07:00:59 +00:00
Moonchild 72d77237e9 Merge branch 'master' into deunify_netwerk 2020-05-18 06:01:39 +00:00
Moonchild 243850386d Issue #80 - De-unify netwerk/protocol/ftp 2020-05-18 06:00:43 +00:00
New Tobin Paradigm 3da22ea943 Merge pull request #1553 from MoonchildProductions/deunify_editor
Deunify editor
2020-05-17 23:01:10 -04:00
Moonchild 5f86cd25f2 Issue #80 - De-unify smaller netwerk/protocol components
- data
- device
- file
- viewsource
- wyciwyg
2020-05-17 19:37:17 +00:00
Moonchild 5fa34da0b7 Issue #80 - De-unify netwerk/protocol/about 2020-05-17 16:24:12 +00:00
Moonchild 5966f18f41 Issue #80 - De-unify netwerk/ipc 2020-05-17 16:13:43 +00:00
Moonchild 364e44a4aa Issue #80 - De-unify netwerk/dns 2020-05-17 15:41:22 +00:00
Moonchild 53e5d63732 Issue #80 - De-unify netwerk/cookie 2020-05-17 15:05:55 +00:00
Moonchild 16d66edc28 Issue #80 - De-unify netwerk/cache2 2020-05-17 14:14:09 +00:00
Moonchild 798f491abe Issue #80 - De-unify netwerk/cache 2020-05-17 11:06:45 +00:00
Moonchild 922f9b4f52 Issue #80 - De-unify netwerk/base 2020-05-17 10:43:40 +00:00
Moonchild a20f130def Merge pull request #1550 from MoonchildProductions/deunify_gfx
Deunify gfx
2020-05-16 14:55:39 +02:00
Moonchild 4cfbcc4989 Merge pull request #1551 from adeshkp/patch-17
Include gfx/Logging.h in NativeFontResourceMac.cpp
2020-05-16 14:54:03 +02:00
Moonchild 9cdc2b9abb Merge pull request #1552 from g4jc/deunify_patch
Include gfxEnv.h in gfx/gl/GLLibraryEGL.cpp
2020-05-16 14:53:37 +02:00
Moonchild a5d2b71303 Issue #80 - De-unify editor/txmgr and editor/txtsvc 2020-05-16 12:28:39 +00:00
Moonchild 80fc6e92ef Issue #80 - De-unify editor/libeditor 2020-05-16 10:44:09 +00:00
Moonchild 0754b0bc4a Issue #80 - De-unify editor/composer 2020-05-16 10:15:41 +00:00
Gaming4JC 1dc5599a7a Issue #80 - Include gfxEnv.h in gfx/gl/GLLibraryEGL.cpp 2020-05-15 13:27:26 -04:00
adeshkp fc73299024 Issue #80 - Include gfx/Logging.h in NativeFontResourceMac.cpp 2020-05-15 21:13:56 +05:30
Moonchild 9cf4eca9a8 Merge pull request #1548 from win7-7/1394226-pr
Correct z-ordering for some table parts
2020-05-15 15:24:42 +02:00
Moonchild a72156b87a Issue #80 - Fix up gfx/ipc and gfx/src for Linux.
This removes an unused Telemetry enum
2020-05-15 13:10:56 +00:00
Moonchild 9cb4884a7e Issue #80- De-unify gfx/layers
Excludes layers/ipc/CompositorBridgeParent and CrossProcessCompositorBridgeParent
because the latter purposely uses functions implemented in the former.
See also code comment in CrossProcessCompositorBridgeParent.cpp

Note: likely dead code for us anyway; likely not worth investing in to solve.
2020-05-15 11:04:41 +00:00
Moonchild 16ca000ca9 Issue #80 - De-unify gfx/ycbcr 2020-05-15 09:01:29 +00:00
Moonchild 2e986f3144 Issue #80 - De-unify gfx/src 2020-05-14 20:36:39 +00:00
Moonchild 6ca94dc203 Issue #80 - De-unify gfx/skia and stop using dangerous opts 2020-05-14 19:52:40 +00:00
Moonchild 28c5a08441 Issue #80 - De-unify gfx/ots 2020-05-14 19:34:55 +00:00
Moonchild 836aa70536 Issue #80 - De-unify gfx/ipc 2020-05-14 19:27:23 +00:00
Moonchild 7286d6ecf8 Issue #80 - De-unify gfx/harfbuzz 2020-05-14 18:42:20 +00:00
Moonchild 3b6fd3b6c0 Issue # 80 - Fix up gfx/2d/DataSurfaceHelpers
De-unified build requires <string.h> instead of <cstring> to
prevent stdlib confusion.
2020-05-14 18:34:06 +00:00
Moonchild f05391a69f Issue #80 - de-unify and fix up gfx/graphite2
With de-unified building we have to re-apply the fix-up
for <cstdio>, and additionally the same for <cstring>
to prevent the compiler picking the wrong versions of
standard functions.
2020-05-14 18:26:08 +00:00
Jiaxun Yang 052a035958 Bug 1430745 - IPC: Fix unaligned accesses in DirReaderLinux
Tag: #1542
2020-05-14 16:32:54 +08:00
Jiaxun Yang 5cfe1d9020 Issue #1542 - [mtransport] Fix unaligned memory allocation in r_memory
Unaligend memory access can't work on RISC.
2020-05-14 16:32:46 +08:00
Jiaxun Yang 088685a828 Bug 1426323 - Media: WebRTC: Fix build config for MIPS64
Tag: #1542
2020-05-14 16:32:46 +08:00
Jiaxun Yang 7ce1ea0a41 Issue #1542 - [WebRTC] Set CPU speed to -1 on MIPS
CPU is pretty slow due to lack of SIMD optmization.
2020-05-14 16:32:11 +08:00
Jiaxun Yang 3b1aec2e61 Issue #1542 - [WebRTC] Don't use post proc on MIPS 2020-05-14 16:31:59 +08:00
Jiaxun Yang fee5da8d11 Bug 1384826 - Media: WebRTC: Fix build config for MIPS
Tag: #1542
2020-05-14 16:31:59 +08:00
Jiaxun Yang 32a4d5c416 Bug 1412030 - [MIPS] Emit wasm memory access information
Tag: #1542
2020-05-14 16:31:59 +08:00
Jiaxun Yang 77544de5d6 Bug 1330942 - move MemoryAccessDesc::isUnaligned to the ARM/MIPS platform layer
Tag: #1542
2020-05-14 16:31:59 +08:00
Jiaxun Yang 9679f714f7 Bug 1441521 : [MIPS] Optimize comparation with small constants
Tag: #1542
2020-05-14 16:31:59 +08:00
Jiaxun Yang 53662b791d Bug 1430693 - IonMonkey: MIPS: Fix generic NaN for legacy mips (IEEE 754-1985)
Tag: #1542
2020-05-14 16:31:59 +08:00
Jiaxun Yang 574d071b5c Bug 1424978 - IonMonkey: MIPS64: Fix unboxNonDouble for Int32
Tag: #1542
2020-05-14 16:31:58 +08:00
Jiaxun Yang d032fb8df8 Bug 1424978 - IonMonkey: MIPS64: Fix tagValue function
Tag: #1542
2020-05-14 16:31:58 +08:00
Jiaxun Yang 4e8c369b22 Bug 1424978 - IonMonkey: MIPS64: Fix boxValue function
Tag: #1542
2020-05-14 16:31:58 +08:00
Jiaxun Yang 55897f06c0 Bug 1390802 - IonMonkey: MIPS64: Fix storeValue function
Tag: #1542
2020-05-14 16:31:58 +08:00
Jiaxun Yang ef3af7ce70 Bug 1424978 - IonMonkey: MIPS: Fix ma_store_unaligned
Tag: #1542
2020-05-14 16:31:58 +08:00
Jiaxun Yang 24d8c25026 Bug 1424978 - IonMonkey: MIPS: Fix ma_addTestCarry
Tag: #1542
2020-05-14 16:31:58 +08:00
Jiaxun Yang ebc0e55033 Bug 1390459 - mulby3 function implement error on mips platform
Tag: #1542
2020-05-14 16:31:57 +08:00
Jiaxun Yang b878a54a2f Bug 1271968 - IonMonkey: MIPS: Refactor addMixedJump.
Tag: #1542
2020-05-14 16:31:57 +08:00
Jiaxun Yang 2501df8195 Bug 1271968 - wasm: MIPS: Port mixed jump for wasm.
Tag: #1542
2020-05-14 16:31:57 +08:00
Jiaxun Yang 79834afa62 Bug 1271968 - IonMonkey: MIPS: Refactor PatchWrite_NearCall.
Tag: #1542
2020-05-14 16:31:57 +08:00
Jiaxun Yang 8055c99af4 Bug 1271968 - IonMonkey: MIPS: Handle conditional branch in out of line code of mixed jump.
Tag: #1542
2020-05-14 16:31:57 +08:00
Jiaxun Yang 98620e3c1e Bug 1271968 - IonMonkey: MIPS: Merge MacroAssembler::branchWithCode.
Tag: #1542
2020-05-14 16:31:57 +08:00
Jiaxun Yang 6b56185c0b Bug 1271968 - IonMonkey: MIPS: Merge MacroAssembler::ma_jal.
Tag: #1542
2020-05-14 16:31:56 +08:00
Jiaxun Yang 1a61c518b6 Bug 1271968 - IonMonkey: MIPS: Merge Assembler::bind.
Tag: #1542
2020-05-14 16:31:56 +08:00
Jiaxun Yang a141af108f Bug 1271968 - IonMonkey: MIPS: Replace long jumps by mixed jumps.
Tag: #1542
2020-05-14 16:31:56 +08:00
Jiaxun Yang 22a4c154bb Bug 1271968 - IonMonkey: MIPS: Make jit code in same 256 MB-aligned region
Tag: #1542
2020-05-14 16:31:56 +08:00
Jiaxun Yang 001c416125 [IonMonkey] MIPS: Import small optimizations from load & store 2020-05-14 16:31:56 +08:00
Jiaxun Yang 26178ba977 Issue #1542 - IonMonkey: MIPS32: Fix build error on O32 platform. 2020-05-14 16:31:55 +08:00
Jiaxun Yang 2a6e16fba0 Bug 1323646 - IonMonkey: MIPS64: Fix range checking in ma_addTestOverflow
Tag: #1542
2020-05-14 16:31:55 +08:00
Jiaxun Yang a78f517c40 Bug 1323642 - IonMonkey: MIPS64: Fix load unsigned 48-bit immediate
Issue:
In ma_li(Register, ImmWord):
	Load unsigned 48-bit immediate: 0x0000_8000_0000_0000
	Wrong instructions stream:
		lui	reg, 0x8000
		dsll	reg, reg, 16 # reg = 0xffff_8000_0000_0000
	Fixed instructions stream:
		lui	reg, 0x8000
		dinsu	reg, zero, 32, 32
		dsll	reg, reg, 16

Tag: #1542
2020-05-14 16:31:55 +08:00
Jiaxun Yang 4fc1cd5563 Bug 1323136 - wasm: MIPS: Do bounds check in 32-bit
Tag: #1542
2020-05-14 16:31:55 +08:00
Jiaxun Yang 4e2559d92f Bug 1344597 - Baldr: MIPS: Fix trap type of unsigned divide by zero
Tag: #1542
2020-05-14 16:31:55 +08:00
Jiaxun Yang ec7269ea5c Bug 1394286 - mips64: fix error correction about stackpointer within function _NS_InvokeByIndex
Tag: #1542
2020-05-14 16:31:55 +08:00
Jiaxun Yang 402bfbe489 Issue #1542 - nsprpub: _PR_SI_ARCHITECTURE add missing mips64 2020-05-14 16:31:45 +08:00
Jiaxun Yang 89097a9e5c Issue #1542 - IonMonkey: MIPS: Define JS_CODEGEN_MIPSXX by HAVE_64BIT_BUILD.
MIPSXX is required for 64bit build.
2020-05-14 16:31:34 +08:00
Moonchild a89818f5c1 Issue #80 - Fix deps in gfxFont-Impl.h 2020-05-13 18:43:16 +00:00
win7-7 ca50a57545 issue #1547 - Correct z-ordering for some table parts and add reftests 2020-05-13 19:57:18 +03:00
Moonchild 8702b0ffb9 Issue #80 - Split out GetShapedWord template function 2020-05-13 14:36:06 +00:00
Moonchild d73bfc3733 Issue #80 - Fix gfx/thebes Windows conditional 2020-05-13 14:34:14 +00:00
Moonchild eb67f101a5 Issue #80 - De-unify gfx/gl 2020-05-13 13:58:36 +00:00
Moonchild 2f5fb42c21 Issue #80 - De-unify gfx/config 2020-05-13 12:37:09 +00:00
Moonchild f38ebb5f44 Merge pull request #1546 from win7-7/1375518-pr
Fix border-radius on table row groups, rows, column groups, or columns
2020-05-13 12:27:18 +02:00
Moonchild 97b89ab4b5 Issue #457 - Silence some superfluous compiler warnings in cairo 2020-05-13 10:15:24 +00:00
Moonchild 83b4235d8a Issue #80 - De-unify gfx/cairo 2020-05-13 10:12:58 +00:00
Moonchild dfa87279f8 Issue #80 - De-unify gfx/2d 2020-05-13 10:10:59 +00:00
Moonchild d3b19e64a3 Issue #1543 - Follow-up: avoid displaying the Alt text if an image is loading.
This prevents the Alt text from briefly being shown before being replaced
with the image.
2020-05-12 18:28:25 +00:00
win7-7 5b4ba95438 Issue #1545 - Fix border-radius on table row groups, rows, column groups, or columns
Before issue #146, border-radius on row groups, rows, column groups, or columns don't apply to the background of each cell, yet the border-radius on the cell itself does.

After issue #146, the behaviors changed. In this patch, I tried to revert the behaviors of border-radius on table row groups, rows, column groups, or columns back to what happened before issue #146.

Also: Don't override GetBorderRadii in nsBCTableCellFrame.
2020-05-12 19:23:47 +03:00
Moonchild 0998c39f91 Issue #80 - De-unify gfx/thebes 2020-05-12 12:57:04 +00:00
Moonchild 39c7fd37d5 Bump platform version.
We've made some notable changes re: layout and rendering.
2020-05-12 09:08:51 +00:00
Moonchild 0f590122c5 Issue #1543 - Align <img> with no src to the updated spec. 2020-05-11 23:17:47 +00:00
Moonchild 221627575b Merge pull request #1537 from win7-7/column-backgrounds-pr-2
Better way to create display items for column backgrounds
2020-05-10 15:02:59 +02:00
Moonchild 1659e69dfb Merge pull request #1541 from athenian200/mp3-parser-fix
Stop MP3 demuxer from choking on very small files.
2020-05-10 15:00:03 +02:00
wolfbeast 42c1fcaaed Issue #1589 - Ensure computed length and data is always available 2020-05-10 14:37:50 +02:00
win7-7 f9047ff63d Issue #1355 - Fix the nit, remove nsPoint offset in nsFrame.cpp and change PresShellState member order 2020-05-10 15:00:08 +03:00
athenian200 bc4dacf690 Issue #1540 - Stop MP3 demuxer from choking on very small files. 2020-05-10 06:45:59 -05:00
Moonchild 8b41800216 Merge pull request #1535 from g4jc/VFS_telemetry_nuke
Remove TelemertyVFS
2020-05-09 14:50:34 +02:00
win7-7 64ffe81c55 Issue #1355 - Better way to create display items for column backgrounds
Part 1: Remove current table item, as it's never set.

Part 2: Get rid of generic table painting code, and handle each class separately.

Part 4: Hoist outline skipping into col(group) frame code.

Part 5: Skip box-shadow for table column and column groups.

Part 6: Store column and column group backgrounds separately, and then append them before the rest of the table contents.

Part 7: Pass rects in display list coordinates to AppendBackgroundItemsToTop.

Part 8: Create column and column group background display items as part of the cell's BuildDisplayList.

Part 9: Used cached values instead of calling nsDisplayListBuilder::ToReferenceFrame when possible, since it can be expensive when the requested frame isn't the builder's current frame.

Part 10: Make sure we build display items for table parts where only the normal position is visible, since we may need to create background items for ancestors at that position.

Part 11: Create an AutoBuildingDisplayList when we create background items for table columns and column groups, so that we initialize the invalidation state correctly.
2020-05-08 15:27:28 +03:00
win7-7 45b20c5e4a Issue #1355 - SetNeedToCalcHasBCBorders to true when initialize nsTableFrame
In the printing preview, we create continuous table frame if table is too long to containing in a page. But the default value of NeedToCalcHasBCBorders is false which means we don't calculate HasBCBorders for continuous table frame. Thus, the border collapse is not shown when printing preview.
2020-05-08 15:25:47 +03:00
win7-7 58219fc214 Issue #1355 - Avoid unnecessary work in nsIFrame::BuildDisplayListForStackingContext() and nsIFrame::BuildDisplayListForChild() and Cleanup DescendIntoChild
Bug 1441796 - Part 1: Optimize the (pseudo)-stacking context conditions

Bug 1441796 - Part 3: Reuse the results in nsIFrame::BuildDisplayListForStackingContext() for ChildrenHavePerspective(), IsTransformed(), and Combines3DTransformWithAncestors()

Bug 1512244 - Part 1: Cleanup DescendIntoChild
2020-05-08 15:24:02 +03:00
win7-7 130df5da4f Issue #1355 - Preemptively fix build bustage for 1409114 2020-05-08 15:22:22 +03:00
win7-7 f102e7f80d Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList
Also fix build bustage for De-unified layout/xul in nsRootBoxFrame.cpp
2020-05-08 15:20:01 +03:00
Moonchild 823eca65a4 Issue #1536 - Part 3: Parse content to decide whether it's an init segment. 2020-05-07 13:42:33 +02:00
wolfbeast 7e1f4f430f Issue #1536 - Part 2: Parse content to decide whether it's a media segment. 2020-05-07 13:40:21 +02:00
wolfbeast c31fe286b9 Issue #1536 - Part 1: Add timecode checking for the WebM parser 2020-05-07 13:36:54 +02:00
Gaming4JC 83ecae9ff7 Issue #21 - Remove TelemertyVFS
This reverts m-c Bug 668378 and completely removes Telemetry SQLite IO. As a bonus this fixes a potential crash in newer SQLite versions without the need for updating this useless telemetry shim.
2020-05-06 13:55:19 -04:00
Matt A. Tobin 7c779d875b Hyperbola IceDove should use the toolkit SearchService 2020-05-06 11:04:12 -04:00
Moonchild 3c38a37acd [XPFE] Properly anchor XUL windows when tearing down 2020-05-06 11:15:48 +00:00
Moonchild cc2f6543bd [WebRTC] Port some upstream sctp fixes
- add SCTP auth token boundary check.
- turn off SCTP auth and address reconfiguration.
2020-05-06 10:54:14 +00:00
Moonchild 789146fb74 [dom] Reorder some calls to improve memory safety 2020-05-06 00:30:30 +00:00
Moonchild c0401ee701 [devtools] Port various upstream fixes 2020-05-06 00:17:32 +00:00
Moonchild f5c2775a69 [js] Record load in MCreateThis alias set. 2020-05-05 23:43:22 +00:00
Bas Schouten b378ddaace Prevent the existance of dangling pointers upon failure of FindDataStart. 2020-05-05 23:22:19 +00:00
Moonchild 518efb215a Issue #1451 - Split out ICU data file on Windows
This reduces the xul.dll size by 11 MB
2020-05-05 23:16:58 +00:00
New Tobin Paradigm 257e62db99 Merge pull request #1532 from adeshkp/patch-15
Fix warning about inline nsINode::GetFlattenedTreeParentNodeForStyle being undefined
2020-05-05 10:23:49 -04:00
New Tobin Paradigm e0ddf81221 Merge pull request #1534 from adeshkp/gmp-migration-leftover
Remove a leftover GMP migration function
2020-05-05 09:45:23 -04:00
adeshkp da375ebedd Issue #1259 - Remove a leftover GMP migration function 2020-05-04 23:41:48 -04:00
adeshkp f63b86a461 Issue #457 - Fix warning about inline nsINode::GetFlattenedTreeParentNodeForStyle being undefined 2020-05-05 08:43:34 +05:30
Moonchild 6980b80791 Issue #1450 - Remove NVidia 3D-Vision utils
Legacy, unmaintained and untested D3D9 stereo
output behind a hidden pref that nobody ever uses... :P
'nuf said. Resolves #1450
2020-05-04 20:49:56 +00:00
Moonchild ca826767f0 Issue #1517 - Remove dom.event.highrestimestamp.enabled pref
This resolves #1517
2020-05-04 13:11:28 +00:00
Matt A. Tobin ea491d0383 Issue #1449 - Implement URLSearchParams's sort() 2020-05-02 16:43:30 -04:00
Matt A. Tobin 4ecfad8e53 Issue #1531 - Work around GCC 10 defaulting to -fno-common in media/ffvpx/libavcodec/
Build Reference:
26:39.53 ../../../build/unix/gold/ld: error: /home/mattatobin/development/.obj/trunk-f1f9fdabf/navigator-x86_64-pc-linux-gnu-gtk2/media/ffvpx/libavcodec/flac_parser.o: multiple definition of 'ff_flac_parser'
26:39.53 ../../../build/unix/gold/ld: /home/mattatobin/development/.obj/trunk-f1f9fdabf/navigator-x86_64-pc-linux-gnu-gtk2/media/ffvpx/libavcodec/dummy_funcs.o: previous definition here
26:39.53 collect2: error: ld returned 1 exit status
26:39.53 gmake[4]: *** [/home/mattatobin/development/binoc-central/platform/config/rules.mk:773: libmozavcodec.so] Error 1

See also: https://gcc.gnu.org/gcc-10/porting_to.html
2020-05-02 14:59:08 -04:00
New Tobin Paradigm 2375e5ebe9 Merge pull request #1526 from MoonchildProductions/deunify_layout
De-unify layout
2020-05-01 18:03:44 -04:00
adeshkp 0c175b93cf Issue #80 - Include nsIContentInlines.h in layout/base/PositionedEventTargeting.cpp 2020-05-01 14:13:15 -04:00
Moonchild 18b2328bb6 Issue #80 - Resolve issues with compiling on insane gcc configurations with no optimizations in layout/
(and fix a typo for cs fs)
2020-05-01 11:14:26 +00:00
Moonchild e11620a0f5 Issue #80 - De-unify layout/xul and tree, grid 2020-04-30 22:30:35 +00:00
Moonchild 4aafee310e Issue #80 - De-unify layout/tables 2020-04-30 21:45:28 +00:00
Moonchild 6e8e1b36dd Issue #80 - De-unify layout/svg 2020-04-30 21:02:50 +00:00
Moonchild ae707c8dbb Issue #80 - De-unify layout/style 2020-04-30 16:41:13 +00:00
Moonchild a78a87502d Issue #80 - De-unify layout/printing 2020-04-29 19:53:36 +00:00
Moonchild 192d2e07c3 Issue #80 - De-unify layout/PITA... I mean layout/generic 2020-04-29 16:55:02 +00:00
Moonchild ad0a976f2d Issue #80 - De-unify layout/base 2020-04-29 12:36:53 +00:00
Matt A. Tobin f1f9fdabf1 Issue #80 - Resolve issues with compiling on insane gcc configurations with no optimizations in dom/ 2020-04-25 23:04:24 -04:00
New Tobin Paradigm 3b83de9974 Merge pull request #1524 from adeshkp/deunify_dom_2
Fix includes in dom for Mac build
2020-04-25 20:14:00 -04:00
adeshkp adbbcd51c3 Issue #80 - Add Unused.h to dom/gamepad for Mac build 2020-04-25 17:48:17 -04:00
wolfbeast 802efaedc7 Issue #80 - Fix include in dom/quota
Reported by Luke.
2020-04-25 21:01:30 +02:00
adeshkp b1c87bea43 Issue #80 - Fix includes in dom/media/platfoms for Mac build 2020-04-25 13:25:11 -04:00
wolfbeast 521f6fb61e Issue #80 - Fix include in dom/media for Pale Moon builds. 2020-04-25 15:33:39 +02:00
Moonchild 7a9c933a23 Merge pull request #1522 from MoonchildProductions/deunify_dom
Deunify dom
2020-04-24 23:49:40 +02:00
New Tobin Paradigm 756162415b Add Unused.h to dom/media/webrtc/MediaTrackConstraints.cpp 2020-04-24 17:41:17 -04:00
New Tobin Paradigm b653436669 Merge pull request #1523 from adeshkp/deunify_dom
De-unify dom: Fix build bustage on Mac
2020-04-24 12:50:34 -04:00
adeshkp 3e63479f37 Issue #80 - Include D3DMessageUtils.h in dom/plugins/ipc for Mac build
This should ideally not be needed on Mac but compilation fails due to
sizeof `DxgiAdapterDesc` not known.

Didn't face this issue on Linux though, probably due to a different include
chain which already has this file included somewhere along the way.
2020-04-24 10:27:31 -04:00
adeshkp d99fc2ead2 Issue #80 - Fix includes in dom/media/platforms for Mac build 2020-04-24 10:25:37 -04:00
New Tobin Paradigm e2f88ae0bc Issue #80 - Include nsIContentInlines.h in dom/svg/SVGTests.cpp to fix linux bustage 2020-04-23 19:26:31 -04:00
Moonchild ea58beb4c9 Issue #80 - De-unify dom/xul 2020-04-23 17:51:21 +00:00
Moonchild 0e27cb13cc Issue #80 - De-unify dom/xslt 2020-04-23 17:29:30 +00:00
Moonchild a6d34b3fc6 Issue #80 - De-unify dom/xml 2020-04-23 17:00:01 +00:00
Moonchild 13eacee0ab Issue #80 - De-unify dom/xhr 2020-04-23 16:48:48 +00:00
Moonchild 4b7155deb5 Issue #80 - De-unify dom/xbl 2020-04-23 16:24:33 +00:00
Moonchild 553cc9bbb5 Issue #80 - De-unify dom/workers 2020-04-23 16:19:06 +00:00
Moonchild 8a872916bc Issue #80 - De-unify dom/system 2020-04-23 15:00:52 +00:00
Moonchild 915df34663 Issue #80 - De-unify dom/svg 2020-04-23 14:55:34 +00:00
Moonchild ea14415e49 Issue #80 - De-unify dom/smil 2020-04-23 14:31:44 +00:00
Moonchild eb8a6523b8 Issue #80 - De-unify dom/security
Exception: CSPUtils relies on something in CSPContext, but on
Windows it throws in an MSVC include which provides no hints.
2020-04-23 14:13:58 +00:00
Moonchild f2e99fecfd Issue #80 - De-unify dom/quota 2020-04-23 12:07:55 +00:00
Moonchild 8225339715 Issue #80 - De-unify dom/push 2020-04-22 20:57:42 +00:00
Moonchild bbdf84dd35 Issue #80 - De-unify dom/plugins/ipc 2020-04-22 20:37:34 +00:00
Moonchild f7670e6f53 Issue #80 - De-unify dom/plugins/base 2020-04-22 20:04:53 +00:00
Moonchild 484e7e65a7 Issue #80 - De-unify dom/performance 2020-04-22 19:19:55 +00:00
Moonchild 54e4a32da5 Issue #80 - De-unify dom/media part 3
Excluding /dom/media/webrtc for bad template use:
MediaTrackConstraints.cpp/h
MediaEngineCameraVideoSource.cpp and
MediaEngineRemoteVideoSource.cpp
2020-04-22 18:53:58 +00:00
Moonchild 347f3bae73 Issue #80 - De-unify dom/media part 1 (updated reland)
This de-unifies up to and including dom/media/platforms with the exception of
dom/media/platforms/wmf, because that one throws weird errors in the Win
SDK which don't have a clear cause (yet)
2020-04-22 13:18:39 +00:00
Moonchild 6f37b2107a Revert "Issue #80 - De-unify dom/media part 1"
This reverts commit b5b62d841c.
2020-04-22 13:17:28 +00:00
wolfbeast 400e9018fd Revert "Issue #80 - De-unify dom/media part 1"
This reverts commit b5b62d841c.
2020-04-22 15:14:53 +02:00
Moonchild 2bfcaa29ac Issue #80 - De-unify dom/media part 2 2020-04-22 11:13:13 +00:00
Moonchild b5b62d841c Issue #80 - De-unify dom/media part 1
This de-unifies up to and including dom/media/platforms with the exception of
dom/media/platforms/wmf, because that one throws weird errors in the Win
SDK which don't have a clear cause (yet)
2020-04-22 02:32:20 +00:00
Moonchild c9bde0ff25 Issue #80 - De-unify dom/ipc 2020-04-21 18:09:13 +00:00
Moonchild d95fb4f242 Issue #80 - De-unify dom/indexedDB 2020-04-21 15:28:03 +00:00
wolfbeast ceb7889c50 Issue #80 - De-unify dom/html 2020-04-21 14:58:19 +02:00
wolfbeast 37f2b54dc5 [AM] Clean up addon-signing build leftovers. 2020-04-21 13:07:10 +02:00
wolfbeast bbe0503799 Issue #80 - De-unify dom/network 2020-04-20 20:06:44 +02:00
wolfbeast fd1e35f8d5 Issue #80 - De-unify dom/grid 2020-04-20 19:35:13 +02:00
wolfbeast f7ee7bf961 Issue #80 - De-unify dom/geolocation 2020-04-20 19:03:35 +02:00
wolfbeast 244539413e Issue #80 - De-unify dom/gamepad 2020-04-20 18:08:32 +02:00
wolfbeast 2def229da3 Issue #80 - De-unify dom/filesystem 2020-04-20 14:17:32 +02:00
wolfbeast 0edde46e19 Issue #80 - De-unify dom/filehandle 2020-04-20 12:46:11 +02:00
Matt A. Tobin b35bc68877 Issue #576 - Remove IdentityService and ContextualIdentityService 2020-04-19 17:46:17 -04:00
Matt A. Tobin cbef19843f Issue #65 - Remove AppConstants from toolkit/prompts/content/tabprompts.xml
This file not only somehow escaped my pass through here but was also mocking me by using AppConstants in a preprocessed file BUT ALSO right AFTER a preprocessor directive.
2020-04-19 16:29:19 -04:00
Matt A. Tobin 62c0cea342 Put Request.cpp and Response.cpp back into UNIFIED in dom/fetch due to linux linker errors
Reference:

15:03.06 ../../build/unix/gold/ld: error: /home/mattatobin/development/.obj/trunk-master/navigator-x64-gtk3/toolkit/library/../../dom/fetch/Request.o: requires dynamic R_X86_64_PC32 reloc against '_ZN7mozilla3dom9FetchBodyINS0_7RequestEED2Ev' which may overflow at runtime; recompile with -fPIC
15:03.06 ../../build/unix/gold/ld: error: /home/mattatobin/development/.obj/trunk-master/navigator-x64-gtk3/toolkit/library/../../dom/fetch/Response.o: requires dynamic R_X86_64_PC32 reloc against '_ZN7mozilla3dom9FetchBodyINS0_8ResponseEED2Ev' which may overflow at runtime; recompile with -fPIC
15:03.06 ../../build/unix/gold/ld: error: read-only segment has dynamic relocations
15:03.07 /home/mattatobin/development/.obj/trunk-master/navigator-x64-gtk3/toolkit/library/../../dom/fetch/Request.o:Request.cpp:function mozilla::dom::Request::~Request(): error: undefined reference to 'mozilla::dom::FetchBody<mozilla::dom::Request>::~FetchBody()'
15:03.07 /home/mattatobin/development/.obj/trunk-master/navigator-x64-gtk3/toolkit/library/../../dom/fetch/Response.o:Response.cpp:function mozilla::dom::Response::~Response(): error: undefined reference to 'mozilla::dom::FetchBody<mozilla::dom::Response>::~FetchBody()'
2020-04-19 12:50:46 -04:00
Matt A. Tobin df2beb06ef Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2020-04-19 12:38:46 -04:00
Matt A. Tobin baa390fabf Fix typo in dom/animation/CSSPseudoElement.cpp
Linux filesystems tend to be case sensitive
2020-04-19 12:38:41 -04:00
wolfbeast 1169a05684 Issue #80 - De-unify dom/fetch
Running into the same problem as with dom/canvas: derived template
classes not being happy about being non-unified. Kept unified for now
to prevent linking errors.
2020-04-19 16:45:01 +02:00
wolfbeast c3a868aa93 Issue #80 - De-unify dom/events 2020-04-19 14:38:07 +02:00
wolfbeast d003113450 Issue #80 - De-unify dom/crypto 2020-04-19 12:52:40 +02:00
Matt A. Tobin a8e22cb6a5 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2020-04-18 19:34:33 -04:00
Matt A. Tobin 7fc868a368 Make application moz.configure file optional and set application/xulrunner as the default platform build_app 2020-04-18 19:34:29 -04:00
wolfbeast 006fbfd555 Issue #80 - De-unify dom/canvas 2020-04-18 22:00:45 +02:00
Matt A. Tobin 1bc8205ee1 Issue #80 - De-unify layout/mathml 2020-04-18 13:31:59 -04:00
Matt A. Tobin e43694dedb Issue #80 - De-unify layout/forms 2020-04-18 13:10:09 -04:00
wolfbeast 79f126e542 Issue #80 - De-unify dom/cache 2020-04-18 17:39:59 +02:00
wolfbeast cd3935494c Issue #80 - De-unify dom/archivereader 2020-04-18 17:07:15 +02:00
wolfbeast e8f532de41 Issue #80 - De-unify dom/animation
KeyFrameEffect and KeyFrameEffectReadOnly are still built unified as
buddies because they have some complex interdependency that couldn't
easily be resolved without linking failures.
2020-04-18 15:10:34 +02:00
Matt A. Tobin 18ff59c25f Issue #80 - De-unify dom/messagechannel 2020-04-18 03:24:37 -04:00
Matt A. Tobin 272ac91cb2 Issue #80 - De-unify dom/audiochannel 2020-04-18 03:18:46 -04:00
Matt A. Tobin f59fb63b1a Issue #80 - De-unify dom/notification 2020-04-18 03:15:52 -04:00
Matt A. Tobin cb55499113 Issue #80 - De-unify dom/url 2020-04-18 03:13:33 -04:00
Matt A. Tobin a87349027f Issue #80 - De-unify dom/encoding 2020-04-18 03:04:19 -04:00
Matt A. Tobin 153a427515 Issue #80 - De-unify dom/json 2020-04-18 03:00:14 -04:00
Matt A. Tobin b8b7c3acfb Issue #80 - De-unify dom/u2f 2020-04-18 02:49:12 -04:00
Matt A. Tobin 44ed6d09e8 Issue #80 - De-unify dom/power 2020-04-18 02:40:11 -04:00
Matt A. Tobin bf73b360a5 Issue #80 - De-unify dom/mathml 2020-04-18 02:37:07 -04:00
Matt A. Tobin 1c6b659b74 Issue #80 - De-unify dom/jsurl 2020-04-18 02:32:06 -04:00
Matt A. Tobin e8ab6cfbc8 Issue #80 - De-unify dom/worklet 2020-04-18 02:29:40 -04:00
Matt A. Tobin 9d165d5271 Issue #80 - De-unify dom/console 2020-04-18 02:25:38 -04:00
Matt A. Tobin 9c1defdf1b Issue #80 - De-unify dom/media/webm 2020-04-18 02:11:10 -04:00
Matt A. Tobin 0f7b0f6900 Issue #80 - De-unify dom/media/flac 2020-04-18 02:08:39 -04:00
Matt A. Tobin b913c9ba83 Issue #80 - De-unify dom/media/mp3 2020-04-18 01:57:00 -04:00
Matt A. Tobin f3206baa80 Issue #80 - De-unify dom/media/ogg 2020-04-18 01:54:43 -04:00
Matt A. Tobin 24607dc828 Issue #80 - De-unify dom/media/encoder 2020-04-18 01:47:24 -04:00
Matt A. Tobin 735a7eb9f7 Issue #80 - De-unify dom/media/mediasink 2020-04-18 01:41:24 -04:00
Matt A. Tobin cecc77ae6f Issue #80 - De-unify dom/media/wave 2020-04-18 01:21:32 -04:00
Matt A. Tobin 480d9a30e2 Issue #80 - De-unify dom/storage 2020-04-18 01:18:11 -04:00
Matt A. Tobin 77f879e74a Issue #80 - De-unify dom/time 2020-04-18 01:07:01 -04:00
Matt A. Tobin c5e4fd8449 Issue #80 - De-unify dom/permission 2020-04-18 01:03:17 -04:00
Matt A. Tobin d34a91958e Issue #80 - De-unify dom/broadcastchannel 2020-04-18 00:53:39 -04:00
Matt A. Tobin 38bb18bc20 Issue #80 - De-unify dom/offline 2020-04-18 00:43:00 -04:00
Matt A. Tobin aab8d83f00 Issue #80 - De-unify /layout/inspector 2020-04-18 00:25:59 -04:00
Matt A. Tobin 4187fbb2e8 Issue #80 - De-unify /layout/tools/layout-debug/src 2020-04-18 00:21:30 -04:00
Matt A. Tobin 46e31c3d9f Issue #80 - De-unify /layout/ipc 2020-04-18 00:19:33 -04:00
Matt A. Tobin 565339e035 Issue #80 - De-unify /layout/build 2020-04-18 00:15:56 -04:00
Matt A. Tobin 222d316c83 Bug 1425685 - Implement HTMLSlotElement.assignedElements();
Tag #1375
2020-04-17 12:27:45 -04:00
wolfbeast 38f206cb72 [docs] Update coding style cf. discussion with Tobin. 2020-04-17 16:32:28 +02:00
Moonchild d5102d6bea Merge pull request #1518 from MoonchildProductions/shadowdom-merge
Incremental shadowdom-merge
2020-04-17 16:02:56 +02:00
Matt A. Tobin f35aa3e15f Issue #1375 - Merge CustomElements pref with Webcomponents Pref 2020-04-17 07:44:11 -04:00
Matt A. Tobin 80c0247799 Issue #1375 - Fix IsWebComponentsEnabled checks 2020-04-17 07:43:40 -04:00
Matt A. Tobin 6d76ab9b6c Bug 1360154 - nsIPlaintextEditor might have to have hasText property for UpdateOverlayTextVisibility
* DocumentIsBody should return bool, not nsresult
* Add fast path to check whether valus is emtpy

Tag #1375
2020-04-17 07:43:03 -04:00
Matt A. Tobin 9e5e58c0f6 Bug 1425769 - Base class for ShadowRoot and Document to manage style state
Tag #1375
2020-04-17 07:42:07 -04:00
Matt A. Tobin 16dba9a30b Issue #80 - De-unify dom/base
Tag #1375
2020-04-17 07:40:32 -04:00
Matt A. Tobin f6221f440e Bug 1322661 - Expose (non-XBL) style sheets to devtools
Tag #1375
2020-04-17 07:39:36 -04:00
Matt A. Tobin 0f5b789157 Bug 1348481 - Part 1b: Generalize FindDocStyleSheetInsertionPoint so it doesn't require an array of RefPtrs
Tag #1375
2020-04-17 07:39:08 -04:00
Matt A. Tobin f605c68f13 Bug 1417829 - Remove unresolved pseudoclass
Tag #1375
2020-04-17 07:38:16 -04:00
Matt A. Tobin 53df3a74f4 Bug 1426503 - Remove DestInsertionPoints stuff
Tag #1375
2020-04-17 07:37:07 -04:00
Matt A. Tobin b93fb57514 Bug 1426536 - Remove nsContentUtils::IsContentInsertionPoint
Tag #1375
2020-04-17 07:36:25 -04:00
Matt A. Tobin 3508e79b1f Bug 1409976 - Add slotchange event
* Add support for `slotchange` event
* Signal `slotchange` when slot's assigned nodes changes

Tag #1375
2020-04-17 07:35:48 -04:00
Matt A. Tobin f164962a3d Bug 1425441 - Move relatedTarget to WidgetEvent
Tag #1375
2020-04-17 07:34:35 -04:00
Matt A. Tobin d925bfcc69 Bug 1327185 - Refine EventStateManager::FireDragEnterOrExit
Tag #1375
2020-04-17 07:33:51 -04:00
Matt A. Tobin 7e506bd98d Bug 1412775 - Implement Event.composedPath
Tag #1375
2020-04-17 07:30:43 -04:00
Matt A. Tobin 010f37f47b Bug 1422197 - Add fast path to get DocGroup in binding code for [CEReactions]
Tag #1375
2020-04-17 07:29:57 -04:00
Matt A. Tobin 38056aa9c9 Bug 1419762 - Return the inline continuation of an IB split when appending
Tag #1375
2020-04-17 07:29:19 -04:00
Matt A. Tobin fd7a325bc0 Bug 1422931 - Fix crash with slot element and make webcomponents preference per-doc
Tag #1375
2020-04-17 07:25:14 -04:00
Matt A. Tobin f0b7ba1e2b Bug 1419799 - Fix nsContentUtils::IsInSameAnonymousTree in Shadow DOM
Tag #1375
2020-04-17 07:23:48 -04:00
Matt A. Tobin 003e537dcb Bug 1419964 - Remove AdjustParentFrameForAfterContent
Tag #1375
2020-04-17 07:22:58 -04:00
Matt A. Tobin a2cdb9f91a Bug 1415843 - Remove an unneeded call to AdjustAppendParentForAfterContent
Tag #1375
2020-04-17 07:22:26 -04:00
Matt A. Tobin e5ca4ada99 Bug 1415538 - Remove dead frame construction code (InsertFirstLineFrames)
Tag #1375
2020-04-17 07:21:26 -04:00
Matt A. Tobin 03a898fca7 Bug 1415152 - No need for AdjustAppendForAfter, since ::after is handled in FindNextSibling
Tag #1375
2020-04-17 07:20:50 -04:00
Matt A. Tobin ee4857f209 Bug 1413619 - Fix insertion point computation when display: contents pseudos are involved.
Tag #1375
2020-04-17 07:20:06 -04:00
Matt A. Tobin 352fe83985 Bug 979782 - Implement lazy frame construction for display:contents descendants
* Fixup FindFrameForContentSibling to don't duplicate work and trigger assertions for display: contents
* Enable lazy frame construction for display: contents direct descendants

Tag #1375
2020-04-17 07:19:16 -04:00
Matt A. Tobin 14bb98e175 Bug 1380749 - Retry AdjustAppendParentForAfterContent in case |parentAfterFrame| was a :first-letter frame that we deleted
Tag #1375
2020-04-17 07:17:52 -04:00
Matt A. Tobin e31ed5b074 Bug 1409975 - Implement node distribution for shadow tree slots
* Implementation for assignedNodes
* Include slots in the flat tree
* Fix event get-the-parent algorithm for a node
* Update and add reftests for Shadow DOM v1
* Update web platform tests expectations

Tag #1375
2020-04-17 07:10:54 -04:00
Matt A. Tobin 8beb65dd50 Bug 1418002 - Remove HTMLContentElement
Tag #1375
2020-04-17 07:08:22 -04:00
Matt A. Tobin 5524318fe7 Bug 1416999 - Remove document.registerElement
Tag #1375
2020-04-17 07:07:09 -04:00
Matt A. Tobin 3a74795a56 Bug 1411878 - Support Element.shadowRoot and Element.assignedSlot / TextNode.assignedSlot on closed shadow root
Tag #1375
2020-04-17 07:05:27 -04:00
Matt A. Tobin 873abc7bcb Bug 1404842 - Implement Element.attachShadow and Element.slot
Tag #1375
2020-04-17 07:04:42 -04:00
Matt A. Tobin 96dfc63bc5 Bug 1411754 - Rename PresShell::DestroyFramesFor to DestroyFramesForAndRestyle
Tag #1375
2020-04-17 06:41:41 -04:00
Matt A. Tobin ed7faf3fde Bug 1404789 - Stop reconstructing frames for the whole shadow root each time content is inserted in a shadow tree
* Cleanup a bit the ShadowRoot code
* Privatize ShadowRoot methods
* When the shadow tree distribution changes, post a restyle + reframe
* Simplify ShadowRoot::IsPooledNode
* Be a bit better at detecting distribution changes

Tag #1375
2020-04-17 06:41:00 -04:00
Matt A. Tobin 3758434680 Bug 1408341 - Implement assignedSlot on Element and Text
Tag #1375
2020-04-17 06:38:37 -04:00
Matt A. Tobin 55d83ea6f9 Bug 1381134 - Ensure we're using the correct frame for the :after/:before references
Tag #1375
2020-04-17 06:38:06 -04:00
Matt A. Tobin 48f602e65b Bug 1402941 - Add HTMLSlotElement
Tag #1375
2020-04-17 06:37:28 -04:00
Matt A. Tobin 846e0fa4f5 Bug 1401097 - Simplify gHTMLElements and remove redundant conditions in nsXHTMLContentSerializer::LineBreakAfterClose()
Tag #1375
2020-04-17 06:36:20 -04:00
Matt A. Tobin 5f12940329 Bug 1396584 - Remove support for multiple ShadowRoots
Tag #1375
2020-04-17 06:34:38 -04:00
Matt A. Tobin a72b827325 Bug 1400777 - Slim down nsElementTable.h
* Remove eHTMLTags
* De-expose HTML group constants[]
* De-expose gHTMLElements[]
* Split nsHTMLElement
* Clean up nsElementTable.{cpp,h}
* Fixup for eHTMLTag removal in Parser

Tag #1375
2020-04-17 06:33:16 -04:00
Matt A. Tobin 61e46a6d58 Issue #1375 - Stop largely using the parser service
This is based on Bug 1395828

* Add nsHTMLElement::IsBlock()
* Rename nsHTMLTags methods
* Remove AssertParserServiceIsCorrect()
* Remove most uses of nsIParserService/nsParserService
2020-04-17 06:24:43 -04:00
Matt A. Tobin 8114d58fee Bug 1396568 - Make DocumentFragment::mHost a strong reference (so that ShadowRoot.host doesn't become null)
Tag #1375
2020-04-17 06:15:38 -04:00
Matt A. Tobin 071957f9fa Bug 1394300 - Streamline nsElementTable.cpp
Tag #1375
2020-04-17 06:14:58 -04:00
Matt A. Tobin e482e335bb Bug 1389743 - Only reconstruct frames synchronously from ContentRemoved when called from frame construction
Tag #1375
2020-04-17 06:14:10 -04:00
Matt A. Tobin f4a1d0123c Bug 1375701 - Atomize class attribute value in the parser in the innerHTML case
Tag #1375
2020-04-17 06:12:55 -04:00
Matt A. Tobin 675dce9472 Bug 1382357 - Wait to destroy frames until after we've successfully fetched the binding
Tag #1375
2020-04-17 06:11:43 -04:00
Matt A. Tobin 70c8ff8e5a Bug 1377978 - Make nsRange use uint32_t to offset
Tag #1375
2020-04-17 06:10:23 -04:00
Matt A. Tobin 53428ad3f0 Bug 1377648 - Fix HTMLSummaryElement::IsSummary() on removing the element
* Use inFlowFrame to check the target frame is summary and its parent is details
* Check summary frame instead of summary element on removing the summary

Tag #1375
2020-04-17 06:09:37 -04:00
Matt A. Tobin 0c99ad16fb Bug 1368547 - Remove nsFrameManagerBase::mPlaceholderMap and instead store the placeholder on a frame property on the out-of-flow
Tag #1375
2020-04-17 06:07:51 -04:00
Matt A. Tobin 2bcd8923f7 Bug 1368802 - nsFrameIterator::GetPlaceholderFrame should only try to get the placeholder for out-of-flow frames, because in-flow frames never have a placeholder
Tag #1375
2020-04-17 06:03:18 -04:00
Matt A. Tobin 4d1d777e70 Bug 1373798 - Move HTML dir attribute state into event state flags
* Stop calling SetHasDirAuto/ClearHasDirAuto in input element code
* Introduce event state flags that track the state of an element's dir attribute
* Rewrite our existing checks for the state of the dir attr on top of the new event state flags
* Add pseudo-classes for matching on the dir attribute states
* Use the new dir attribute pseudoclasses in html.css

Tag #1375
2020-04-17 05:50:47 -04:00
Matt A. Tobin 32e8155127 Bug 1372829 - Part 2: mozilla::EditorBase should cache raw pointer of nsISelectionController and nsIDocument with nsWeakPtr
Tag #1375
2020-04-17 05:47:12 -04:00
Matt A. Tobin 2e2190a504 Bug 1332353 - Make it clearer when a stylesheet is really owned by its mDocument
Tag #1375
2020-04-17 05:46:23 -04:00
Matt A. Tobin ea3a2ce279 Bug 1372829 - Part 1: Make mozilla::PlaceholderTransaction inherit mozilla::SupportsWeakPtr instead of nsSupportsWeakReference
Tag #1375
2020-04-17 05:45:53 -04:00
Matt A. Tobin 5a379a4b15 Bug 1371170 - Add non-virtual EditorBase::GetSelectionController
Tag #1375
2020-04-17 05:43:47 -04:00
Matt A. Tobin 516fd67d50 Bug 1337698 - Use UniquePtr instead of nsAutoPtr in editor
* PlaceholderTransaction should use UniquePtr
* HTMLEditor should use UniquePtr
* TypeInState should use UniquePtr

Tag #1375
2020-04-17 05:43:18 -04:00
Matt A. Tobin 17f7e1c8c6 Bug 1365092 - Move side effects of SetAttr and ParseAttribute to BeforeSetAttr and AfterSetAttr
* Moves side effects of nsGenericHTMLElement and Element's SetAttr, UnsetAttr, and ParseAttribute functions to the corresponding BeforeSetAttr and AfterSetAttr functions
* Moves side effects of HTMLAnchorElement's SetAttr, UnsetAttr, and ParseAttribute functions to the corresponding BeforeSetAttr and AfterSetAttr functions
* Moves side effects of HTMLImageElement's SetAttr function to the corresponding BeforeSetAttr and AfterSetAttr functions
* Moves side effects of SetAttr, UnsetAttr, and ParseAttribute functions to BeforeSetAttr and AfterSetAttr

Tag #1375
2020-04-17 05:33:06 -04:00
Matt A. Tobin 940d191ef8 Bug 1367683 - Optimize initializing nsRange
Tag #1375
2020-04-17 05:28:43 -04:00
Matt A. Tobin ef689a705f Bug 1348851 - Use new block when better selection isn't found.
Tag #1375
2020-04-17 05:27:56 -04:00
Matt A. Tobin 091d06b43b Bug 1363481 - Add the old attribute value as a parameter to Element::AfterSetAttr
Tag #1375
2020-04-17 05:26:58 -04:00
Matt A. Tobin 0f5dcf963a Bug 1361086 - Simplify UndisplayedMap::GetListFor/GetOrCreateListFor to take nsIContent* rather than nsIContent**
Tag #1375
2020-04-17 05:26:13 -04:00
Matt A. Tobin 34e2c4054f Bug 1360157 - Assert that a display: contents child always has a parent
Tag #1375
2020-04-17 05:25:20 -04:00
Matt A. Tobin 7614fdb51b Bug 1355351 - Make pseudo-elements return the correct style via getComputedStyle
* Add a node property to access the ::before and ::after pseudo-elements
* Look for the frame for ::before and ::after pseudos
* Clean up pseudo-element props
* Simplify nsLayoutUtils callers, and make child iterators notice display: contents pseudos

Tag #1375
2020-04-17 05:10:25 -04:00
Matt A. Tobin 5f297c5f57 Issue #1375 - Include content rules from HTMLTableCellElement::WalkContentStyleRules and move to the mapped attr functionality
* Bugs 1341647 and 1341648
2020-04-17 05:07:41 -04:00
Matt A. Tobin f07f8aecb8 Bug 1352389 -Don't push extra script blocker on stack when setting attributes
Tag #1375
2020-04-17 05:05:28 -04:00
Matt A. Tobin 9f6cb6874e Bug 1296516 - Cleanup a bit of code in layout/base
* Tidy RestyleManager::ContentStateChanged
* Convert UndisplayedMap to a typed hashtable
* Cleanup infallible or unchecked nsCSSFrameConstructor methods

Tag #1375
2020-04-17 05:04:10 -04:00
Matt A. Tobin 0d362ca503 Bug 1330843 - Allow JS to create NAC pseudo-elements
Tag #1375
2020-04-17 05:01:17 -04:00
Matt A. Tobin de45820b64 Bug 1346623 - Allow anonymous content created with nsIDocument::InsertAnonymousContent can change from non-native to native AC
* Prevent canvas custom content from becoming NAC when reframing the root element
* Add an API to get computed style values through an AnonymousContent object

Tag #1375
2020-04-16 20:19:06 -04:00
Matt A. Tobin ab05e6f9ad Bug 1347640 - HTMLInputElement shouldn't try to cancel image request on all the type changes
* Move the changing of HTMLInputElement's mType from ParseAttribute to AfterSetAttr
* Move a few more things from AfterSetAttr to HandleTypeChange

Tag #1375
2020-04-16 20:02:55 -04:00
Matt A. Tobin 2f59167e65 Bug 656197 - Push state updates further out across beforesetattr/aftersetattr
* Remove the generic attr preparsing mechanism from BeforeSetAttr and just preparse class attributes directly in the one place that needs to do it
* Move calls to BeforeSetAttr to after AttributeWillChange
* Remove UpdateState calls in BeforeSetAttr
* Move calls to AfterSetAttr to before UpdateState when manipulating attributes
* Remove UpdateState calls from AfterSetAttr, since they are no longer needed there

Tag #1375
2020-04-16 19:59:10 -04:00
Matt A. Tobin 4630e4abb5 Bug 1343879 - Be consistent about the parent style context the document-level anonymous content container should get: it should get no parent style context.
Tag #1375
2020-04-16 17:54:38 -04:00
Matt A. Tobin 2c4d69359f Issue #1375 - Overload FromContent() to work with const 2020-04-16 17:53:41 -04:00
Matt A. Tobin 1f5c67934f Bug 1343937 - Fix a crash in nsWrapperCache.h
* Implement and use GetInFlowParent
* Exempt scrollbar NAC from the new NAC semantics

Tag #1375
2020-04-16 17:52:30 -04:00
wolfbeast 5caf99795a Issue #251 - Move MOZ_AV1 back to ac configure for everyone to use. 2020-04-16 23:15:33 +02:00
Matt A. Tobin 32c3ee92b8 Bug 1340885 - Null check frame's content when searching for NAC ancestors in GetCorrectedParent
Tag #1375
2020-04-16 16:42:26 -04:00
Matt A. Tobin 0d149a4c09 Bug 1340333 - Eagerly compute whether a frame is really a browser.
Tag #1375
2020-04-16 16:41:20 -04:00
Matt A. Tobin 4375774c90 Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time
* Stop using a node bit for HasExplicitBaseURI
* Move MAY_HAVE_CLASS to mBoolFlags
* Add a flag to indicate that a node is native anonymous content
* Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time, and eliminate explicit style contexts in nsIAnonymousContentCreator::ContentInfo

Tag #1375
2020-04-16 16:37:28 -04:00
wolfbeast 963fc80796 Issue #1517 - Enable high-resolution DOM timestamps on trunk
At the very least we should enable these short term, with the potential
removal of it pending.
2020-04-16 13:21:27 +02:00
Matt A. Tobin c66ed1275f Bug 1336011 - Fix Crash in InvalidArrayIndex_CRASH in mozilla::EditorBase::DeleteSelectionImpl
* EditorBase shouldn't refer mActionListeners directly in loops because it might be removed during a loop
* Create an alias of the type of mEditorObservers
* Create an alias of the type of mDocStateListeners

Tag #1375
2020-04-15 01:55:25 -04:00
Matt A. Tobin 4e2b4b9bc7 Bug 1334358 - Remove nsCSSFrameConstructor::CreateAnonymousFrames
Tag #1375
2020-04-14 23:27:56 -04:00
Matt A. Tobin e215bfbb80 Bug 1334247 - Remove nsIAnonymousContentCreator::CreateFrameFor
Tag #1375
2020-04-14 22:04:32 -04:00
Matt A. Tobin b356448d14 Issue #1375 - Fix unified sources 2020-04-14 21:55:36 -04:00
Matt A. Tobin bebec8fcb8 Bug 1321284 - Crash in nsCSSFrameConstructor::GetInsertionPrevSibling when trying to reframe native anonymous content
* Make StyleChildrenIterator skip NAC generated by root element primary frame ancestors.
* Add nsINode::GetFlattenedTreeParentNodeForStyle.
* Add iterator class to find all restyle roots.

NOTE: Parts 1, 2, and "4.2"

Tag #1375
2020-04-14 21:50:13 -04:00
Matt A. Tobin 5352b69a92 Bug 1305458 - Changing -moz-appearence on hover breaks change event
* Rename nsIDOMEventTarget::PreHandleEvent to nsIDOMEventTarget::GetEventTargetParent
* Add nsIDOMEventTarget::PreHandleEvent
* Add EventTargetChainItem::GetFirstEventTarget
* Call EventTargetChainItem::PreHandleEvent even it sets mCanHandle=false
* Move form control frame focus/blur from nsGenericHTMLFormElement::GetEventTargetParent to PreHandleEvent
* Move fire change event from HTMLTextAreaElement::GetEventTargetParent to PreHandleEvent
* Refine nsXULElement::GetEventTargetParent
* Move dispatch XUL command from nsXULElement::GetEventTargetParent to PreHandleEvent
* Move fire events and set value from HTMLInputElement::GetEventTargetParent to PreHandleEvent
* Add test case
* Let HTMLInputElement delegate event handling to it's parent class
* Refine EventTargetChain flags to reduce overheads
* Refine event target chain creation
* Refine assertion in EventTargetChainItem::Create

Tag #1375
2020-04-14 21:25:54 -04:00
Matt A. Tobin 6f6d1f6ff7 Issue #1516 - Part 1: Add a global build define to determine if the client can draw in the titlebar and update consumers of the local define 2020-04-14 19:16:07 -04:00
wolfbeast f1675650ab Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2020-04-13 12:57:49 +02:00
wolfbeast 6245e5a8f2 Issue #1514 - Perform validity check before trying to use the content.
Resolves #1514
2020-04-13 12:57:07 +02:00
wolfbeast e4548d6ad7 Issue #1513 - Bail on orphan node
This was refactored by Mozilla into doing effectively the same thing so
it aligns with them re: behavior.
Resolves #1513
2020-04-13 12:55:47 +02:00
Moonchild 9f4b2a0e23 Create SECURITY.md
Provide basic instructions how to report security vulnerabilities.
2020-04-13 10:44:05 +02:00
wolfbeast a2bc0e0ec6 Issue #1512 - Improve handling of multiple selections.
IsSelectionEditable should check whether the focus node and anchor node
aren't null before trying to use them.
This also changes the initialization of selections' aOutIndex to the
last range in the selection as a fallback in case we don't add a range
later (in AddItem) which could also end up with a null selection
otherwise if the additional selection nodes are removed.
2020-04-12 12:52:18 +02:00
wolfbeast 552470fb6f [layout] Always move descendants of layout frames if moved.
If we move the frame then we always need to move any descendant views,
not just in case the frame itself has a view.
2020-04-10 21:51:32 +02:00
wolfbeast 56103d6756 Issue #1511 - Bail on orphan situation.
This resolves #1511
2020-04-10 21:48:39 +02:00
Jan de Mooij 85a97e9a35 [js] Handle functions with rest parameters in isObservableArgumentSlot. 2020-04-08 08:29:03 +02:00
Matt A. Tobin 5545a8983f Move aom source to a sub-directory under media/libaom
There is no damned reason to treat this differently than any other media lib given its license and there never was.
2020-04-07 23:30:51 -04:00
Matt A. Tobin 50f1986697 Silence removing dist/bin 2020-04-07 22:49:02 -04:00
Matt A. Tobin eb28b1f32b Take files out of preprocessing that no longer require it 2020-04-07 22:41:34 -04:00
Matt A. Tobin c51c10bf09 Follow up to d0eee8f01 - Run precomplete cmd during package staging 2020-04-07 22:13:11 -04:00
Matt A. Tobin d0eee8f01d Align mar generation on Windows with other platforms
This makes mar generation dependent on packaging not installer
2020-04-07 21:55:11 -04:00
Matt A. Tobin 2383a02b59 Alter config.guess to properly detect host and target bitness on SunOS 2020-04-07 21:18:31 -04:00
wolfbeast 33b22f6157 [Docshell] Ensure nsDocShell::mContentViewer is released properly. 2020-04-07 10:55:20 +02:00
wolfbeast d9f17c9f8b Issue #1505 - Part 3: Make native mode actually native again. 2020-04-05 16:40:21 +02:00
wolfbeast eadff6165c Issue #1505 - Part 2: Store application build ID in nsHttpHandler
Since we're needing to reuse this several times, it makes it simpler to
just get it once in init and storing it.
2020-04-05 16:38:22 +02:00
wolfbeast d0cf67573c Issue #1505 - Rebuild application version string
To respond dynamically to the pref change, the mAppVersion string needs
to be rebuilt.
Includes some minor improvements for corner cases and removes leftover
b2g junk.
2020-04-05 11:48:09 +02:00
New Tobin Paradigm fd5e25ff47 Issue #1497 - Re-implement an un-preprocessed file check 2020-04-04 18:10:10 -04:00
wolfbeast a333257d76 Issue #1508 - Redirect moz://a to http://thereisonlyxul.org/ 2020-04-03 18:16:41 +02:00
wolfbeast 7630b1c56e Issue #1507 - Remove nsRefreshDriver's use of high res system timers.
Since we are using vsync for timing anyway in the layout refresh driver,
there is no need to bump the system timer resolution down to 1 ms.

This resolves #1507.
2020-04-03 18:14:15 +02:00
Moonchild 90a9bc2216 Merge pull request #1504 from JustOff/PR_fix_WebRequest_jsm
Issue #65 - Fix unprocessed directives in WebRequest.jsm
2020-04-02 07:32:33 +02:00
JustOff 065ec07d6b Issue #65 - Fix unprocessed directives in WebRequest.jsm 2020-04-01 21:38:20 +03:00
Matt A. Tobin 66741ca7f5 Make the reference to Handle unambiguous in ipc/testshell/XPCShellEnvironment.cpp
.. correctly
2020-03-31 17:37:02 -04:00
Matt A. Tobin 48a2e680c5 Revert "Make the reference to Handle unambiguous in ipc/testshell/XPCShellEnvironment.cpp"
This reverts commit d4afddfada.
2020-03-31 17:31:31 -04:00
Matt A. Tobin d4afddfada Make the reference to Handle unambiguous in ipc/testshell/XPCShellEnvironment.cpp 2020-03-31 17:28:12 -04:00
Matt A. Tobin c6eccd0e61 Output webidl filenames as they are processed 2020-03-31 12:01:49 -04:00
Matt A. Tobin f35d93396d Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2020-03-31 09:44:24 -04:00
Matt A. Tobin 85ab34e500 Explicitly remove dist/bin before mozbuild's install_manifests get a hold of it 2020-03-31 09:44:18 -04:00
Moonchild d42beba473 Merge pull request #1502 from athenian200/nss348_solaris
Un-bust building of NSS after update to 3.48 on Solaris.
2020-03-31 11:40:05 +02:00
wolfbeast a205ee7040 Issue #1280 - Un-bust certerror pages and ForgetAboutSite 2020-03-31 09:44:30 +02:00
athenian200 389f436c15 Issue #1501 - Un-bust building of NSS after update to 3.48 on Solaris. 2020-03-30 22:54:29 -05:00
wolfbeast 3bc5d67c98 Issue #1280 - Stop requesting HPKP state from within devtools. 2020-03-30 08:18:09 +02:00
Matt A. Tobin 61d3be4745 Properly fix crash in nsDownloadManager when repeatedly pausing and resuming a download
This applies only to applications that do not use JSDownloads and is based on Bug 1224326
2020-03-29 05:07:36 -04:00
Matt A. Tobin 0750e2d3c9 Revert "Only state the stop notification for JSDownloads in nsWebBrowserPersist::EndDownload"
This reverts commit aa28523a55.
2020-03-29 05:07:26 -04:00
Moonchild f2b6fd2481 Merge pull request #1500 from MoonchildProductions/1280
Remove HPKP
2020-03-29 10:26:15 +02:00
Moonchild 568ea8deaa Merge pull request #1494 from JustOff/PR_osslice_non_windows
Fix building `%OS_SLICE%` on non-Windows platforms
2020-03-28 16:54:43 +01:00
Moonchild 1039487b75 Merge pull request #1472 from JMadgwick/master
Fix building on sparc64 Linux
2020-03-28 16:50:07 +01:00
Matt A. Tobin 6676a7d6f1 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2020-03-28 10:48:10 -04:00
Matt A. Tobin 9a31bea935 Teach config.guess to know if we want to build 32 or 64 bit builds on Windows 2020-03-28 10:48:04 -04:00
wolfbeast 070eca4c23 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2020-03-28 14:45:11 +01:00
wolfbeast e51d9fbc10 Issue #1497 Revert "Check if there are any unpreprocessed files"
This reverts PR #429
2020-03-28 14:44:34 +01:00
wolfbeast 2dfd75f7f8 Issue #1497 Revert "MoonchildProductions#1251 - Part 19"
"Make the unpreprocessed file script work on Solaris."

This reverts commit e51afbcc2f.
2020-03-28 14:40:49 +01:00
New Tobin Paradigm d19bcaf4b5 Update README.md 2020-03-28 06:57:45 -04:00
wolfbeast 0afd46b48d Issue #1280 - Part 2: Remove HPKP tests. 2020-03-28 11:02:10 +01:00
wolfbeast 55aa6ce7b3 Issue #1280 - Part 1: Remove HPKP components.
This also removes leftover plumbing for storing preload information
in SiteSecurityService since no service still uses it.
2020-03-28 01:06:56 +01:00
wolfbeast e9723a6fdb Issue #1498 - Part 6: Remove STS preloadlist pref. 2020-03-27 23:27:07 +01:00
wolfbeast 50ebd35073 Issue #1498 - Part 5: Update SSService CID and correct mismatch. 2020-03-27 16:16:43 +01:00
wolfbeast 8ea2c0d5ed Issue #1498 - Part 4: Remove clearPreloads.
Also tag #1280
2020-03-27 15:13:00 +01:00
wolfbeast 9c4aef8675 Issue #1498 - Part 3: Remove support for storing "knockout" values. 2020-03-27 15:07:34 +01:00
wolfbeast e54e59827f Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2020-03-27 14:06:05 +01:00
wolfbeast 09a229c702 Issue #1498 - Part 1: Stop persisting preload states.
Since we don't use preloading anymore for either HPKP or HSTS, we no
longer need persistent storage in the profile for preload states.
Tag #1280 also
2020-03-27 14:02:23 +01:00
wolfbeast 595c8d53df Issue #1498 - Part 1: Stop using HSTS preload lists. 2020-03-27 12:49:01 +01:00
Matt A. Tobin 5e03c9ad4c Issue #1499 - Re-import ExtensionStorage.jsm 2020-03-26 15:38:21 -04:00
Matt A. Tobin bc127ada3b Take nsSiteSecurityService out of UNIFIED_SOURCES
It exceeded the obj file sections limit because of the HSTS preload list so it cannot be built in UNIFIED mode.
2020-03-25 01:02:52 -04:00
JustOff e74509ec54 Issue #1473 - Fix building %OS_SLICE% on non-Windows platforms 2020-03-24 22:56:31 +02:00
wolfbeast cc9b40cc21 Issue #447 - Update HSTS preload list 2020-03-24 20:35:47 +00:00
New Tobin Paradigm 9308c03f5e Merge pull request #1492 from dbsoft/PopupWindowFixes
Disable workaround for popup windows on newer versions of Mac OS
2020-03-21 22:05:10 -04:00
Brian Smith 10a45dfda6 Issue #1491 - Part 2: Disable a workaround on macOS 10.14+ for an Apple bug described in Mozilla bug 378645 involving popup windows that was fixed by Apple. 2020-03-21 17:39:53 -05:00
Brian Smith c1633db6d2 Issue #1491 - Part 1: Update nsCocoaFeatures for newer versions of MacOS X. 2020-03-21 17:37:05 -05:00
Moonchild 0212d61811 Merge pull request #1487 from MoonchildProductions/1467
Make UXP applications capable of using SQLite for NSS instead of DBM
2020-03-20 09:43:07 +01:00
wolfbeast 6f1d8fcce1 Issue #1467 - Part 4: Rename NSS_SQLSTORE to MOZ_SECURITY_SQLSTORE.
Rename the build config option accordingly.
2020-03-19 23:01:29 +01:00
wolfbeast 90a4813d17 [devtools] Properly escape method arguments for curl. 2020-03-19 07:33:05 +01:00
wolfbeast 9550c68d7a [DOM] Make sure to exit fullscreen mode if popups are opened or focused. 2020-03-18 21:15:10 +01:00
wolfbeast 54f44bb628 [js] Remove pointless MakeMRegExpHoistable optimization.
It's a lot of code with no measurable effect.
2020-03-18 13:31:19 +01:00
wolfbeast 22fc220354 [network] Cherry-pick various sctp lib upstream fixes. 2020-03-18 11:11:13 +01:00
wolfbeast 6cbe27d149 Issue #1467 - Part 3: Use UTF-8 file paths for NSS-SQL database. 2020-03-17 20:14:22 +01:00
wolfbeast 09abc10635 Issue #1467 - Part 2: Make the PBKDF rounds adaptive to choice of NSS db 2020-03-17 13:33:03 +01:00
wolfbeast 6b3fbe9ef0 Issue #1467 - Part 1b: Fix type and make moz.configure happy. 2020-03-17 12:40:10 +01:00
wolfbeast 2a4827ea40 Issue #1467 - Part 1: Set up conditional NSS-SQL builds.
- Adds buildconfig option --enable-nss-sqlstore
- Prefixes NSS dbinit with either sql: or dbm: depending on config
- Pre-initializes mozStorage when NSS-SQL storage is used to prevent
  an sqlite3_config race in NSS Init
2020-03-16 13:38:19 +01:00
wolfbeast 6d504711a0 Issue #1355 - Make addition of cell border display items depend on
whether they should be drawn.

This reduces the size of display lists for tables by only adding display
list items that are actually going to be visibly drawn, which will help
overall performance of table drawing.
2020-03-16 09:30:31 +01:00
Moonchild 60ea1e85f5 Merge pull request #1484 from JustOff/PR_ssuao_priority
Give dynamic SSUAO rules priority over static ones
2020-03-15 17:34:46 +01:00
JustOff a20f208834 Issue #1482 - Give dynamic SSUAO rules priority over static ones 2020-03-15 13:41:46 +02:00
Moonchild a1f53ada59 Merge pull request #1486 from MoonchildProductions/1485
Fix incorrect grid cell sizing to min/max space.
2020-03-15 00:10:54 +01:00
Matt A. Tobin 157a4abbcc Issue #1477 - Fix finding config.guess on builds not using MOZ_OBJDIR
* So far this seems to only affect Macintosh builds but other unix builds may be affected. Windows doesn't seem to be.
* This maintains consistency with other one-off file invocations and backwards compatibility with older comm setups
2020-03-13 13:00:12 -04:00
wolfbeast b3a4b8361e Issue #1485 - Fix incorrect grid cell sizing to min/max space.
There were actually two separate logical errors in this method:

The first part is that "origSizes.isSome()" is simply a bogus
requirement for applying min/max-sizes here. I'm still keeping
the optimization of not needlessly copying the mSizes array
(as originally intended) since it's a quite common case.

The second bug is that min/max-sizes were only applied under
the "if (fr != 0.0f)" block. This is bogus since the calculated
'fr' value depends on 'aAvailableSize' which might change by
applying min/max-sizes and thus 'fr' could become non-zero in
the second round.
To fix, this patch just moves "applyMinMax" block out one level.
2020-03-13 11:28:54 +01:00
Moonchild 41e5925b42 Merge pull request #1481 from MoonchildProductions/1480
Skip abspos, fixed, float and placeholders for outline.
2020-03-11 23:24:42 +01:00
wolfbeast 8dc520647d Issue #1480 - Skip abspos, fixed, float and placeholders for outline. 2020-03-11 13:01:48 +01:00
Moonchild e8275b9a1e Merge pull request #1479 from JustOff/PR_uau_cleanup
Remove no longer used function and modules from UserAgentUpdates.jsm
2020-03-11 11:49:30 +01:00
JustOff ad7526fe70 Issue #1053 - Remove no longer used function and modules from UserAgentUpdates.jsm 2020-03-11 01:07:33 +02:00
New Tobin Paradigm ccee9ea5b7 Merge pull request #1476 from JustOff/PR_ssuao_os_slice
Add `%OS_SLICE%` macro to SSUAO to refine OS info
2020-03-10 16:58:06 -04:00
wolfbeast fda8403f56 Minor update to UXP coding style guideline. 2020-03-10 12:47:03 +01:00
JustOff 3c8bc3da7c Issue #1473 - Add %OS_SLICE% macro to SSUAO to refine OS info 2020-03-10 13:10:26 +02:00
New Tobin Paradigm be415c44c7 Update README.md 2020-03-09 17:38:25 -04:00
JMadgwick f7c9359b2a Issue #1471 - Fix building on sparc64 Linux
Correct various pre-processor defines for sparc64 and in mozjemalloc use the JS arm64 allocator on Linux/sparc64.
This corrects build problems opn Linux sparc64 and is in line with bugzilla bug #1275204.
2020-03-09 20:55:13 +00:00
wolfbeast a1e6132772 Issue #1474 - Prevent the cp detection from starting if preffed off.
When setting up connectivity, e.g. with new network detection, the pref
wouldn't be checked (or honored), resulting in spurious startup calls
despite being preffed off. This fixes that.

Resolves #1474
2020-03-07 21:58:27 +01:00
wolfbeast 9815e4bdf0 Update UXP coding style guide JS guide. 2020-03-07 12:30:31 +01:00
wolfbeast d0b2595322 Update UXP coding style guide JS guide. 2020-03-06 23:23:57 +01:00
Matt A. Tobin b14d245a8a Merge branch 'updateutils-work' 2020-03-06 15:05:51 -05:00
wolfbeast 66ab2fa3da Update UXP coding style guide with JS guide. 2020-03-06 11:47:52 +01:00
Matt A. Tobin 4d80ed3d51 Issue #1470 - Part 3: Remove now unused update.locale
This requires changes to package-manifest in all applications
2020-03-05 19:30:38 -05:00
Matt A. Tobin 8baaecd89c Issue #1470 - Part 2: Change calls from UpdateUtils.getUpdateChannel() to UpdateUtils.UpdateChannel in telemetry modules 2020-03-05 19:24:11 -05:00
Matt A. Tobin aaedcc45fb Issue #1470 - Part 1: Refactor UpdateUtils.jsm 2020-03-05 19:22:49 -05:00
New Tobin Paradigm 88da01c294 Remove exposed bug from UpdateUtils.jsm 2020-03-04 13:03:27 -05:00
Matt A. Tobin 65b37410ca Revert "Issue #190 - Part 1: Remove XP_IOS conditional code"
This reverts commit 6a3d5769d0.
2020-02-28 18:00:45 -05:00
Matt A. Tobin 6a3d5769d0 Issue #190 - Part 1: Remove XP_IOS conditional code 2020-02-28 17:58:46 -05:00
Matt A. Tobin 1d86d37828 Issue #1053 - Remove android-only skia-npapi 2020-02-28 17:19:05 -05:00
Matt A. Tobin 9b86872d37 Issue #1053 - Remove android support from nsNSSComponent.cpp 2020-02-28 16:51:00 -05:00
Matt A. Tobin f0abf6273c Issue #251 - Move --disable-dbm to ac configure
Also Tag #1467
2020-02-28 16:21:05 -05:00
Matt A. Tobin 76bacde2ae Remove unused mailnews.mozbuild 2020-02-28 15:11:25 -05:00
Matt A. Tobin 9fceb389c1 Mork is not dependent on dbm and never was. 2020-02-28 15:01:37 -05:00
Matt A. Tobin c30898ce33 Correct typo in mailnews/base/src/moz.build 2020-02-28 15:01:13 -05:00
Matt A. Tobin b118bab81f Issue #1319 - Remove EARLY_BETA_OR_EARLIER condition 2020-02-28 12:05:19 -05:00
wolfbeast ae8eb4d4c4 Issue #1465 - Implement optional catch binding. 2020-02-27 20:09:26 +01:00
wolfbeast 793da7dd62 Revert "Issue #1355 - Better way to create display items for column backgrounds"
This reverts commit 44c47c5038.
2020-02-26 20:51:22 +01:00
wolfbeast 16abf27e65 Revert "Layout\reftests\table-background\reftest.list should have only additions to the end of it."
This reverts commit efdc2af8ab.
2020-02-26 20:51:05 +01:00
wolfbeast cdc2a22c79 [DOM] Add a null check 2020-02-26 16:22:10 +01:00
Matt A. Tobin de35c43f12 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2020-02-26 09:25:07 -05:00
Matt A. Tobin 11d14ae59f No Issue - Always build marionette until it can be tracked down and killed 2020-02-26 09:24:49 -05:00
Moonchild d585e25e27 Merge pull request #1463 from win7-7/column-backgrounds-pr
Better way to create display items for column backgrounds
2020-02-26 13:53:30 +01:00
Matt A. Tobin 4ff7606b6a Issue #1053 - Remove android preprocessor directive from toolkit/locales/jar.mn 2020-02-25 22:22:41 -05:00
Moonchild cce2bc9677 Merge pull request #1461 from MoonchildProductions/ubbo
Back out unboxed array/object removals
2020-02-26 02:38:18 +01:00
Matt A. Tobin 35c26c6c19 Issue #1053 - Remove android support from toolkit
Note: Does not remove support completely from toolkit/mozapps/installer or from telemetry or AppConstants.jsm
2020-02-25 19:45:39 -05:00
Matt A. Tobin 8f35c37a9e Bug 1339444 - Remove unused resource://gre/modules/sqlite/sqlite_internal.js 2020-02-25 18:24:40 -05:00
win7-7 efdc2af8ab Layout\reftests\table-background\reftest.list should have only additions to the end of it.
Layout\reftests\table-background\reftest.list should have only additions to the end of it. Revert incorrect additions.
2020-02-26 00:36:09 +02:00
Matt A. Tobin 0ddd00f195 Issue #439 - Remove tests from toolkit/ 2020-02-25 15:07:00 -05:00
Matt A. Tobin 20f0905b33 Issue #1053 - Remove android support from db 2020-02-25 12:28:41 -05:00
Matt A. Tobin 8e09aff187 Issue #1053 - Remove android support from docshell 2020-02-25 12:26:18 -05:00
win7-7 44c47c5038 Issue #1355 - Better way to create display items for column backgrounds
Part 1: Remove current table item, as it's never set.

Part 2: Get rid of generic table painting code, and handle each class separately.

Part 4: Hoist outline skipping into col(group) frame code.

Part 5: Skip box-shadow for table column and column groups.

Part 6: Store column and column group backgrounds separately, and then append them before the rest of the table contents.

Part 7: Pass rects in display list coordinates to AppendBackgroundItemsToTop.

Part 8: Create column and column group background display items as part of the cell's BuildDisplayList.

Part 9: Used cached values instead of calling nsDisplayListBuilder::ToReferenceFrame when possible, since it can be expensive when the requested frame isn't the builder's current frame.

Part 10: Make sure we build display items for table parts where only the normal position is visible, since we may need to create background items for ancestors at that position.

Part 11: Create an AutoBuildingDisplayList when we create background items for table columns and column groups, so that we initialize the invalidation state correctly.
2020-02-25 00:17:54 +02:00
wolfbeast ecdeefc4dd Revert #1091 Remove unboxed object code phase 1 + extras.
This should be the last code backout for this. merging this branch
should get us back to the way we were (+ additional code changes for
later changes) as fasr as the unused unboxed code is concerned.
2020-02-23 19:43:47 +01:00
Matt A. Tobin 81089ff094 Issue #1053 - Remove android support from hal 2020-02-23 11:29:12 -05:00
Matt A. Tobin 30e4959bd3 Issue #1053 - Remove android support from image 2020-02-23 11:28:41 -05:00
Matt A. Tobin 33ec695ac0 Issue #1053 - Remove android support from intl/locale/nsLocaleService.cpp
This is the only non-icu file with android code in it. Not going to remove android in icu its self because it remains a 3rd party lib.
2020-02-23 11:18:42 -05:00
Matt A. Tobin e9ee12c988 Follow-up to 4e2e9be6a - Move HeapSnapshot DevTools-only Modules back to DevTools
I am so done with this.

Resolves #316
2020-02-23 10:38:36 -05:00
wolfbeast dd57b9273c Revert #1137 - Remove unboxed arrays
- accounting for removal of watch()/unwatch()
- updated for intermediate code changes.
2020-02-23 14:41:40 +01:00
wolfbeast be16123ddc Revert "Issue #1382 - Remove invalid assertion."
This reverts commit 9c6a8450b3.
2020-02-23 11:33:50 +01:00
Matt A. Tobin e9360fae13 Issue #1053 - Remove android support from memory 2020-02-23 00:26:22 -05:00
Matt A. Tobin 2896724eaf Issue #1053 - Remove android support from mfbt 2020-02-22 23:30:31 -05:00
Matt A. Tobin dada39db23 Issue #1053 - Remove android support from ipc except for ipc/chromium
This does not include android in the imported chromium code as specific research needs done on defines and logic.
2020-02-22 22:44:01 -05:00
Matt A. Tobin 5496e4f391 Issue #1053 - Remove android support from mozglue
Yes, I checked for unsaved files this time...
2020-02-22 21:16:37 -05:00
Matt A. Tobin 13a8e78881 Issue #1053 - Remove android support from netwerk/protocol/http/nsHttpHandler.cpp 2020-02-22 20:48:32 -05:00
Matt A. Tobin bdad2357a1 Issue #1053 - Remove android support from netwerk 2020-02-22 20:10:23 -05:00
Matt A. Tobin 881c1e5f18 Issue #1053 - Remove android support from storage/mozStorageConnection.cpp 2020-02-22 19:31:52 -05:00
Matt A. Tobin ce21c398d7 Issue #1053 - Remove android support from uriloader 2020-02-22 19:22:01 -05:00
Matt A. Tobin c895d35a7a Issue #1053 - Remove android support from xpcom/threads/nsThread.cpp
Forgot to save..
2020-02-22 19:04:51 -05:00
Matt A. Tobin 69ed4e4b4e Issue #1053 - Remove android support from XPCOM 2020-02-22 19:03:00 -05:00
Matt A. Tobin 7c8262e8c3 Remove redundant moz.build from db/ 2020-02-22 17:47:21 -05:00
Matt A. Tobin 4e2e9be6ab Reclassify heapsnapshot and nsJSInspector as not part of devtools
This resolves Issue #316
2020-02-22 17:32:39 -05:00
wolfbeast 5ee844f710 Revert #1142 - Remove unboxed objects
- accounting for removal of watch()/unwatch()
2020-02-22 21:09:32 +01:00
wolfbeast b1cd96989b Revert 1320408 part 15: Make addDataProperty static 2020-02-22 21:07:48 +01:00
wolfbeast a7888b8cf2 Set module default identification properly. 2020-02-21 18:50:28 +01:00
wolfbeast 944cf0dda9 Remove gtest reference to non-existing path of removed component 2020-02-21 12:21:10 +00:00
wolfbeast 623c44226a [gfx] Put Skia-specific CTOR init behind Skia-conditional. 2020-02-21 12:12:47 +00:00
wolfbeast 1e88448ddf Merge branch '316' 2020-02-21 01:20:27 +01:00
wolfbeast 5e21bf1d54 Issue #316 - Make sure MOZ_DEVTOOLS_SERVER is passed down to js. 2020-02-21 01:19:16 +01:00
Matt A. Tobin 04fb9eaa6a Issue #1053 - Remove android support from NPAPI 2020-02-20 12:44:29 -05:00
Matt A. Tobin b36e606158 Issue #1053 - Remove conditional android code from widget/ 2020-02-20 12:12:30 -05:00
Matt A. Tobin 18e74277b3 Issue #1053 - Remove Android Widget Toolkit specific files 2020-02-20 11:22:40 -05:00
Matt A. Tobin 178382e4ce Issue #439 - Remove tests from widget/ 2020-02-20 11:08:15 -05:00
Moonchild 7832dded37 Merge pull request #1458 from MoonchildProductions/316
Fix buildability of builds without devtools-server
2020-02-20 16:50:49 +01:00
wolfbeast d53b11c9dc Issue #316 - Be more gentle with the CC and nursery. 2020-02-20 16:47:04 +01:00
Matt A. Tobin 0e9957c412 Issue #1457 - Unfold sqlite3 from nss 2020-02-20 10:02:49 -05:00
wolfbeast 28f67bddcf Issue #316 - Pre-process Performance.webidl 2020-02-20 13:29:03 +01:00
wolfbeast 59f7a2cdb4 Issue #316 - Make the memory GC performance object conditional (WIP)
This was only added for GCubench and likely interfering with building
without devtools-server.
2020-02-20 12:00:26 +01:00
wolfbeast e3d81b698e Issue #1383 - Remove "Copy raw data to clipboard" button
This resolves #1383
2020-02-20 11:01:30 +01:00
Moonchild 0a8530b916 Merge pull request #1455 from JustOff/issue1445_details_url
Add a link to details on using Firefox extensions in Pale Moon
2020-02-19 21:23:24 +01:00
Matt A. Tobin e6b48cb648 Issue #1454 - Add MOZ_PKG_SPECIAL to UpdateUtils 2020-02-19 15:05:50 -05:00
JustOff c220c30bbb Issue #1445 - Add a link to details on using Firefox extensions in Pale Moon 2020-02-19 19:30:21 +02:00
Moonchild 8dc04fc24b Merge pull request #1452 from JustOff/Issue1445_cleanup
Issue #1445 - strings cleanup
2020-02-19 14:34:44 +01:00
JustOff 461a9e86b2 Issue #1445 - strings cleanup 2020-02-19 14:37:14 +02:00
wolfbeast 2073a7f1c9 Issue #1445 - remove redundant nativeIndicator
This resolves #1445
2020-02-19 11:56:34 +01:00
Matt A. Tobin 66b9ddfd32 Issue #1320 - Stop appending cpu arch to the end of %BUILD_TARGET% on Windows in UpdateUtils.jsm 2020-02-17 12:19:22 -05:00
wolfbeast ac68f8cf6c Issue #1445 - Use the detailed string also in the list entries. 2020-02-17 16:19:57 +01:00
wolfbeast 4889e6dbbd Issue #1446 - Only match extension add-on types for target applications.
This resolves #1446
2020-02-17 16:19:05 +01:00
Moonchild a4ab3fc59d Merge pull request #1447 from win7-7/optimization-4-pr
Speed up nsTableColFrame::GetColIndex
2020-02-17 12:40:36 +01:00
wolfbeast e8417acbff Issue #1446 - Only allow extension add-on types for Firefox compat mode. 2020-02-17 12:33:34 +01:00
win7-7 d4098037a4 Issue #1355 - Make nsTableCellFrame::GetColIndex/GetRowIndex faster
We can devirtualize it, remove some branches.
2020-02-16 16:06:53 +02:00
wolfbeast f107de8a90 Issue #1445 - Clarify the status of extensions in the Add-On manager
This resolves #1445.
2020-02-16 13:10:55 +01:00
wolfbeast d3067ffdda [CSS] Only emit non-GC chrome wrapped XUL box warnings in debug builds. 2020-02-14 19:09:13 +01:00
wolfbeast 4ce361d9ba Issue #1441 - Guard appomni/greomni with UXP_CUSTOM_OMNI env var.
This adds an addition to the environment set up for child processes
(plugin container) so that it may still be able to pass the omni
parameters there as-needed.
2020-02-14 17:06:30 +01:00
wolfbeast 786417cf0f Revert "Issue #1441 - Guard appomni/greomni with UXP_CUSTOM_OMNI env var."
This reverts commit 2bdbca39b2.
2020-02-14 16:31:54 +01:00
Simon Giesecke 16fce4341d [IndexedDB] Ensure that strong references to newly created cursors are
kept until the DOM Binding is created.

This fixes random crashes on websites that use IndexedDB cursors.
See also BZ bug 1599420
2020-02-14 14:39:40 +01:00
Henri Sivonen 3bf1b83591 [Parser] Move setting context to null to the correct location. 2020-02-14 13:24:59 +01:00
wolfbeast 2bdbca39b2 Issue #1441 - Guard appomni/greomni with UXP_CUSTOM_OMNI env var. 2020-02-14 12:35:58 +01:00
sotaro 8ec7618633 [Layers] Clear WrappingTextureSourceYCbCrBasic::mTexture correctly 2020-02-14 10:46:53 +01:00
wolfbeast 0a5784d3ce [Network] Bump http channel default Firefox CompatMode init value. 2020-02-14 10:32:41 +01:00
wolfbeast 7dc9aa0585 Fix a whitespace issue in nsComputedDOMStyle.cpp 2020-02-12 00:01:55 +01:00
wolfbeast a399acd57c [CSS] Add stub for font-variation-settings
This stub is added because websites insist on considering this
very hardware-dependent and O.S.-variable low-level font-control
as a "critical feature" which it isn't as there is 0 guarantee
that font variation settings are supported or honored by any
operating system used by the client.

On top this is a WD status feature that sites shouldn't be using, and
the feature itself is strongly discouraged for use in favor of standard
CSS font manipulation keywords like `font-weight`.
2020-02-11 23:59:53 +01:00
wolfbeast 6184ed7555 [CSP] Allow not having a Port for RessourceURI if the Scheme has no
Default Port
2020-02-11 12:30:45 +01:00
Matt A. Tobin 31d8779a22 Issue #65 - Correct nsHelperAppDlg.js for bad preprocessing conversion 2020-02-09 19:54:01 -05:00
Matt A. Tobin 5007e7c498 Issue #80 - Stop building non-generated dom/binding files as UNIFIED_SOURCES
Also fix deprot
2020-02-08 23:23:20 -05:00
Matt A. Tobin 07fe89e26f Directly assign PrimitiveConversions.h to the generated binding of KeyframeAnimationOptions.
This is a hack to deal UnifiedBindings trying to deal with an incomplete codegen implementation so it was worked around with a hack back in Firefox 30-something. If we have anymore of this non-sense crop up as stuff is added or removed from DOM then extend this conditional.

Least until something better comes along.
2020-02-08 20:33:04 -05:00
Moonchild 4234b3a36b Merge pull request #1393 from win7-7/optimization-3-pr
Do less work for columns not in the desired set in PaintRowGroupBackgroundByColIdx
2020-02-08 15:17:21 +01:00
Moonchild 6c82d043a1 Merge pull request #1394 from MoonchildProductions/appconst-work
The rest of removing AppConstants for Platform
2020-02-07 10:57:04 +01:00
Matt A. Tobin fa52fa60b7 Issue #65 - Don't split in the middle of assignment statements in createProfileWizard.js 2020-02-07 04:55:10 -05:00
Matt A. Tobin b4ac6a7dcb Issue #65 - Correct fallthough case in profileSelection.js 2020-02-07 04:51:00 -05:00
Moonchild a6ef90b183 Merge pull request #1388 from win7-7/devirtualize-pr
Merging this in even without a test performed since the code change looks sane. real-world testing will have to be performed.
2020-02-07 09:52:57 +01:00
Matt A. Tobin 99aa809cb8 Issue #1395 - Part 2: Remove the /rest/ of FlyWeb 2020-02-06 19:49:46 -05:00
Matt A. Tobin 6da9e3c6b9 Issue #1395 - Remove FlyWeb Service 2020-02-06 19:47:29 -05:00
Matt A. Tobin 5483f807c2 Issue #1390 - Get rid of the Presentation API 2020-02-06 16:03:39 -05:00
Matt A. Tobin e80e4595b9 Issue #1390 - Remove secondscreen modules from toolkit 2020-02-06 14:49:41 -05:00
wolfbeast 551c418932 [AM] Remove shared theme leftovers for webextensions 2020-02-06 19:24:50 +01:00
Matt A. Tobin 832d84d2c0 Issue #1392 - Change --enable-eme to MOZ_ARG_ENABLE_BOOL and remove MOZ_EME_MODULES 2020-02-06 13:06:35 -05:00
Matt A. Tobin cf4ad4e969 Issue #65 - Remove AppConstants from toolkit/components/passwordmgr 2020-02-06 10:39:22 -05:00
win7-7 6376eceaeb Merge branch 'master' into optimization-3-pr 2020-02-06 17:17:28 +02:00
win7-7 074f23467b Issue #1355 - Do less work for columns not in the desired set in PaintRowGroupBackgroundByColIdx
Do less work in PaintRowGroupBackgroundByColIdx for cells that are not in our desired set of columns.

crash fix:

Guard against empty column groups when building a display list for a table.
2020-02-06 17:13:55 +02:00
Matt A. Tobin 741abd440e Issue #65 - Remove AppConstants from toolkit/components/alerts 2020-02-06 09:47:45 -05:00
Matt A. Tobin 0749a35be9 Issue #65 - Remove AppConstants from toolkit/components/places 2020-02-06 09:43:27 -05:00
Matt A. Tobin cd87677798 Issue #65 - Remove AppConstants from toolkit/components/apppicker 2020-02-06 09:38:29 -05:00
Matt A. Tobin 0ab5c6474c Issue #65 - Remove AppConstants from toolkit/components/thumbnails 2020-02-06 09:34:25 -05:00
Matt A. Tobin 7a0b23aab8 Issue #65 - Remove AppConstants from toolkit/components/printing 2020-02-06 09:31:03 -05:00
Matt A. Tobin c09eca89e4 Issue #65 - Remove AppConstants from toolkit/components/satchel 2020-02-06 09:11:39 -05:00
Moonchild 04c770c8c8 Update UXP Coding Style.md
Be more explicit about paranthesis spacing
2020-02-06 14:50:58 +01:00
Moonchild bf914e9975 Update UXP Coding Style.md
Minor typo
2020-02-06 14:47:30 +01:00
Matt A. Tobin 180543f6c3 Issue #65 - Remove AppConstants from toolkit/components/jsdownloads 2020-02-06 08:31:14 -05:00
Matt A. Tobin 2e6782afb5 Issue #65 - Remove AppConstants from toolkit/mozapps/downloads 2020-02-06 06:32:11 -05:00
Matt A. Tobin 758618b605 Issue #65 - Remove AppConstants from toolkit/mozapps/extensions 2020-02-06 06:07:37 -05:00
Moonchild 58cfb9acc2 Merge pull request #1389 from MoonchildProductions/EME_conditional
Make building of EME conditional
2020-02-06 11:53:51 +01:00
wolfbeast 4c9689f680 Issue #26 - Part 2c: Remove dependence on gmp/widevine-adapter/* 2020-02-05 22:32:52 +01:00
Matt A. Tobin 43f91872bd Issue #65 - Remove AppConstants from toolkit/mozapps/update 2020-02-05 14:31:58 -05:00
Matt A. Tobin 840ecb5262 Issue #65 - Remove AppConstants from toolkit/profile 2020-02-05 13:52:28 -05:00
win7-7 3a7d5d01cc fix whitespace
fix whitespace.
2020-02-05 16:57:42 +02:00
wolfbeast d44c61bf60 Issue #26 - Part 2b: Stub out GMPDecryptorProxy functions.
If EME isn't built, these functions would have no use and the callback
structures are unavailable. Stubbing these out will still allow the
callers to work unchanged, but in effect simply always return without
dispatching a promised task.
This fixes the dependency issue from part 2a.
2020-02-04 11:48:13 +01:00
wolfbeast 99118e38e1 Issue #26 Part 2a: make more EME code conditional.
- Exclude missed MediaKey functions and CDMProxy code.
- Exclude EME APIs frm being built (webidl change)
- Fix tests in --disable-eme state
2020-02-03 23:42:52 +01:00
wolfbeast a595451104 [Installer] Updated the 7-zip stub binary to make sure it doesn't hang
on older versions of Windows but instead provides a usable error message
2020-02-03 23:23:41 +01:00
win7-7 597a6996f1 Issue #1386 - Devirtualize GetRowSpan/GetColSpan
It's at ~1.5% on the perf log for the Netflix use case, which seems a bit too much.
2020-02-03 20:47:41 +02:00
Moonchild c4e1022f57 Merge pull request #1385 from win7-7/standard-pr
Match standard for colSpan/rowSpan
2020-02-03 18:18:40 +01:00
win7-7 52940bc44c Issue #1384 - Match standard for colSpan/rowSpan
HTML standardizes proper behavior of colSpan and rowSpan:

The main thing is that getting the .rowSpan and .colSpan IDL properties will now return the actual clamped value that we use.
2020-02-03 16:59:23 +02:00
wolfbeast 9c6a8450b3 Issue #1382 - Remove invalid assertion.
There is flexibility in exactly the value the initialized length must
hold, i.e. if an array is completely empty, it is valid for the
initialized length to be any value between zero and the length of the
array, as long as the in-memory values below the initialized length have
been initialized with a hole value.
In the case of 0, the array is packed and the move operation would be a
nop, so simply convert the assert to a condition to save some cycles.
2020-02-03 04:52:44 +01:00
Moonchild bbbfd00f95 Merge pull request #1381 from win7-7/optimization2-pr
Add dirty rect intersection checks so that we don't build unnecessary table part display items
2020-02-02 19:17:12 +01:00
win7-7 e6c346c36f Issue #1355 - Hit testing in large tables has become extremely slow
Add dirty rect intersection checks so that we don't build unnecessary table part display items.
2020-02-02 15:02:47 +02:00
wolfbeast d216db11e7 Revert "Issue #1355 - Hit testing in large tables has become extremely slow"
This reverts commit f7b2f0a665.
2020-02-02 13:37:13 +01:00
Moonchild 0db3f512ea Merge pull request #1380 from win7-7/optimization-2-pr
Add dirty rect intersection checks so that we don't build unnecessary table part display items
2020-02-02 13:21:22 +01:00
New Tobin Paradigm 54e3d74002 Fix preprocessor directive in UserAgentUpdates.jsm 2020-02-02 06:52:04 -05:00
win7-7 f7b2f0a665 Issue #1355 - Hit testing in large tables has become extremely slow
Add dirty rect intersection checks so that we don't build unnecessary table part display items.
2020-02-02 13:50:51 +02:00
wolfbeast dd68cb9b3d Issue #1378 - Follow-up: make sure background items remain table-aligned. 2020-02-02 11:31:07 +01:00
Matt A. Tobin 6a3907dae4 Issue #65 - Remove AppConstants from toolkit/modules
Except for secondscreen
2020-02-02 04:25:47 -05:00
Matt A. Tobin 7d21d02d53 Issue #65 - Remove AppConstants from toolkit/content 2020-02-01 23:45:36 -05:00
Matt A. Tobin a18c27ddde Issue #65 - Remove AppConstants from netwerk/ 2020-02-01 21:59:08 -05:00
Matt A. Tobin f9ddbe3640 Issue #65 - Remove AppConstants from mailnews/ 2020-02-01 21:54:04 -05:00
Matt A. Tobin 406fc463e0 Issue #65 - Remove AppConstants from dom/ 2020-02-01 21:45:08 -05:00
wolfbeast 28208f1d3e Issue #1378 - Align the drawing of table cell backgrounds with the spec. 2020-02-02 02:16:41 +01:00
Matt A. Tobin 6bb671bcdd Issue #1377 - Fix porting typo in mailnews/base/search/content/searchWidgets.xml
MailNews Core being historically comm tended to avoid defining shorthand for Components.interfaces
2020-02-01 20:06:57 -05:00
wolfbeast 33ad27614a Issue #447 - Update HSTS preload list & reduce debug spew
Commented out spewing dump() statements in loops. With the ever growing
HSTS list it takes too much time and is pointless to display.
2020-02-01 01:37:52 +00:00
wolfbeast 229f841295 Issue #1342 - Remove support for system libvpx 2020-01-31 16:54:07 +01:00
wolfbeast d41ba28f52 Issue #1342 - Remove support for system sqlite 2020-01-31 15:40:09 +01:00
wolfbeast 8f89965f50 Issue #1342 - Update old.configure for removed build options 2020-01-31 15:12:09 +01:00
wolfbeast e0103f3d5b Issue #1342 - Remove support for system linbpng 2020-01-31 15:10:26 +01:00
Moonchild 64c8c65cf4 Merge pull request #1376 from win7-7/optimization-1-pr
Speed up the traversal of a table row frame's child cells
2020-01-30 17:54:48 +00:00
wolfbeast 499b287394 Issue #1342 - Remove support for system NSPR/NSS 2020-01-30 18:15:38 +01:00
wolfbeast 00a5321c95 Issue #1342 - Remove support for system ICU 2020-01-29 15:13:55 +01:00
win7-7 fd26b84536 Issue #1355 - Speed up the traversal of a table row frame's child cells
Speed up getting the first cellframe in a row and the next cellframe after the given one
2020-01-29 11:14:34 +02:00
wolfbeast e57998f68b [WebRequest] Remove AddonManagerPermissions leftovers
This was added as part of the WebExtension sec issue CVE-2017-5389.
Since we no longer have this interface, it needed to be removed to
prevent errors in the WebRequest channel callback.
2020-01-29 09:08:00 +01:00
Moonchild ed88b99849 Merge pull request #1357 from athenian200/form-disabled-issue
Forms: Click() isn't executing properly when elements are defined disabled
2020-01-28 23:03:48 +00:00
athenian200 7a697172f3 Issue #1356 - Add tests.
Forgot to include these before.
2020-01-28 00:03:00 -06:00
athenian200 3c4f414db7 Merge branch 'master' of https://github.com/MoonchildProductions/UXP into form-disabled-issue 2020-01-27 22:59:08 -06:00
wolfbeast c4b0715baa Issue #1360 - Enable acceleration by default on all known-good platforms. 2020-01-27 22:06:03 +01:00
wolfbeast 54fbb5c75c Update platform version.
Intended to be bumped to 4.6.x once CE/sDOM is landed completely.
2020-01-27 11:54:06 +01:00
wolfbeast 71416f9b79 Merge branch '1360' 2020-01-27 11:49:31 +01:00
Matt A. Tobin d56573bb9c Force CLOBBER 2020-01-26 18:30:55 -05:00
New Tobin Paradigm 22ed46f7cc Merge pull request #1374 from g4jc/custom_elementsv1
Custom Elements v1
2020-01-26 17:13:16 -05:00
Gaming4JC 3c70b297c7 Bug 1430951 - Avoid element name atomizing to improve performance of LookupCustomElementDefinition
Since we are dealing with the element (nodeInfo->LocalName() and NameAtom() are the same value), we could use nodeInfo->NameAtom() instead.

Tag UXP Issue #1344
2020-01-26 15:50:52 -05:00
Gaming4JC 0cea94242a Bug 1430034 - Fix attributeChangedCallback isn't fired with correct newValue when the attribute value is an empty string;
Tag UXP Issue #1344
2020-01-26 15:50:52 -05:00
Gaming4JC d84323905b Bug 1421544 - Lazy push/pop CustomElementReactionsStack entry;
Tag UXP Issue #1344
2020-01-26 15:50:51 -05:00
Gaming4JC e8f95f974f Bug 1413815 - Convert 'observedAttributes' to a sequence<DOMString>
Tag UXP Issue #1344
2020-01-26 15:50:51 -05:00
Gaming4JC 53319e5df6 Bug 1407669 - Fix custom element creation hides uncatchable exceptions from the constructor.
Tag UXP Issue #1344
2020-01-26 15:50:51 -05:00
Gaming4JC a8bf089e8a Bug 1419305 - Part 2: Keep processing remaining elements in ElementQueue even if some of elements are already unlinked
Tag UXP Issue #1344
2020-01-26 15:50:50 -05:00
Gaming4JC 0405d843be Bug 1419305 - Part 1: Use MicroTask on CustomElements correctly
Tag UXP Issue #1344
2020-01-26 15:50:50 -05:00
Gaming4JC 2077cdb41e Bug 1406922 - Make CycleCollectedJSContext to handle microtasks and make MutationObserver to use them
Tag UXP Issue #1344
2020-01-26 15:50:50 -05:00
Gaming4JC 43a8113072 Bug 1405821 - Move microtask handling to CycleCollectedJSContext
Tag UXP Issue #1344
2020-01-26 15:50:49 -05:00
Gaming4JC 14d115cfe3 Bug 1419643 - Don't need to lookup custom element definition for a non-custom element
Tag UXP Issue #1344
2020-01-26 15:50:49 -05:00
Gaming4JC 8db81508a1 Bug 1415761 - Catch the exception and rethrow it after invoking custom elements reactions;
The spec was unclear on how CEReactions interact with thrown exceptions; see https://github.com/whatwg/html/issues/3217. The spec is now being clarified in https://github.com/whatwg/html/pull/3235.

Tag UXP Issue #1344
2020-01-26 15:50:48 -05:00
Gaming4JC 4083a9abf7 Bug 1396620 - Part 2: Fix compartment mismatch crash when doing old prototype swizzling for custom element
Tag UXP Issue #1344
2020-01-26 15:50:48 -05:00
Gaming4JC f576d8f0fe Bug 1396620 - Part 1: Remove created callback for custom elements
Tag UXP Issue #1344
2020-01-26 15:50:48 -05:00
Gaming4JC 37d09da24e Bug 1400762 - Make dom.webcomponents.enabled pref doesn't control CustomElements feature
Tag UXP Issue #1344
2020-01-26 15:50:47 -05:00
Gaming4JC 7e9efb0f27 Bug 1405335 - Remove custom element attached and detached callbacks validation checks
Tag UXP Issue #1344
2020-01-26 15:50:47 -05:00
Gaming4JC 93313b0ce3 Bug 1406325 - Part 5: Implement try to upgrade.
Tag UXP Issue #1344
2020-01-26 15:50:46 -05:00
Gaming4JC fb657f7a1e Bug 1406325 - Part 4: Use mType for LookupCustomElementDefinition and also removing parts of v0.
Tag UXP Issue #1344
2020-01-26 15:50:46 -05:00
Gaming4JC 72d4c0b8df Bug 1406325 - Part 3: Refactor custom elements clone a node.
Tag UXP Issue #1344
2020-01-26 15:50:46 -05:00
Gaming4JC c199dd22e6 Bug 1406325 - Part 2: Set CustomElementData when cloning a node.
Tag UXP Issue #1344
2020-01-26 15:50:45 -05:00
Gaming4JC e62385604d Bug 1406325 - Part 1: Make sure custom element state is custom before sending callback.
Tag UXP Issue #1344
2020-01-26 15:50:45 -05:00
Gaming4JC a0014ac6e9 Bug 1378079 - Part 3: Complete the steps related to custom elements in "create an element for a token".
With fixup for missing header due to unified builds.

Tag UXP Issue #1344
2020-01-26 15:50:44 -05:00
Gaming4JC dd6749f7dd Regenerate Parser for 483155
Tag UXP Issue #1344
2020-01-26 15:50:44 -05:00
Gaming4JC e2fc7a9d49 Fix Build: We don't have SVG or MathML prefs yet
See Bug 1173199 / 1216893

Tag UXP Issue #1344
2020-01-26 15:50:44 -05:00
Gaming4JC 950275abe6 Fix aAttributes
Fallout from 483155

Tag UXP Issue #1344
2020-01-26 15:50:43 -05:00
Gaming4JC ea35625369 Fix ISINDEX
Since we want to keep this element, it has to be adapted to the parser changes in 483155

Tag UXP Issue #1344
2020-01-26 15:50:43 -05:00
Gaming4JC 0f9746b6e5 Add missing space to ElementName.java self-regeneration code.
Tag UXP Issue #1344
2020-01-26 15:50:43 -05:00
Gaming4JC 97ed13a9f9 Add missing elements from Bug 483155
Tag UXP Issue #1344
2020-01-26 15:50:42 -05:00
Gaming4JC d163c367d9 Bug 483155 - Put content creator function pointers onto nsHtml5ElementName.
This is all the manual work for Bug 483155, minus the added functionality to disable SVG and MathML which can be done at any time and are out of scope.

Tag UXP Issue #1344
2020-01-26 15:50:42 -05:00
Gaming4JC 9bf83c6a78 Bug 483155 - Put Gecko content creator function pointers on ElementName.
Tag UXP Issue #1344
2020-01-26 15:50:41 -05:00
Gaming4JC bec4d0ecdc Bug 1355779 - Skip interned ElementName lookup for Custom Elements (ones with hyphen).
Regen.

Tag UXP Issue #1344
2020-01-26 15:50:41 -05:00
Gaming4JC 1ef7d17528 Bug 1355779 - Skip interned nsHtml5ElementName lookup for Custom Elements (ones with hyphen).
Tag UXP Issue #1344
2020-01-26 15:50:41 -05:00
Gaming4JC 0b6548613a Bug 1378079 - Part 2: Introduce throw-on-dynamic-markup-insertion counter.
Per spec, document objects have a throw-on-dynamic-markup-insertion counter, which is used in conjunction with the create an element for the token algorithm to prevent custom element constructors from being able to use document.open(), document.close(), and document.write() when they are invoked by the parser.

Tag UXP Issue #1344
2020-01-26 15:50:40 -05:00
Gaming4JC 004b231d03 Bug 1378079 - Part 1: Gecko changes for adding attribute 'is' to parser.
Tag UXP Issue #1344
2020-01-26 15:50:40 -05:00
Gaming4JC 4c193edcaf Bug 1378079 - Add attribute 'is' to HTML parser.
Tag UXP Issue #1344
2020-01-26 15:50:39 -05:00
Gaming4JC b7f890e02e Bug 1410790 - Add more assertion in CustomElementData::SetCustomElementDefinition and GetCustomElementDefinition;
This is a follow-up patch for bug 1392970. Since we only set CustomElementDefinition on a custom element which is custom, we could add more assertion to ensure that.

Tag UXP Issue #1344
2020-01-26 15:50:39 -05:00
Gaming4JC fce396323d Bug 1366241 - Change memory layout of element name and attribute name hashes in HTML parser from sorted to level order BST in order to take advantage of cache during lookup.
HTML Regen.

Tag UXP Issue #1344
2020-01-26 15:50:38 -05:00
Gaming4JC a8511d983c Bug 1366241 - Change memory layout of element name and attribute name hashes from sorted to level order BST in order to take advantage of cache during lookup.
Java Regen.

Tag UXP Issue #1344
2020-01-26 15:50:38 -05:00
Gaming4JC e17a17766e Bug 1366241 - Change memory layout of element name and attribute name hashes from sorted to level order BST in order to take advantage of cache during lookup.
Tag UXP Issue #1344
2020-01-26 15:50:38 -05:00
Gaming4JC 76a4af3406 Bug 1358037 - Inline the methods of nsHtml5ElementName and nsHtml5AttributeName.
HTML Regen.

Tag UXP Issue #1344
2020-01-26 15:50:37 -05:00
Gaming4JC 5d4200f56d Bug 1358037 - Inline the methods of nsHtml5ElementName and nsHtml5AttributeName.
Manual changes

Tag UXP Issue #1344
2020-01-26 15:50:37 -05:00
Gaming4JC 41e477e2ce Bug 1358037 - Inline the methods of nsHtml5ElementName and nsHtml5AttributeName.
Tag UXP Issue #1344
2020-01-26 15:50:36 -05:00
Gaming4JC e5557d43d6 Bug 1355479 - Flatten attribute storage in the HTML parser to AutoTArray to avoid malloc.
HTML Regen.

Tag UXP Issue #1344
2020-01-26 15:50:36 -05:00
Gaming4JC 650f6b5eb3 Bug 1355479 - Flatten attribute storage in the HTML parser to AutoTArray to avoid malloc.
- Removes nsHtml5ReleasableAttributeName
- Adds nsHtml5AttributeEntry.h
- Makes nsHtml5HtmlAttributes no longer gentered.

Tag UXP Issue #1344
2020-01-26 15:50:36 -05:00
Gaming4JC 90d19b0a31 Bug 1355479 - Remove isindex on the Java side and allow the C++ side to reduce malloc in attribute handling.
Tag UXP Issue #1344
2020-01-26 15:50:35 -05:00
Gaming4JC f7bb7e81e3 Bug 1355769 - Avoid malloc for nsHtml5ElementName when processing a non-interned element name.
Fix build - Remove no longer used ReleaseableElement

Tag UXP Issue #1344
2020-01-26 15:50:35 -05:00
Gaming4JC 016a21c414 Bug 1355769 - Avoid malloc for nsHtml5ElementName when processing a non-interned element name.
HTML Regen.

Tag UXP Issue #1344
2020-01-26 15:50:34 -05:00
Gaming4JC e387308d9b Bug 1355769 - Avoid malloc for nsHtml5ElementName when processing a non-interned element name.
Tag UXP Issue #1344
2020-01-26 15:50:34 -05:00
Gaming4JC 738190dfde Bug 1355493 - Tweak bufToHash() and reduce the number of pre-interned elements.
HTML Regen.

Tag UXP Issue #1344
2020-01-26 15:50:34 -05:00
Gaming4JC 4503b51a4a Bug 1355493 - Tweak bufToHash() and reduce the number of pre-interned elements.
Java Regen.

Tag UXP Issue #1344
2020-01-26 15:50:33 -05:00
Gaming4JC 56925e1f4a Bug 1355493 - Tweak bufToHash() and reduce the number of pre-interned elements.
Tag UXP Issue #1344
2020-01-26 15:50:33 -05:00
Gaming4JC 72a6fd4d2a Bug 1352082 - Avoid shifting a signed integer left in C++.
Tag UXP Issue #1344
2020-01-26 15:50:32 -05:00
Gaming4JC 5b862aa38c Bug 1352082 - Avoid shifting a signed integer left in C++.
Tag UXP Issue #1344
2020-01-26 15:50:32 -05:00
Gaming4JC 1aa6cdcc1d Bug 1352290 - Add assertion to CustomElementReactionsStack::Enqueue to ensure upgrade reactions aren't scheduled to BackupQueue;
Tag UXP Issue #1344
2020-01-26 15:50:32 -05:00
Gaming4JC 2cbd6d3699 Bug 1407937 - Move mDefinition from CustomElementReacion to CustomElementUpgradeReaction;
Tag UXP Issue #1344
2020-01-26 15:50:31 -05:00
Gaming4JC 4dda3f6039 Bug 1406297 - Fix Document.createElement must report an exception.
Tag UXP Issue #1344
2020-01-26 15:50:31 -05:00
Gaming4JC 6ec385fbdb Bug 1319342 - Clone a node should enqueue an upgrade reaction.
Tag UXP Issue #1344
2020-01-26 15:50:30 -05:00
Gaming4JC 8e6ce5fae7 Bug 1121994 - Implement adopted callback for custom elements.
Tag UXP Issue #1344
2020-01-26 15:50:30 -05:00
Gaming4JC 6bbb9f062b Bug 1334044: Replace detached callback (v0) with disconnected callback (v1).
Tag UXP Issue #1344
2020-01-26 15:50:29 -05:00
Gaming4JC 01dfbc928f Bug 1334043 - Part 3: Update tests for connected callback.
Tag UXP Issue #1344
2020-01-26 15:50:29 -05:00
Gaming4JC 3d4c410091 Bug 1334043 - Part 2: Make nsContentUtils::EnqueueLifecycleCallback static.
We make nsContentUtils::EnqueueLifecycleCallback static so that it can be called without a window object. To achive this, we also make CustomElementReaction not taking a CustomElementRegistry in the constructor, as it can call Upgrade statically.

Tag UXP Issue #1344
2020-01-26 15:50:29 -05:00
Gaming4JC 186782301c Bug 1334043 - Part 1: Replace attached callback (v0) with connected callback (v1).
Tag UXP Issue #1344
2020-01-26 15:50:28 -05:00
Gaming4JC 42331663e6 Bug 1392970 - Part 2: Get CustomElementDefinition from CustomElementData when possible.
Tag UXP Issue #1344
2020-01-26 15:50:28 -05:00
Gaming4JC 8573c572fb Bug 1392970 - Part 1: Make CustomElementDefinition ref-counted and put it in CustomElementData.
Tag UXP Issue #1344
2020-01-26 15:50:27 -05:00
Gaming4JC f50503df9c Bug 1301024 - Part 2: Implement create an element steps.
Tag UXP Issue #1344
2020-01-26 15:50:27 -05:00
Gaming4JC 5840b63cca Bug 1301024 - Part 1: Set CreateElement/CreateElementNS is attribute.
Tag UXP Issue #1344
2020-01-26 15:50:27 -05:00
Gaming4JC 45a4aaf7e0 Bug 1398401 - Add preference check for custom element setup.
Tag UXP Issue #1344
2020-01-26 15:50:26 -05:00
Gaming4JC 49f597e7fb Bug 1332233 - prevent resource leak in CustomElementRegistry::Define.
Tag UXP Issue #1344
2020-01-26 15:50:26 -05:00
Gaming4JC bf004bb63b Bug 1334051 - Part 2: Invoke attributeChangedCallback only if attribute name is in the observed attribute list.
We call attributeChangedCallback in two cases:

1. When any of the attributes in the observed attribute list has changed, appended, removed, or replaced.

2. When upgrading an element, for each attribute in element's attribute list that is in the observed attribute list.

Note: w/ Fixup for not implementing an API Enhancement Bug 1363481.

Tag UXP Issue #1344
2020-01-26 15:50:25 -05:00
Gaming4JC 08fc057471 Bug 1334051 - Part 1: Include namespace in attributeChangedCallback.
Per spec [1], we should include namesapce in attributeChangedCallback argurment list.
[1] https://html.spec.whatwg.org/multipage/custom-elements.html#concept-upgrade-an-element, step 3

Tag UXP Issue #1344
2020-01-26 15:50:25 -05:00
Gaming4JC 704318ea0a Bug 1299363 - Part 5-2: Implement new upgrade steps.
Tag UXP Issue #1344
2020-01-26 15:50:25 -05:00
Gaming4JC bbb717ec12 Bug 1299363 - Part 5-1: Make the constructor created by document.registerElement() also works with construction stack.
So that the old upgrade can also work with new upgrade steps which will be implemented in part 5-2.

Tag UXP Issue #1344
2020-01-26 15:50:24 -05:00
Gaming4JC 515c46e695 Bug 1353647 - Fix the custom elements v0 upgrade inconsistency;
There are two places doing prototype setup in old upgrade,
- If definition comes after JS reflector creation, CustomElementRegistry::Upgrade will do prototype swizzling.
- If definition comes before JS reflector creation, Element::WrapObject will set up the prototype.

The later one does SubsumesConsideringDomain, but the former doesn't not.

This patch is to fix the inconsistency, i.e. the former case should also do SubsumesConsideringDomain.

Tag UXP Issue #1344
2020-01-26 15:50:24 -05:00
Gaming4JC d7e5ad445c Bug 1299363 - Part 4: Hold a pointer of ElementQueue in ReactionsStack instead.
1. It is possible that invoking a reaction triggers pushing a new ElementQueue into ReactionStack (e.g., calling define() in constructor which probably enqueue another upgrade reaction), and the reference of ElementQueue passed to InvokeReactions becomes invalid due to the memmove in nsTArray implementation.

2. And we get another benefit from this is memmove becomes faster.

Tag UXP Issue #1344
2020-01-26 15:50:23 -05:00
Gaming4JC ca596f2823 Bug 1299363 - Part 3: Remove unused argument in UpgradeCandidates.
Tag UXP Issue #1344
2020-01-26 15:50:23 -05:00
Gaming4JC 3d44a0b7f0 Bug 1299363 - Part 2: Allow prototype swizzling in html constructor.
Tag UXP Issue #1344
2020-01-26 15:50:23 -05:00
Gaming4JC 32f1ff0f8d Bug 1299363 - Part 1: Implement construction stack.
Tag UXP Issue #1344
2020-01-26 15:50:22 -05:00
Gaming4JC 53c9b77ed4 Bug 1315885 - Part 4: Implement callback reaction for custom element reactions.
Note: Skipped SyncInvokeReactions since it is removed in CE v1, waste of time.

Tag UXP Issue #1344
2020-01-26 15:50:22 -05:00
Gaming4JC e6733c9278 Bug 1315885 - Part 3: Transfer the ownership of ReactionQueue's entry due to re-enter CustomElementReactionsStack::InvokeReactions.
Tag UXP Issue #1344
2020-01-26 15:50:21 -05:00
Gaming4JC 6ff1c0c52f Bug 1315885 - Part 2: Avoid rethrowing exception in CustomElementCallback::Call.
Tag UXP Issue #1344
2020-01-26 15:50:21 -05:00
Gaming4JC 19f08038f0 Bug 1315885 - Part 1: Add ShadowRoot CEReactions annotation.
Tag UXP Issue #1344
2020-01-26 15:50:20 -05:00
Gaming4JC 4c9eab4d26 Bug 1340027 - Part 5: Add XSLTProcessor CEReactions annotation.
Tag UXP Issue #1344
2020-01-26 15:50:20 -05:00
Gaming4JC 7a1cb50405 Bug 1340027 - Part 4: Add DOM parsing CEReactions annotation.
Tag UXP Issue #1344
2020-01-26 15:50:20 -05:00
Gaming4JC db86d423e5 Bug 1340027 - Part 3: Add CSSStyleDeclaration CEReactions annotation.
Tag UXP Issue #1344
2020-01-26 15:50:19 -05:00
Gaming4JC 3fd2f61949 Bug 1340027 - Part 2: Add HTML CEReactions annotation.
Tag UXP Issue #1344
2020-01-26 15:50:19 -05:00
Gaming4JC 1674f8f750 Bug 1340027 - Part 1: Add DOM CEReactions annotation.
Tag UXP Issue #1344
2020-01-26 15:50:18 -05:00
Gaming4JC cc533eaee5 Bug 1377993 - Make node slots less memory hungry in common cases.
Tag UXP Issue #1344
2020-01-26 15:50:18 -05:00
Gaming4JC 59c26110c1 Bug 1347634 - GetCustomElementData and SetCustomElementData don't need to be virtual;
Tag UXP Issue #1344
2020-01-26 15:50:17 -05:00
Gaming4JC a2c7b5f1d9 Bug 1325279 - Put the reaction queue in CustomElementData structure instead of using a map;
Bug 1347446 makes accessing ElementReactionQueue becomes a bit non-trival (have to get it via DocGroup). Since bug 1359346 already refactors the creation time of CustomElementData, ReactionQueue can also be put into CustomElementData, then we can just get ReactionQueue from Element.

Tag UXP Issue #1344
2020-01-26 15:50:17 -05:00
Gaming4JC 9d51b9d06a Creating customized built-in elements without relevant definitions registered first shouldn't throw NotFoundError;
per spec change: https://github.com/w3c/webcomponents/issues/608

Tag UXP Issue #1344
2020-01-26 15:50:17 -05:00
Gaming4JC e86aac28b8 Bug 1359346 - Implement custom element state;
https://dom.spec.whatwg.org/#concept-element-custom-element-state

Tag UXP Issue #1344
2020-01-26 15:50:16 -05:00
Gaming4JC 88925e150b Bug 1357002 - Part 2: Don't call SetupCustomElement() if the custom element feature is pref-ed off;
Tag UXP Issue #1344
2020-01-26 15:50:16 -05:00
Gaming4JC 9abc9b2b78 Bug 1357002 - Part 1: Cache dom.webcomponents.customelements.enabled preference;
Tag UXP Issue #1344
2020-01-26 15:50:15 -05:00
Gaming4JC 859fbc139a Bug 1341898 - Make nsDocument::IsWebComponentsEnabled use a cached bool pref;
Note: Minus IPC bit.

Tag UXP Issue #1344
2020-01-26 15:50:15 -05:00
Gaming4JC d8109fa9a0 Bug 1309147 - Part 5: Eliminate performance cliff when accessing CEReactions code.
Tag UXP Issue #1344
2020-01-26 15:50:15 -05:00
Gaming4JC e055747038 Bug 1309147 - Part 4: Add CEReactions for CustomElementRegistry.
Tag UXP Issue #1344
2020-01-26 15:50:14 -05:00
Gaming4JC df23f78ad1 Bug 1309147 - Part 3: Implement the support for CEReactions in Codegen.
Tag UXP Issue #1344
2020-01-26 15:50:14 -05:00
Gaming4JC 20799ce18c Bug 1309147 - Part 2: Add the name of 'this' value's JSObject* for codegen to generate CEReaction code.
Tag UXP Issue #1344
2020-01-26 15:50:13 -05:00
Gaming4JC 08d22f03ea Bug 1309147 - Part 1: Implement the support for CEReactions in WebIDL parser.
Tag UXP Issue #1344
2020-01-26 15:50:13 -05:00
Gaming4JC ba8fb9dc58 Bug 1350960 - Release CustomElementReactionsStack in TabGroup thread when DocGroup is going away.
Note: In UXP we use non-Quantum thread checking implementation here.

Tag UXP Issue #1344
2020-01-26 15:50:12 -05:00
Gaming4JC 16cd53bd8d Bug 1351979 - Change CustomElementRegistry::Define code to properly propagate out JS exceptions;
Tag UXP Issue #1344
2020-01-26 15:50:12 -05:00
Gaming4JC 25a33c7123 Bug 1347446 - Move custom element reactions stack to DocGroup.
Tag UXP Issue #1344
2020-01-26 15:50:12 -05:00
Gaming4JC 5cf46e2f87 Bug 1341693 - Don't need to check GetDocShell() when creating CustomElementRegistry;
Tag UXP Issue #1344
2020-01-26 15:50:11 -05:00
Gaming4JC 3a97503b36 Bug 1309184 - Implement upgrade reaction for custom element reactions.
Tag UXP Issue #1344
2020-01-26 15:50:11 -05:00
Gaming4JC bac01e30fd Bug 1274159 - Part 4: Add test cases for HTMLConstructor;
Tag UXP Issue #1344
2020-01-26 15:50:10 -05:00
Gaming4JC 5b814fffd6 Bug 1274159 - Part 3-2: Update web-platform-test expected result;
Tag UXP Issue #1344
2020-01-26 15:50:10 -05:00
Gaming4JC 6ea0acf750 Bug 1274159 - Part 3-1: Add HTMLConstructor to HTMLElement and its subclass;
Tag UXP Issue #1344
2020-01-26 15:50:10 -05:00
Gaming4JC 5222f6e9da Bug 1274159 - Part 2-2: Support HTMLConstructor WebIDL extended attribute for custom elements;
Tag UXP Issue #1344
2020-01-26 15:50:09 -05:00
Gaming4JC 244277a3fa Bug 1274159 - Part 2-1: Include the name of relevant interface in nsHTMLTagList.h;
Tag UXP Issue #1344
2020-01-26 15:50:09 -05:00
Gaming4JC 2d31ebf6b6 Bug 1274159 - Part 1: Support looking up definitions by using constructor as a key;
Tag UXP Issue #1344
2020-01-26 15:50:08 -05:00
Gaming4JC bc8543bf79 Bug 1271549 - Remove details and summary preference.
Tag UXP Issue #1344
2020-01-26 15:50:08 -05:00
Gaming4JC ce285b6f2d Bug 1276438 part 3. Align the .body setter with the spec a bit better.
There are two changes here:

1) We allow setting .body even if the root element is not an <html:html>. This is what the spec says to do, and what we used to do before the changes in bug
366200. No tests for this yet, pending https://github.com/whatwg/html/issues/3403 getting resolved.

2) We use GetBody(), not GetBodyElement(), to look for an existing thing to replace. This matters if there are <frameset>s involved.

Tag UXP Issue #1344
Tag UXP Issue #252
2020-01-26 15:50:07 -05:00
Gaming4JC 32f3f8826f Bug 1276438 part 2. Move the implementation of the .body setter from nsHTMLDocument to nsIDocument.
Tag UXP Issue #1344
Tag UXP Issue #252
2020-01-26 15:50:07 -05:00
Gaming4JC a2b56b295b Bug 1276438 part 1. Move the implementation of the .body getter from nsHTMLDocument to nsIDocument.
Tag UXP Issue #1344
Tag UXP Issue #252
2020-01-26 15:49:16 -05:00
wolfbeast 90773547e7 Issue #1360 - Part 2: Update tests for changed preferences. 2020-01-26 10:28:17 +01:00
wolfbeast 282b791acb Issue #1360 - Part 1: Simplify layers acceleration prefs.
This gets rid of platform-dependent hard-coded defaults, but keeps
build-time blocking if there is no GL provider (in which case layers
acceleration almost certainly won't work because it needs a GL
compositor and would likely crash without)

New prefs are
- layers.acceleration.enabled to enable HWA
- layers.acceleration.force to force it enabled (requires .enabled to be
  set as well)

This is the platform part of this issue. The rest will be front-end work
(Preference UI integration and pref migration)
2020-01-26 09:48:52 +01:00
Moonchild a1cce3b2b0 Merge pull request #1371 from athenian200/ftp-list
Potential hang on bad FTP sequence
2020-01-26 08:26:23 +00:00
athenian200 7d53919c26 Fix whitespace. 2020-01-26 01:51:37 -06:00
athenian200 8bb5db350d Issue #1349 - Stop 2xx FTP responses from causing browser to hang.
LIST and RETR still appear to work as intended on ftp:// URLs after my changes. I wasn't able to test STOR because the browser doesn't appear to support FTP uploads at this time (although our FTP implementation appears perfectly capable of doing an FTP upload.)

If I understood the issue correctly, though, what we're doing is ensuring that we receive a preliminary 100 response from the FTP server for a given action before jumping to the 200 code describing what we do if the action was completed. Even though it makes no logical sense for a server to say an action was completed before it was initiated, someone could write a really annoying FTP server that takes advantage of this fact to crash the browser if they wanted.
2020-01-26 01:40:55 -06:00
wolfbeast a64ac6d702 No issue - Always use jemalloc allocator for storage memory when
MOZ_MEMORY is defined (which is defined by enabling jemalloc in config)
2020-01-23 15:17:51 +01:00
Kai Engert 6d761aa68f Issue #1338 - Follow-up: Also cache the most recent PBKDF1 hash
This rewrites the caching mechanism to apply to both PBKDF1 and PBKDF2
2020-01-23 13:11:09 +01:00
wolfbeast 90c5288fef Issue #1342 - Remove support for system libevent 2020-01-23 13:08:02 +01:00
wolfbeast 3624078103 Issue #1366 - Fix build bustage from erroneously removing 2 function implementations. 2020-01-22 21:42:10 +01:00
wolfbeast 5a6059feef Issue #1354 - Fix another potential crashing scenario in WebGL.
(merge of gl-work branch)
2020-01-22 11:51:19 +01:00
Moonchild 8e33fa9c4b Merge pull request #1367 from g4jc/showmodaldialog
Completely remove showModalDialog
2020-01-22 10:35:12 +00:00
Gaming4JC a9290ef91e Issue #1366 - Completely remove showModalDialog 2020-01-21 21:36:54 -05:00
wolfbeast fabe21d593 Issue #1354 - Fix typo 2020-01-21 21:23:46 +01:00
wolfbeast c6dbf55449 Issue #1354 - Clear the current context when MakeCurrent() fails. 2020-01-20 22:42:14 +01:00
wolfbeast 722161775b Issue #1338 - Bump NSS version
Our NSS version is closer to the currently-released .1, so bump version
to that.
Note: we still have some additional patches to the in-tree version in
place so this isn't a 100% match to the RTM one.
2020-01-20 11:59:36 +01:00
wolfbeast 71d8ada4a9 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2020-01-19 14:40:01 +01:00
wolfbeast e0baeba546 Issue #1362 - Revert "Implement regular expression lookbehind"
This reverts commit fa473930f4.
2020-01-19 14:39:14 +01:00
wolfbeast b1abb9aebe Issue #1362 - Revert "Update js/src/builtin/TestingFunctions.cpp for
regex lookbehind changes"

This reverts commit e79607a7a6.
2020-01-19 14:36:29 +01:00
Matt A. Tobin 22198ec194 Issue #1358 - Default to SSL/TLS when using the Account Wizard 2020-01-18 14:09:43 -05:00
Matt A. Tobin c137a4045c Issue #1359 - Pointlessly rename greprefs.. again. 2020-01-18 13:17:41 -05:00
wolfbeast 63219a15b1 Minor update to the html5 parser component doc 2020-01-18 13:25:35 +01:00
wolfbeast b87a4551b5 No issue - Fix unsafe http methods on HTTP/2 with TLSv1.3 0RTT. 2020-01-18 13:17:09 +01:00
wolfbeast 82dffb32bd Add component documentation for the HTML5 parser. 2020-01-18 13:01:53 +01:00
wolfbeast a2073c54b4 Revert "No issue - Fix unsafe http methods on HTTP/2 with TLSv1.3 0RTT."
This reverts commit 67d336a6f2.
2020-01-18 02:08:53 +01:00
wolfbeast 67d336a6f2 No issue - Fix unsafe http methods on HTTP/2 with TLSv1.3 0RTT. 2020-01-17 17:11:06 +01:00
athenian200 1f8d508258 Issue #1356 - Restore older syntax.
Some newer Firefox syntax snuck into my last bug. Just to be on the safe side I'm restoring the older syntax here.
2020-01-16 14:15:23 -06:00
athenian200 42e4816771 Issue #1356 - Remove -moz-user-input disabled to improve event handling. 2020-01-16 14:07:04 -06:00
Matt A. Tobin e4c4c20e7e Update readme instructions for how to use the java html5 parser codegen makefile 2020-01-16 07:43:21 -05:00
Matt A. Tobin ed60101550 Merge branch 'html5-parser-work' 2020-01-16 07:32:48 -05:00
Matt A. Tobin 927c386dd8 Regenerate nsHtml5*.cpp files from java htmlparser sources 2020-01-16 07:28:40 -05:00
Matt A. Tobin 635baac21a Update the html5 parser java codegen makefile to clean up snapshot javasrc 2020-01-16 07:22:22 -05:00
Matt A. Tobin c050c611df Update gitignore to no longer track snapshot javasrc for the html5 parser 2020-01-16 07:19:29 -05:00
Matt A. Tobin 9dbbc6c08f Remove obsolete javasrc snapshot 2020-01-16 07:17:55 -05:00
Matt A. Tobin 72779c9dde Update java htmlparser copyright on code to be translated to cpp 2020-01-16 07:16:39 -05:00
Matt A. Tobin e93b373374 Fix an issue with the html5 tokenizer and tree builder (java htmlparser) 2020-01-15 22:07:59 -05:00
wolfbeast fa816e1ec6 No issue - Fix some line endings in WebGLShaderValidator.cpp 2020-01-16 01:41:21 +01:00
wolfbeast 7007ec9e42 Issue #1354 - Don't allow glsl[130,400] unless we have gpu_shader5
- Teach GLContext about gpu_shader5
- Downgrade shader language version if gpu_shader5 support isn't found.
2020-01-16 01:40:30 +01:00
wolfbeast 058105eec0 Issue #1354 - Cherry-pick ANGLE update for broken drivers that support
required indexing but not the extensions.
2020-01-16 01:31:47 +01:00
Matt A. Tobin 3da18fda02 Bug 1562033
Adjust tokenization of U+0000 (java htmlparser)
2020-01-15 18:10:14 -05:00
Matt A. Tobin ee1d953749 Bug 1347737 - Introduce a new non-heap-allocated type for holding nsStringBuffer* in the HTML parser. (java htmlparser) 2020-01-15 16:55:12 -05:00
Matt A. Tobin 984790c6fb Bug 1555523 (java htmlparser version) 2020-01-15 16:18:08 -05:00
Matt A. Tobin 6f27b4eb34 Bug 1322938 - Make the tree builder aware of <dialog>.
Tag #1343 | https://hg.mozilla.org/projects/htmlparser/rev/d9bdf700af247563fec9b07b52ede6bf61edd513
2020-01-15 15:30:54 -05:00
Matt A. Tobin 2ac58ecef8 Update the java codegen makefile for having the two libs in-tree and change a few target names so they aren't obnoxious 2020-01-15 14:59:35 -05:00
Matt A. Tobin 03fb2e2294 Add the java javaparser
https://github.com/javaparser/javaparser/
Invisible tag: javaparser-1.0.6
2020-01-15 14:58:11 -05:00
Matt A. Tobin 6168dbe21f Add java htmlparser sources that match the original 52-level state
https://hg.mozilla.org/projects/htmlparser/
Commit: abe62ab2a9b69ccb3b5d8a231ec1ae11154c571d
2020-01-15 14:56:04 -05:00
Matt A. Tobin 09314667a6 Update gitignore for import of java html5 codegen and parser sources 2020-01-15 14:45:20 -05:00
wolfbeast 82804d2002 Issue #1332 - Enable seeking to next frame by default.
The indicated BZ bug was resolved in Gecko 50, and could have already
been enabled before (since it returns a promise as-required).
With the rest of promise-based media implemented it makes no sense to
keep this disabled on production.
2020-01-14 15:51:26 +01:00
wolfbeast 8d65feff0a No issue - Remove some unused webextension sync preferences. 2020-01-14 15:48:23 +01:00
wolfbeast da7423057d Issue #1319 - Set some obvious prefs for production builds.
This sets some defaults for production builds that should be
self-explanatory.
2020-01-14 15:47:27 +01:00
wolfbeast cbbae72431 Issue #1353 - Disable remote jar: URIs by default.
Considering the one exception this was still enabled for on all versions
of Firefox since 45 until our fork point is no longer applicable.
This resolves #1353
2020-01-14 15:29:08 +01:00
wolfbeast 1392abe1de No issue - Remove unused network.http.bypass-cachelock-threshold pref. 2020-01-14 15:07:15 +01:00
wolfbeast abf6fd8f2a No issue - Don't define gamepad prefs when gamepad support isn't built.
This also sets sane defaults when present. See also #1319.
2020-01-14 14:45:33 +01:00
wolfbeast 0257b657d2 Issue #1319 - Enable promise debugging only in DEBUG builds. 2020-01-14 14:44:13 +01:00
wolfbeast 4a038e2b4b Issue #1319 - Disable MOZ_LOGGING in production builds.
This makes it only enabled in debug builds, instead, where logging
would be most useful.
2020-01-14 13:35:03 +01:00
wolfbeast 6d342dbab9 Issue #1319 - Remove stderr_to_file.
This local-debug function is only useful for Android to work around
issues with logspewing and should never be in production builds anyway.
2020-01-14 13:23:39 +01:00
wolfbeast 217dca872b Fix comments for NSS PBKDF setup (no code change) 2020-01-14 13:14:57 +01:00
Kai Engert 3733205f09 Issue #1338: Follow-up: Cache the most recent PBKDF2 password hash,
to speed up repeated SDR operations.

Landed on NSS-3.48 for Bug 1606992
2020-01-14 13:08:48 +01:00
wolfbeast aa2ac8dded Reinstate the java->c++ source, generator code + documentation.
We've kept the java source up-to-date until its removal, so there should
be very little additional java mangling needed to have it back up to
speed and usable again.

This reverts commit c6446f1126.
2020-01-13 09:32:00 +01:00
wolfbeast 60dc9eaa95 Simplify some alias sets in IonMonkey. 2020-01-11 13:09:17 +01:00
wolfbeast 06dbb7b7dd Prefer file extension as-provided over default extension for mimetype to
look up default applications on Windows
2020-01-11 12:53:56 +01:00
Daiki Ueno f64e760ab0 Issue #1338 - Followup: certdb: propagate trust information if trust
module is loaded afterwards,

Summary: When the builtin trust module is loaded after some temp certs
being created, these temp certs are usually not accompanied by trust
information. This causes a problem in UXP as it loads the module from a
separate thread while accessing the network cache which populates temp
certs.

This change makes it properly roll up the trust information, if a temp
cert doesn't have trust information.
2020-01-10 20:34:53 +01:00
wolfbeast 095a02f259 Update GTK clipboard handling
- Store the clipboard even if it was set in a GTK dialog.
- Fix a GtkTargetList leak.
- Notify GTK that the data is no longer available for
clipboard_get_cb(), so that GTK will no longer advertise nor attempt to
store the data.
2020-01-10 19:40:14 +01:00
wolfbeast 9365776219 Issue #1338 - Un-bust building of NSS after update to 3.48 on Linux. 2020-01-10 18:17:14 +01:00
wolfbeast 0186023f4a Handle missing base64 challenge in NegotiateAuth and NTLMAuth. 2020-01-09 22:35:03 +01:00
Yaron Tausky 51b1cd97aa Make copy of list before iterating over it. 2020-01-09 22:23:13 +01:00
wolfbeast 8198126c39 Be more consistent about decoding IP addresses in PSM. 2020-01-09 21:39:28 +01:00
wolfbeast d429ac8a60 Simplify value setting.
This gets rid of unused boolean return values on setters and a level of
indirection for calls to set values.
2020-01-09 18:26:06 +01:00
Moonchild 29bf28ca34 Merge pull request #1347 from g4jc/html5_dialog
Implement HMTL5 <dialog>
2020-01-09 13:07:56 +00:00
wolfbeast d79cc5fb49 Issue #1348 - Part 3: Set IS_PRIVATE input scope in private browsing.
Microsoft IME on Windows 10 20H1 (build 19025+) supports IME private
mode by input scope. Although previous Windows versions use an
undocumented API for Edge and IE only, the next Windows 10 release will
use a public API for it.
We pre-empt this potential privacy concern by setting the IS_PRIVATE
flag when in PB mode.
2020-01-09 13:22:29 +01:00
wolfbeast 8ae047bbbf Issue #1348 - Part 2: Teach IMEState about Private Browsing mode. 2020-01-09 13:19:56 +01:00
Makoto Kato 1672355a77 Issue #1348 - Part 1: Clean up input scope support for IMM32.
Use AutoTArray to set input scope.
2020-01-09 09:53:16 +01:00
Gaming4JC 52bda2a828 Bug 1379728 part 1. Remove the double-definition of the 'close' event from EventNameList.h.
Tag #1343
2020-01-07 18:33:24 -05:00
Gaming4JC 25e85f99ce Bug 1322938 - Make the HTML tree builder aware of <dialog>.
Original patch by :hsivonen
Tag #1343
2020-01-07 18:33:24 -05:00
Gaming4JC b91b0c37eb Bug 1322938 - Put <dialog> element behind preference.
Tag #1343
2020-01-07 18:33:23 -05:00
Gaming4JC a4011e7246 Bug 1322938 - Update <dialog> element Web Platform Tests expected results.
Tag #1343
2020-01-07 18:33:23 -05:00
Gaming4JC ef2cd8749f Bug 1322938 - Emit close event when HTMLDialogElement.prototype.close() is called.
Tag #1343
2020-01-07 18:33:23 -05:00
Gaming4JC 2e3b937f4e Bug 1322938 - Basic implementation of HTMLDialogElement.
Tag #1343
2020-01-07 18:33:22 -05:00
wolfbeast c032651778 Reject sample rates that are out-of-range for libsoundtouch.
We never reach this with our normal use of this lib but adding the
sanity check just in case. (ported from upstream)
2020-01-07 21:24:58 +01:00
Moonchild c66b70c4da Merge pull request #1346 from JustOff/PR_CSSStyleSheet_legacy
Issue #1345 - Implement non-standard legacy CSSStyleSheet rules
2020-01-07 12:30:21 +00:00
JustOff b4d686d62d Issue #1345 - Implement non-standard legacy CSSStyleSheet rules 2020-01-07 13:05:05 +02:00
65479 changed files with 7366206 additions and 5231032 deletions

No files matched your search

-22
View File
@@ -187,28 +187,6 @@ devtools/client/framework/test/code_ugly*
devtools/server/tests/unit/babel_and_browserify_script_with_source_map.js
devtools/server/tests/unit/setBreakpoint*
# mobile/android/ exclusions
mobile/android/tests/
# Uses `#filter substitution`
mobile/android/b2gdroid/app/b2gdroid.js
mobile/android/app/mobile.js
mobile/android/chrome/content/healthreport-prefs.js
# Uses `#expand`
mobile/android/chrome/content/about.js
# Not much JS to lint and non-standard at that
mobile/android/installer/
mobile/android/locales/
# Non-standard `(catch ex if ...)`
mobile/android/chrome/content/browser.js
mobile/android/components/Snippets.js
# Bug 1178739: Ignore this file as a quick fix for "Illegal yield expression"
mobile/android/modules/HomeProvider.jsm
# services/ exclusions
# Uses `#filter substitution`
+5 -6
View File
@@ -49,9 +49,11 @@ js/src/autom4te.cache
js/src/tests/results-*.html
js/src/tests/results-*.txt
# Java HTML5 parser classes
parser/html/java/htmlparser/
parser/html/java/javaparser/
# Java HTML5 parser codegen artifacts
parser/html/java/htmlparser/bin/
parser/html/java/javaparser/bin/
parser/html/java/*.jar
parser/html/javasrc/
# Ignore the files and directory that Eclipse IDE creates
.project
@@ -89,9 +91,6 @@ GPATH
# Git clone directory for updating web-platform-tests
testing/web-platform/sync/
# Android Gradle artifacts.
mobile/android/gradle/.gradle
# XCode project cruft
embedding/ios/GoannaEmbed/GoannaEmbed.xcodeproj/project.xcworkspace/xcuserdata
embedding/ios/GoannaEmbed/GoannaEmbed.xcodeproj/xcuserdata
-5
View File
@@ -36,11 +36,6 @@ def FlagsForFile(filename):
flag_list = shlex.split(out.getvalue())
# This flag is added by Fennec for android build and causes ycmd to fail to parse the file.
# Removing this flag is a workaround until ycmd starts to handle this flag properly.
# https://github.com/Valloric/YouCompleteMe/issues/1490
final_flags = [x for x in flag_list if not x.startswith('-march=armv')]
return {
'flags': final_flags,
'do_cache': True
+1 -2
View File
@@ -22,5 +22,4 @@
# changes to stick? As of bug 928195, this shouldn't be necessary! Please
# don't change CLOBBER for WebIDL changes any more.
Clobber for NSS Update
Clobber for ICU 78.1
+13 -50
View File
@@ -47,6 +47,12 @@ 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)
# 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
# completely removed regardless.
default alldep all::
@$(RM) -r $(DIST)/bin
ifndef JS_STANDALONE
ifdef COMPILE_ENVIRONMENT
$(TIERS) binaries:: $(topsrcdir)/js/src/configure js/src/config.status
@@ -131,16 +137,10 @@ default:: $(BUILD_BACKEND_FILES)
endif
install_manifests := \
$(addprefix dist/,branding idl include public private sdk xpi-stage) \
$(addprefix dist/,branding bin idl include public private sdk xpi-stage) \
_tests \
$(NULL)
# Skip the dist/bin install manifest when using the hybrid
# FasterMake/RecursiveMake backend. This is a hack until bug 1241744 moves
# xpidl handling to FasterMake in that case, mechanically making the dist/bin
# install manifest non-existent (non-existent manifests being skipped)
ifeq (,$(filter FasterMake+RecursiveMake,$(BUILD_BACKENDS)))
install_manifests += dist/bin
endif
install_manifest_depends = \
CLOBBER \
$(configure_dir)/configure \
@@ -160,45 +160,9 @@ endif
.PHONY: install-manifests
install-manifests: $(addprefix install-,$(install_manifests))
# If we're using the hybrid FasterMake/RecursiveMake backend, we want
# to recurse in the faster/ directory in parallel of install manifests.
# But dist/idl needs to happen before (cf. dependencies in
# config/faster/rules.mk)
ifneq (,$(filter FasterMake+RecursiveMake,$(BUILD_BACKENDS)))
install-manifests: faster
.PHONY: faster
faster: install-dist/idl
$(MAKE) -C faster FASTER_RECURSIVE_MAKE=1
endif
.PHONY: tup
tup:
$(call BUILDSTATUS,TIERS make tup)
$(call BUILDSTATUS,TIER_START make)
$(MAKE) install-manifests buildid.h source-repo.h
$(call BUILDSTATUS,TIER_FINISH make)
$(call BUILDSTATUS,TIER_START tup)
@$(TUP) $(if $(findstring s,$(filter-out --%,$(MAKEFLAGS))),,--verbose)
$(call BUILDSTATUS,TIER_FINISH tup)
# 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)
ifneq (,$(filter FasterMake+RecursiveMake,$(BUILD_BACKENDS)))
@# If we're using the hybrid FasterMake/RecursiveMake backend, we want
@# to ensure the FasterMake end doesn't have install manifests for the
@# same directory, because that would blow up
$(if $(wildcard _build_manifests/install/$(subst /,_,$*)),$(if $(wildcard faster/install_$(subst /,_,$*)*),$(error FasterMake and RecursiveMake ends of the hybrid build system want to handle $*)))
endif
$(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/% ;
@@ -211,10 +175,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
@@ -234,13 +197,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
+14 -4
View File
@@ -9,8 +9,6 @@ selective cherry-picking of directly-applicable patches, this repository has its
own development and holds the base for a maintained platform to be used by XUL
applications.
For a list of active projects making use of the Unified XUL Platform, checkout http://thereisonlyxul.org/.
## Additional documentation
Additional documentation relevant to this source code can be found in the `/docs`
@@ -18,12 +16,19 @@ directory. This will contain relevant documentation regarding contributing,
using and distributing this code and its binaries.
If you are interested in the development and building side of things, some
information will be available on the [Pale Moon developer wiki](http://developer.palemoon.org).
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 licensed under Mozilla Public License v2.0, the
Although this repository is primarily licensed under Mozilla Public License v2.0, the
trademarks and brands contained herein remain the property of their respective
owners. For more details, please see the notifications in the respective directories.
@@ -34,3 +39,8 @@ and other community members.
If you fork this repository to perform your own work on it, please consider offering
improvement patches upstream to its origin to mutually improve the platform and build
a future for XUL.
## 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).
+35
View File
@@ -0,0 +1,35 @@
# Security Policy
## What is or is not a vulnerability?
In general, vulnerabilities are those bugs that can actually be exploited to perform malicious tasks.
Most _crashes_ are not security vulnerabilities. Although important to fix, they don't inherently cause a problem for the
browser's security.
What should be considered vulnerabilities or security hazards by default:
- Use-after-free crashes, since those can potentially be used for remote code execution;
- Spoofing issues in the UI;
- File security issues, like out-of-bounds access to arbitrary files or locations;
- Type confusion issues;
- Bypass of security measures like CSP or the various mechanisms around HTTPS.
Generally not security vulnerabilities:
- Null dereferencing crashes;
- Malware extensions (but please do report those on the forum in the add-ons board!);
- Denial-of-service (AKA "evil trap sites")
- Browser hangs
- Issues with non-standard manual configuration (either at build time or by manipulating about:config directly)
## Reporting a Vulnerability
If you find an issue in UXP, or the applications building on it, that could impact the security or safety of users please **do not**
make an issue on Gitea about it. Gitea does not support restricted viewability for security sensitive bugs.
If you want to report a security-sensitive issue then please go to the [forum](https://forum.palemoon.org) and report the issue
via a **private message** to **Moonchild** (the founder and prime responsible for security issues).
The forum's private message system is fully secure since your visits are encrypted and private messages are not available to anyone
except the recipient (not even moderators!).
You will be informed via private message if the vulnerability report is accepted or declined, with reasoning.
Security updates occur regularly and are given priority over most other development tasks. In general, they can be solved
relatively quickly and will be included in the next point release (third digit if not rolled into a more major one).
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
/* vim: set ts=2 et sw=2 tw=40: */
/* 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
View File
@@ -1,5 +1,4 @@
# -*- Mode: python; 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/.
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
+17 -9
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,7 +6,7 @@
#include "Platform.h"
#include "nsIAccessibleEvent.h"
#include "nsIGConfService.h"
#include "nsIGSettingsService.h"
#include "nsIServiceManager.h"
#include "nsMai.h"
#include "AtkSocketAccessible.h"
@@ -361,13 +360,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;
}
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
# -*- Mode: python; 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/.
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
-12
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/. */
@@ -347,16 +345,6 @@ static const nsRoleMapEntry sWAIRoleMaps[] =
eLandmark,
kNoReqStates
},
{ // marquee
&nsGkAtoms::marquee,
roles::ANIMATION,
kUseMapRole,
eNoValue,
eNoAction,
eOffLiveAttr,
kGenericAccType,
kNoReqStates
},
{ // math
&nsGkAtoms::math,
roles::FLAT_EQUATION,
-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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
@@ -5,9 +5,7 @@
#include "AccIterator.h"
#include "AccGroupInfo.h"
#ifdef MOZ_XUL
#include "XULTreeAccessible.h"
#endif
#include "mozilla/dom/HTMLLabelElement.h"
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
-3
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
@@ -342,8 +341,6 @@ LogRequest(nsIRequest* aRequest)
printf("targeted; ");
if (loadFlags & nsIChannel::LOAD_CALL_CONTENT_SNIFFERS)
printf("call content sniffers; ");
if (loadFlags & nsIChannel::LOAD_CLASSIFY_URI)
printf("classify uri; ");
} else {
printf(" no request");
}
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
@@ -13,7 +13,6 @@
#include "mozilla/dom/TabChild.h"
#include "mozilla/dom/Element.h"
#include "mozilla/Telemetry.h"
using namespace mozilla;
using namespace mozilla::a11y;
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set 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 -2
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set 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/. */
@@ -81,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();
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set 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/. */
+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();
}
////////////////////////////////////////////////////////////////////////////////
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
# -*- Mode: python; 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/.
+12 -10
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"
@@ -68,7 +72,6 @@
#include "mozilla/Services.h"
#include "nsDeckFrame.h"
#ifdef MOZ_XUL
#include "XULAlertAccessible.h"
#include "XULColorPickerAccessible.h"
#include "XULComboboxAccessible.h"
@@ -79,9 +82,8 @@
#include "XULSliderAccessible.h"
#include "XULTabAccessible.h"
#include "XULTreeGridAccessibleWrap.h"
#endif
#if defined(XP_WIN) || defined(MOZ_ACCESSIBILITY_ATK)
#if (defined(XP_WIN) || defined(MOZ_ACCESSIBILITY_ATK)) && defined(MOZ_ENABLE_NPAPI)
#include "nsNPAPIPluginInstance.h"
#endif
@@ -433,6 +435,7 @@ private:
NS_IMPL_ISUPPORTS(PluginTimerCallBack, nsITimerCallback)
#endif
#ifdef MOZ_ENABLE_NPAPI
already_AddRefed<Accessible>
nsAccessibilityService::CreatePluginAccessible(nsPluginFrame* aFrame,
nsIContent* aContent,
@@ -495,6 +498,7 @@ nsAccessibilityService::CreatePluginAccessible(nsPluginFrame* aFrame,
return nullptr;
}
#endif // MOZ_ENABLE_NPAPI
void
nsAccessibilityService::DeckPanelSwitched(nsIPresShell* aPresShell,
@@ -1161,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.
@@ -1356,7 +1360,6 @@ nsAccessibilityService::CreateAccessibleByType(nsIContent* aContent,
}
RefPtr<Accessible> accessible;
#ifdef MOZ_XUL
// XUL controls
if (role.EqualsLiteral("xul:alert")) {
accessible = new XULAlertAccessible(aContent, aDoc);
@@ -1515,7 +1518,6 @@ nsAccessibilityService::CreateAccessibleByType(nsIContent* aContent,
accessible = new XULToolbarButtonAccessible(aContent, aDoc);
}
#endif // MOZ_XUL
return accessible.forget();
}
@@ -1642,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;
@@ -1739,7 +1743,6 @@ nsAccessibilityService::HasAccessible(nsIDOMNode* aDOMNode)
////////////////////////////////////////////////////////////////////////////////
// nsAccessibilityService private (DON'T put methods here)
#ifdef MOZ_XUL
already_AddRefed<Accessible>
nsAccessibilityService::CreateAccessibleForXULTree(nsIContent* aContent,
DocAccessible* aDoc)
@@ -1769,7 +1772,6 @@ nsAccessibilityService::CreateAccessibleForXULTree(nsIContent* aContent,
new XULTreeGridAccessibleWrap(aContent, aDoc, treeFrame);
return accessible.forget();
}
#endif
nsAccessibilityService*
GetOrCreateAccService(uint32_t aNewConsumer)
+4 -2
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
@@ -274,13 +278,11 @@ private:
CreateAccessibleByFrameType(nsIFrame* aFrame, nsIContent* aContent,
Accessible* aContext);
#ifdef MOZ_XUL
/**
* Create accessible for XUL tree element.
*/
already_AddRefed<Accessible>
CreateAccessibleForXULTree(nsIContent* aContent, DocAccessible* aDoc);
#endif
/**
* Reference for accessibility service instance.
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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 -8
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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,9 +48,7 @@
#include "mozilla/dom/DocumentType.h"
#include "mozilla/dom/Element.h"
#ifdef MOZ_XUL
#include "nsIXULDocument.h"
#endif
using namespace mozilla;
using namespace mozilla::a11y;
@@ -160,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)
@@ -211,11 +208,9 @@ DocAccessible::NativeRole()
return roles::CHROME_WINDOW;
if (itemType == nsIDocShellTreeItem::typeContent) {
#ifdef MOZ_XUL
nsCOMPtr<nsIXULDocument> xulDoc(do_QueryInterface(mDocumentNode));
if (xulDoc)
return roles::APPLICATION;
#endif
return roles::DOCUMENT;
}
}
@@ -388,13 +383,11 @@ DocAccessible::URL(nsAString& aURL) const
void
DocAccessible::DocType(nsAString& aType) const
{
#ifdef MOZ_XUL
nsCOMPtr<nsIXULDocument> xulDoc(do_QueryInterface(mDocumentNode));
if (xulDoc) {
aType.AssignLiteral("window"); // doctype not implemented for XUL at time of writing - causes assertion
return;
}
#endif
dom::DocumentType* docType = mDocumentNode->GetDoctype();
if (docType)
docType->GetPublicId(aType);
+1 -2
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 sw=2 et tw=78: */
/* 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/. */
@@ -77,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)) {
+8 -31
View File
@@ -19,9 +19,7 @@
#include "Relation.h"
#include "Role.h"
#include "States.h"
#ifdef MOZ_XUL
#include "XULTreeAccessible.h"
#endif
#include "mozilla/dom/Element.h"
@@ -43,10 +41,8 @@
#include "nsFocusManager.h"
#include "nsGlobalWindow.h"
#ifdef MOZ_XUL
#include "nsIXULDocument.h"
#include "nsIXULWindow.h"
#endif
using namespace mozilla;
using namespace mozilla::a11y;
@@ -102,7 +98,6 @@ RootAccessible::NativeRole()
}
// RootAccessible protected member
#ifdef MOZ_XUL
uint32_t
RootAccessible::GetChromeFlags()
{
@@ -122,7 +117,6 @@ RootAccessible::GetChromeFlags()
xulWin->GetChromeFlags(&chromeFlags);
return chromeFlags;
}
#endif
uint64_t
RootAccessible::NativeState()
@@ -131,7 +125,6 @@ RootAccessible::NativeState()
if (state & states::DEFUNCT)
return state;
#ifdef MOZ_XUL
uint32_t chromeFlags = GetChromeFlags();
if (chromeFlags & nsIWebBrowserChrome::CHROME_WINDOW_RESIZE)
state |= states::SIZEABLE;
@@ -142,7 +135,6 @@ RootAccessible::NativeState()
state |= states::MOVEABLE;
if (chromeFlags & nsIWebBrowserChrome::CHROME_MODAL)
state |= states::MODAL;
#endif
nsFocusManager* fm = nsFocusManager::GetFocusManager();
if (fm && fm->GetActiveWindow() == mDocumentNode->GetWindow())
@@ -292,7 +284,6 @@ RootAccessible::ProcessDOMEvent(nsIDOMEvent* aDOMEvent)
if (!accessible)
return;
#ifdef MOZ_XUL
XULTreeAccessible* treeAcc = accessible->AsXULTree();
if (treeAcc) {
if (eventType.EqualsLiteral("TreeRowCountChanged")) {
@@ -305,7 +296,6 @@ RootAccessible::ProcessDOMEvent(nsIDOMEvent* aDOMEvent)
return;
}
}
#endif
if (eventType.EqualsLiteral("RadioStateChange")) {
uint64_t state = accessible->State();
@@ -341,7 +331,6 @@ RootAccessible::ProcessDOMEvent(nsIDOMEvent* aDOMEvent)
}
Accessible* treeItemAcc = nullptr;
#ifdef MOZ_XUL
// If it's a tree element, need the currently selected item.
if (treeAcc) {
treeItemAcc = accessible->CurrentItem();
@@ -385,29 +374,22 @@ RootAccessible::ProcessDOMEvent(nsIDOMEvent* aDOMEvent)
nsEventShell::FireEvent(selChangeEvent);
return;
}
}
else
#endif
if (eventType.EqualsLiteral("AlertActive")) {
} else if (eventType.EqualsLiteral("AlertActive")) {
nsEventShell::FireEvent(nsIAccessibleEvent::EVENT_ALERT, accessible);
}
else if (eventType.EqualsLiteral("popupshown")) {
} else if (eventType.EqualsLiteral("popupshown")) {
HandlePopupShownEvent(accessible);
}
else if (eventType.EqualsLiteral("DOMMenuInactive")) {
} else if (eventType.EqualsLiteral("DOMMenuInactive")) {
if (accessible->Role() == roles::MENUPOPUP) {
nsEventShell::FireEvent(nsIAccessibleEvent::EVENT_MENUPOPUP_END,
accessible);
}
}
else if (eventType.EqualsLiteral("DOMMenuItemActive")) {
} else if (eventType.EqualsLiteral("DOMMenuItemActive")) {
FocusMgr()->ActiveItemChanged(accessible);
#ifdef A11Y_LOG
if (logging::IsEnabled(logging::eFocus))
logging::ActiveItemChangeCausedBy("DOMMenuItemActive", accessible);
#endif
}
else if (eventType.EqualsLiteral("DOMMenuItemInactive")) {
} else if (eventType.EqualsLiteral("DOMMenuItemInactive")) {
// Process DOMMenuItemInactive event for autocomplete only because this is
// unique widget that may acquire focus from autocomplete popup while popup
// stays open and has no active item. In case of XUL tree autocomplete
@@ -421,8 +403,7 @@ RootAccessible::ProcessDOMEvent(nsIDOMEvent* aDOMEvent)
logging::ActiveItemChangeCausedBy("DOMMenuItemInactive", accessible);
#endif
}
}
else if (eventType.EqualsLiteral("DOMMenuBarActive")) { // Always from user input
} else if (eventType.EqualsLiteral("DOMMenuBarActive")) { // Always from user input
nsEventShell::FireEvent(nsIAccessibleEvent::EVENT_MENU_START,
accessible, eFromUserInput);
@@ -440,8 +421,7 @@ RootAccessible::ProcessDOMEvent(nsIDOMEvent* aDOMEvent)
logging::ActiveItemChangeCausedBy("DOMMenuBarActive", accessible);
#endif
}
}
else if (eventType.EqualsLiteral("DOMMenuBarInactive")) { // Always from user input
} else if (eventType.EqualsLiteral("DOMMenuBarInactive")) { // Always from user input
nsEventShell::FireEvent(nsIAccessibleEvent::EVENT_MENU_END,
accessible, eFromUserInput);
@@ -450,8 +430,7 @@ RootAccessible::ProcessDOMEvent(nsIDOMEvent* aDOMEvent)
if (logging::IsEnabled(logging::eFocus))
logging::ActiveItemChangeCausedBy("DOMMenuBarInactive", accessible);
#endif
}
else if (accessible->NeedsDOMUIEvent() &&
} else if (accessible->NeedsDOMUIEvent() &&
eventType.EqualsLiteral("ValueChange")) {
uint32_t event = accessible->HasNumericValue()
? nsIAccessibleEvent::EVENT_VALUE_CHANGE
@@ -650,7 +629,6 @@ RootAccessible::HandlePopupHidingEvent(nsINode* aPopupNode)
}
}
#ifdef MOZ_XUL
void
RootAccessible::HandleTreeRowCountChangedEvent(nsIDOMEvent* aEvent,
XULTreeAccessible* aAccessible)
@@ -714,7 +692,6 @@ RootAccessible::HandleTreeInvalidatedEvent(nsIDOMEvent* aEvent,
aAccessible->TreeViewInvalidated(startRow, endRow, startCol, endCol);
}
#endif
ProxyAccessible*
RootAccessible::GetPrimaryRemoteTopLevelContentDoc() const
+5 -7
View File
@@ -70,14 +70,12 @@ protected:
*/
void HandlePopupHidingEvent(nsINode* aNode);
#ifdef MOZ_XUL
void HandleTreeRowCountChangedEvent(nsIDOMEvent* aEvent,
XULTreeAccessible* aAccessible);
void HandleTreeInvalidatedEvent(nsIDOMEvent* aEvent,
XULTreeAccessible* aAccessible);
void HandleTreeRowCountChangedEvent(nsIDOMEvent* aEvent,
XULTreeAccessible* aAccessible);
void HandleTreeInvalidatedEvent(nsIDOMEvent* aEvent,
XULTreeAccessible* aAccessible);
uint32_t GetChromeFlags();
#endif
uint32_t GetChromeFlags();
};
inline RootAccessible*
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
# -*- Mode: python; 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/.
-1
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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
View File
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
+21 -27
View File
@@ -175,23 +175,17 @@ HTMLTableCellAccessible::Table() const
uint32_t
HTMLTableCellAccessible::ColIdx() const
{
nsITableCellLayout* cellLayout = GetCellLayout();
NS_ENSURE_TRUE(cellLayout, 0);
int32_t colIdx = 0;
cellLayout->GetColIndex(colIdx);
return colIdx > 0 ? static_cast<uint32_t>(colIdx) : 0;
nsTableCellFrame* cellFrame = GetCellFrame();
NS_ENSURE_TRUE(cellFrame, 0);
return cellFrame->ColIndex();
}
uint32_t
HTMLTableCellAccessible::RowIdx() const
{
nsITableCellLayout* cellLayout = GetCellLayout();
NS_ENSURE_TRUE(cellLayout, 0);
int32_t rowIdx = 0;
cellLayout->GetRowIndex(rowIdx);
return rowIdx > 0 ? static_cast<uint32_t>(rowIdx) : 0;
nsTableCellFrame* cellFrame = GetCellFrame();
NS_ENSURE_TRUE(cellFrame, 0);
return cellFrame->RowIndex();
}
uint32_t
@@ -285,6 +279,12 @@ HTMLTableCellAccessible::GetCellLayout() const
return do_QueryFrame(mContent->GetPrimaryFrame());
}
nsTableCellFrame*
HTMLTableCellAccessible::GetCellFrame() const
{
return do_QueryFrame(mContent->GetPrimaryFrame());
}
nsresult
HTMLTableCellAccessible::GetCellIndexes(int32_t& aRowIdx, int32_t& aColIdx) const
{
@@ -520,11 +520,9 @@ HTMLTableAccessible::SelectedCellCount()
if (!cellFrame || !cellFrame->IsSelected())
continue;
int32_t startRow = -1, startCol = -1;
cellFrame->GetRowIndex(startRow);
cellFrame->GetColIndex(startCol);
if (startRow >= 0 && (uint32_t)startRow == rowIdx &&
startCol >= 0 && (uint32_t)startCol == colIdx)
uint32_t startRow = cellFrame->RowIndex();
uint32_t startCol = cellFrame->ColIndex();
if (startRow == rowIdx && startCol == colIdx)
count++;
}
}
@@ -570,11 +568,9 @@ HTMLTableAccessible::SelectedCells(nsTArray<Accessible*>* aCells)
if (!cellFrame || !cellFrame->IsSelected())
continue;
int32_t startCol = -1, startRow = -1;
cellFrame->GetRowIndex(startRow);
cellFrame->GetColIndex(startCol);
if ((startRow >= 0 && (uint32_t)startRow != rowIdx) ||
(startCol >= 0 && (uint32_t)startCol != colIdx))
uint32_t startRow = cellFrame->RowIndex();
uint32_t startCol = cellFrame->ColIndex();
if (startRow != rowIdx || startCol != colIdx)
continue;
Accessible* cell = mDoc->GetAccessible(cellFrame->GetContent());
@@ -597,11 +593,9 @@ HTMLTableAccessible::SelectedCellIndices(nsTArray<uint32_t>* aCells)
if (!cellFrame || !cellFrame->IsSelected())
continue;
int32_t startRow = -1, startCol = -1;
cellFrame->GetColIndex(startCol);
cellFrame->GetRowIndex(startRow);
if (startRow >= 0 && (uint32_t)startRow == rowIdx &&
startCol >= 0 && (uint32_t)startCol == colIdx)
uint32_t startCol = cellFrame->ColIndex();
uint32_t startRow = cellFrame->RowIndex();
if (startRow == rowIdx && startCol == colIdx)
aCells->AppendElement(CellIndexAt(rowIdx, colIdx));
}
}
+6
View File
@@ -11,6 +11,7 @@
#include "TableCellAccessible.h"
class nsITableCellLayout;
class nsTableCellFrame;
namespace mozilla {
namespace a11y {
@@ -53,6 +54,11 @@ protected:
*/
nsITableCellLayout* GetCellLayout() const;
/**
* Return the table cell frame.
*/
nsTableCellFrame* GetCellFrame() const;
/**
* Return row and column indices of the cell.
*/
Loaded 100 of 65479 files, more files were not shown because too many files have changed in this diff. Show more