Commit graph

4,369 commits

Author SHA1 Message Date
Moonchild
5934c74a3f [html parser] Check for integer overflow when computing new buffer sizes. 2021-02-25 09:26:39 +08:00
Moonchild
d86d1256bc [dom] Update noscript serialization to the changed spec.
Make <noscript> escaping conditional on whether scripting is enabled.
2021-02-25 09:26:37 +08:00
Moonchild
79d90233cd 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-25 09:26:34 +08:00
Moonchild
d867f26c0e [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-25 09:25:17 +08:00
Moonchild
62df9eb775 [Pale-Moon] Issue #1737 - Format some Windows specific browser jsm modules 2021-02-18 21:58:04 +08:00
Moonchild
20ba0b34ec Issue #1743 - Update CK_GCM_PARAMS use for PKCS11 v3.0 in WebCryptoTask 2021-02-18 21:57:45 +08:00
Moonchild
51c4b1838c Issue #1688 - Add flood guard to state change logic. 2021-02-18 21:57:43 +08:00
Moonchild
d6c1cc53ba [js] Add XMMRegName for invalid_xmm 2021-02-16 14:03:47 +08:00
Moonchild
bd0f8a2eca Issue #1739 - Implement numeric separators.
Resolves #1739
2021-02-16 14:03:45 +08:00
Moonchild
dc1d14fcb9 Issue #1738 - Follow-up: Update comment (no code changes) 2021-02-16 14:03:44 +08:00
Moonchild
9efe3a15b9 [Pale-Moon] Issue #1860 - Fix blocklist typo 2021-02-12 10:50:59 +08:00
Moonchild
23c9fab20d 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-12 10:50:21 +08:00
Moonchild
feab62b009 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-12 10:50:19 +08:00
Moonchild
ebf2abb0e3 Update tzdata to 2021a
Because people are apparently never satisfied with the time zones on the planet!
2021-02-12 10:50:02 +08:00
Olivier Certner
5edc686524 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-12 10:49:53 +08:00
Olivier Certner
346b804fda 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-12 10:49:51 +08:00
Olivier Certner
387487ffb6 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-12 10:49:50 +08:00
Olivier Certner
5d2e8f06f4 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-12 10:49:48 +08:00
Moonchild
8fe6e9636d [angle] Cherry-pick compressed tex depth stride fix. 2021-02-12 10:49:20 +08:00
Moonchild
34dc51690f 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-12 10:49:19 +08:00
Moonchild
4ff9d87cb4 Issue #1726 - Add verification test for string.replaceAll() 2021-02-05 07:35:08 +08:00
meatloaf
00a689060f 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-05 07:35:06 +08:00
Moonchild
02233308b1 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-05 07:34:17 +08:00
Moonchild
d1f42d4aeb [Pale-Moon] Blocklist update
Treestyle Tabs breaks the UI. hard blocker for <= 0.0.5
2021-02-04 22:19:38 +08:00
Moonchild
8655202be1 [Pale-Moon] [SSUAO] Update override for YT studio (again) 2021-02-04 22:18:28 +08:00
Moonchild
5fb8c296a0 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-04 21:36:14 +08:00
Moonchild
ad0f41898a [Pale-Moon] Remove unused nsis var 2021-02-03 10:11:02 +08:00
roytam1
9b0375dffd [Pale-Moon] (a late) version bump for reflecting engine version change 2021-02-03 10:10:06 +08:00
Moonchild
065bbb7940 [Basilisk] Remove unused nsis var 2021-02-03 10:06:01 +08:00
Moonchild
6de0687efc 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-02-03 10:04:45 +08:00
Moonchild
0989dc6d2d [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-02-03 10:04:44 +08:00
trav90
a0aabcdaba Issue #1723 - Fix Linux build bustage in HTMLMenuItemElement.cpp 2021-02-03 10:04:42 +08:00
Moonchild
f5cf8f0558 [Basilisk] [pdf.js] Don't follow redirects on range requests for PDFs. 2021-01-27 21:04:16 +08:00
Moonchild
b83d024efb [network] Hold mutex when accessing mSecurityInfo. 2021-01-27 21:03:07 +08:00
Moonchild
202ef2a56a [DOM] Store weak pointer to next parents. 2021-01-27 21:03:05 +08:00
Moonchild
8630e4f6dc [DOM] Try to avoid slow shrinking GC during sync calls 2021-01-27 21:03:02 +08:00
Moonchild
1835a24351 [webaudio] Fix up ReverbInputBuffer's writeIndex. 2021-01-27 21:03:00 +08:00
Moonchild
2cb1162b7f [WebRTC] Improve SDP parser error handling. 2021-01-27 21:02:58 +08:00
Moonchild
5d2fea0dac [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-27 21:02:55 +08:00
Moonchild
9b6e17cf34 Fix rooting hazard in ImageBitmap::CreateInternal by avoiding movable data. 2021-01-27 21:02:53 +08:00
Moonchild
ef906c715e [layout, XUL] Avoid accessing invalidated frame. 2021-01-27 21:02:50 +08:00
Matt A. Tobin
d4324dc064 Issue #1390 - Clean up presentation api leftovers 2021-01-27 21:01:56 +08:00
Moonchild
a828a5f321 Issue #1719 - Make <menuitem> pref-controlled and disable by default.
Resolves #1719
2021-01-27 21:01:54 +08:00
Moonchild
74680d59a1 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-27 21:01:51 +08:00
Moonchild
78599bd818 [Basilisk] [SSUAO] Updates for "mainstream" sniffers. 2021-01-21 14:42:11 +08:00
Moonchild
07ca4f6f03 Issue #1630 - Enable W3C pointer events by default.
Resolves #1630
2021-01-21 14:31:52 +08:00
Matt A. Tobin
1f54cfa658 [Media] Enable AV1 by default if built 2021-01-21 14:31:50 +08:00
Moonchild
82994ebc15 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-21 14:31:48 +08:00
Moonchild
de53821109 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-21 14:31:25 +08:00
Moonchild
15feed4c00 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-21 14:31:23 +08:00