1
0
mirror of https://github.com/roytam1/UXP.git synced 2026-06-18 22:39:21 +00:00
Commit Graph

54 Commits

Author SHA1 Message Date
Moonchild 788cc4acb2 No issue - Add range checking to SharedArrayBuffer references.
This avoids a potential crash when juggling SAB allocations.
2025-03-27 09:02:33 +08:00
Steve Fink 9a6e3bc30d [js] Disallow deserializing structured clone buffers with transferables more than once. 2024-10-03 14:35:12 +08:00
Brian Smith 0e0ec8cb20 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-11 09:47:08 +08:00
Brian Smith 9b9075eef6 Issue #1442 - Part 4: Add JSAPI functions for working with ReadableStream. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697 2023-10-04 09:53:45 +08:00
Brian Smith 54e84f0f1d Issue #1442 - Part 3: Implement ReadableStream and associated classes in the JS engine. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697 2023-10-04 09:53:29 +08:00
Moonchild 50a4412750 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-22 09:56:35 +08:00
Martok 6ff7b5269e Issue #2298 - Support '#x in obj' ergonomic brand check syntax 2023-08-31 22:39:41 +08:00
Brian Smith 07b6c03dc7 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-25 09:09:18 +08:00
Brian Smith f041afc61d 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-25 09:08:03 +08:00
Martok 4400677afe 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-07-03 15:11:41 +08:00
Martok 0b3079d8e6 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-07-03 15:10:37 +08:00
Martok 30157344fe 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-07-03 15:05:30 +08:00
Martok 5a531ea80c Issue #1969 Follow-Up: Error reporting arguments in RelativeTimeFormat/DateTimeFormat 2023-07-03 15:02:30 +08:00
Martok 1fac189aea Issue #2142 - Implement class static block
Based-on: m-c 1712138/{2,3}, 1713155/2
2023-05-01 13:27:03 +08:00
Martok 447261cf87 Issue #2142 - Implement ASI for fields
Based-on: m-c 1529772/{3,4}
2023-05-01 13:27:01 +08:00
Martok 51db22ff2f 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 13:26:43 +08:00
Martok 73a99c155d Issue #1691 - Follow-up: use error message with no arguments for bad import statements 2023-05-01 06:54:10 +08:00
Brian Smith 1109559a5d 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-30 21:21:06 +08:00
Brian Smith 1b811bd711 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-30 21:17:54 +08:00
Brian Smith 7a6dab0b38 Issue #1691 - Part 4: Finish implementing call import. https://bugzilla.mozilla.org/show_bug.cgi?id=1499140
(cherry picked from commit 7bf7d64887944b127a72090dd62eb57f67c5089d)
2023-04-30 21:17:13 +08:00
Brian Smith a8ab41b4c6 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-30 21:16:43 +08:00
Martok f75e9d9441 Issue #2089 - Implement the Promise.any combinator
Based-on: m-c 1568903/9,1560300
2023-02-02 09:32:17 +08:00
Martok e81a8d866d 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-24 08:09:39 +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 e04a23ff98 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-05 09:04:36 +08:00
Moonchild bd0f8a2eca Issue #1739 - Implement numeric separators.
Resolves #1739
2021-02-16 14:03:45 +08:00
Moonchild 0d874713ef 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-08-29 08:07:00 +08:00
Moonchild 9201808e0a Issue #618 - Report source position information (line/column)
Report source position information for module export resolution failures.

Ref: BZ 1362098
2020-07-10 22:18:10 +08:00
Moonchild c7d195e633 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-10 22:17:41 +08:00
Gaming4JC b476f2e713 Bug 1352312 - Enable Async Iteration.
Tag #1287
2019-12-18 09:17:10 +08:00
Gaming4JC 9379133c2d Bug 1331092 - Part 9: Implement for-await-of.
Tag #1287
2019-12-18 09:17:01 +08:00
Gaming4JC 142e8bf444 Bug 1331092 - Part 7: Implement Async Generator yield*.
Tag #1287
2019-12-18 09:16:59 +08:00
Gaming4JC 10b93afff4 Bug 1331092 - Part 2: Implement Async Generator except yield*.
Tag #1287
2019-12-18 09:16:52 +08:00
Gaming4JC c9f1fa2cda Bug 1316098 - Optimize out result object allocation for await/return in async function.
Tag #1287
2019-12-18 09:16:01 +08:00
wolfbeast 37e3ac713b Issue #1302 followup - Add spec-compliance checks/errors
- Check for undefined/null regex flags (because...)
- Make it throw a typeerror instead of syntax error on non-global
- Generalize JS error messages for these checks.
2019-12-02 15:45:58 +08:00
wolfbeast ca9e376e55 Issue #1257 - Part 2: Remove watch/unwatch and JS watchpoint class. 2019-11-01 10:24:09 +08:00
Gaming4JC 51183e0be2 1303703 - Part 3: Syntax parse destructuring assignment patterns. 2019-07-22 19:52:16 +08:00
Gaming4JC d965d685b5 420857 - Part 4: Report the position of opening bracket for missing bracket error in array literal. 2019-07-22 19:52:08 +08:00
Gaming4JC e5f1edc00c 420857 - Part 1: Report the position of opening brace for missing brace error in function body. 2019-07-22 19:51:58 +08:00
Gaming4JC 006b0f5d17 104442 - Part 1: Report the position and the kind of previous declaration for redeclaration error. 2019-07-22 19:51:20 +08:00
Gaming4JC c1f6b0ff36 1336783 - Part 1: Rework on reserved word and remove TokenStream::KeywordIsName. 2019-07-22 19:50:44 +08:00
Gaming4JC 3d4f7e67fc 1326454 - Rename TokenStream::getBracedUnicode to TokenStream::matchBracedUnicode and make its signature fallible. 2019-07-22 19:46:30 +08:00
Gaming4JC 02761b7fc2 1317153 - Provide better error message when errornous syntax possibly match "await SOMETHING" outside async function. 2019-07-22 19:46:00 +08:00
wolfbeast 33d09dce8b Simplify checking of targets within destructuring patterns. 2019-04-13 07:01:52 +08:00
wolfbeast fd2042225e Simplify increment/decrement operand checking. 2019-04-13 07:01:51 +08:00
wolfbeast 8542ac5f61 Report for-loop-decl-with-initializer errors using a specified offset
instead of a node's offset.
2019-04-13 07:01:34 +08:00
wolfbeast f1f8d377a9 Remove Parser::reportBadReturn
Report simpler errors that don't use the offset of a node as location.
2019-04-13 07:01:31 +08:00
janekptacijarabaci 5381ebe25c Bug 1287677 - Add mozIntl.getDisplayNames API 2019-02-15 23:44:41 +08:00
janekptacijarabaci 95390009cc Bug 1147371: Implement calling IteratorClose and "return" on iterators in yield*
Issue #74
2019-02-15 23:39:07 +08:00
janekptacijarabaci 5f3e5dc3fb Bug 1147371: Implement IteratorClose for for-of
Issue #74
2019-02-15 23:39:00 +08:00