Commit graph

4,753 commits

Author SHA1 Message Date
Brian Smith
a2f6708c4d 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-13 08:58:08 +08:00
Brian Smith
9f3376e56d 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-13 08:55:52 +08:00
Brian Smith
7224a17903 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-13 08:55:28 +08:00
roytam1
d8e6867dad Revert "Issue #1909 - Guard against empty update manifest URL"
This reverts commit 7b3f9fb7c0.
2022-06-10 09:47:01 +08:00
Jeremy Andrews
6182744d96 [MailNews] Allow shift-clicking on Edit As New to edit a message as plaintext.
Ref: BZ 731688
2022-06-06 08:57:39 +08:00
Brian Smith
d18524ab7e 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-06 08:57:19 +08:00
Brian Smith
45606ffa59 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-06 08:57:16 +08:00
Brian Smith
8cee7f2b18 Issue #1905 - Part 1 - Implement detection of Monterey (12.x), Intel emulation and fix required OS version check. 2022-06-06 08:57:09 +08:00
Moonchild
9fa9622d5b [DOM] Clip image data transfers. 2022-06-02 10:11:38 +08:00
FranklinDM
7b3f9fb7c0 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-31 09:43:02 +08:00
Moonchild
6b3ab70997 [network] Fix typo in nsSocketTransport2.cpp
Follow-up to 7322bc0e9df42bd43d84ec9be22b00c47a09f3d7
2022-05-31 09:42:37 +08:00
Moonchild
3bcd2ee360 [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-31 09:41:43 +08:00
Moonchild
7f3a7225af [network] SocketTransport2 cleanup 2022-05-31 09:40:14 +08:00
roytam1
6ec59e7984 image: sync with 8e42fccca6 2022-05-31 09:36:20 +08:00
trav90
f2cfb9997e Issue #457 - Make GLContextSymbols a pure aggregate POD 2022-05-31 09:13:17 +08:00
trav90
c782076add 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-31 09:13:12 +08:00
Jeremy Andrews
1cdbf6eb6a Issue #1742 - Part 5: Remove unnecessary GCPtr::unbarrieredGet
Ref: BZ 1323441
2022-05-31 09:12:51 +08:00
Jeremy Andrews
e632fc1e8c 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-31 09:12:45 +08:00
Moonchild
30a3ec27a2 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-31 09:12:38 +08:00
Moonchild
574b295d15 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-31 09:12:29 +08:00
Moonchild
c48b8e8932 Issue #1742 - Part 2: Add a class to encapsulate the possible results of a property lookup 2022-05-31 09:12:25 +08:00
Moonchild
80d7d43961 Issue #1742 - Part 1: Refactor rooting base class templates
Based on Bug 1325406
2022-05-31 09:12:19 +08:00
Moonchild
2f81312755 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-27 07:01:15 +08:00
trav90
5c61382dac Issue #457 - Silence some GCC compiler warnings in FFmpeg code 2022-05-22 06:47:01 +08:00
FranklinDM
2e975416bf 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-22 06:46:57 +08:00
FranklinDM
f0e208a861 Issue #1894 - Part 7: Update tests
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
2022-05-22 06:46:47 +08:00
FranklinDM
9dde32ee98 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-22 06:46:40 +08:00
FranklinDM
707867d165 Issue #1894 - Part 5: Implement bytecode for nullish coalescing
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
2022-05-22 06:46:35 +08:00
FranklinDM
5812721809 Issue #1894 - Part 4: Implement IonMonkey support for nullish coalescing
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
2022-05-22 06:46:31 +08:00
FranklinDM
f282a4c05f 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-22 06:46:27 +08:00
FranklinDM
d7cdeaf313 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-22 06:46:21 +08:00
FranklinDM
3efa23472c Issue #1894 - Part 1: Implement coalesce JS opcode
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
2022-05-22 06:46:16 +08:00
Moonchild
62a140ab80 Bug 1679987 - Remove unused includes of nsCharSeparatedTokenizer.h. 2022-05-22 06:46:06 +08:00
Moonchild
8dfcd4553f Issue #1210 - Keep timepicker disabled for now.
This needs localization work before enabling.
2022-05-19 20:59:45 +08:00
Moonchild
40e9f40e89 Issue #1813 - Enable date and time picker by default.
Resolves #1813
2022-05-19 20:59:42 +08:00
FranklinDM
d42af42d26 Issue #1898 - Make sure that the sanity test stops running if necessary
As part of telemetry removal, d60103257eb83db103f9acab54b1755486b7e9c1 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-19 20:59:34 +08:00
Moonchild
349d3d96a2 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-19 20:59:29 +08:00
Moonchild
0749a8828c Issue #1899 - Disable the (broken) MDN integration widget by default. 2022-05-19 20:59:23 +08:00
Moonchild
046b81d062 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-12 09:45:35 +08:00
Brian Smith
fd04893c34 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-12 09:44:33 +08:00
Moonchild
28821219dd Bug 1761981 2022-05-05 10:43:52 +08:00
Moonchild
50965fb223 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-05 09:10:09 +08:00
Moonchild
a8b1099a1e Issue #1890 - Update libopus
This resolves #1890
2022-05-05 09:09:54 +08:00
Stephen A Pohl
b188579bb6 [XPCOM] Improve the conversion of line breaks.
Fix an off-by-one error in CRLF checking.
2022-05-05 09:05:27 +08:00
FranklinDM
f2cd5760ba Issue #1658 - Part 8: Update tests 2022-05-05 09:05:06 +08:00
FranklinDM
c8d825af39 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-05 09:05:02 +08:00
FranklinDM
cb9809634a 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-05 09:04:58 +08:00
FranklinDM
4c35296690 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-05 09:04:54 +08:00
FranklinDM
a350d51223 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-05 09:04:49 +08:00
FranklinDM
efabdc1885 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-05 09:04:45 +08:00