Brian Smith
be916ef7ca
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-30 21:21:19 +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
c69a47c393
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-30 21:20:47 +08:00
Brian Smith
993476283d
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-30 21:20:33 +08:00
Brian Smith
d5d7bb5e47
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-30 21:20:19 +08:00
Brian Smith
41eda05e57
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-30 21:20:05 +08:00
Brian Smith
ba01d99e31
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-30 21:19:50 +08:00
Brian Smith
62be542166
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-30 21:19:37 +08:00
Brian Smith
e7d0b58e56
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-30 21:19:05 +08:00
Brian Smith
c3daecc218
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-30 21:18:51 +08:00
Brian Smith
9a19e9d165
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-30 21:18:24 +08:00
Brian Smith
86e0057ea7
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-30 21:18:11 +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
5c09a3b3cc
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-30 21:17:38 +08:00
Brian Smith
c965fbdd10
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-30 21:17:26 +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
3f4985ce6c
Issue #1691 - Part 3: Finish implementing import meta. https://bugzilla.mozilla.org/show_bug.cgi?id=1427610
...
(cherry picked from commit a8625238ac846fb7eb103646ddb8634a5860f067)
2023-04-30 21:17:00 +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
Brian Smith
1a6b3a822c
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-30 21:16:28 +08:00
Job Bautista
d75c6c1815
Issue #1451 - Fix hunspell build bustage in FreeBSD.
...
Thanks to dbsoft for this patch!
2023-04-30 21:16:02 +08:00
Job Bautista
cbbc15ad81
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-30 21:15:46 +08:00
FranklinDM
2048f4df51
No issue - [MailNews] Fix build bustage due to recent MIME API changes
2023-04-30 09:30:17 +08:00
Martok
ffe6d48af5
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-30 09:30:00 +08:00
Job Bautista
4584069f26
Issue #61 - Follow-up: Fix xul.dll link bustage related to Skia.
2023-04-30 09:29:43 +08:00
Job Bautista
6e2f70a70f
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-30 09:29:27 +08:00
Job Bautista
260f8e154a
Revert "Issue #61 - Place Skia in libxul"
...
This reverts commit 39cebe99e2db22d9e725499bf309b5668fcee413.
2023-04-30 09:29:05 +08:00
Moonchild
733451d1bb
Remove unmaintained WebGL conformance test suite.
2023-04-30 09:28:42 +08:00
Moonchild
47bcca168c
[devtools] Don't allow sourcemap URLs to redirect
2023-04-13 09:24:00 +08:00
Moonchild
c9d9616334
[network] Improve checks while parsing MIME parameters.
2023-04-13 09:23:30 +08:00
Sandra
af613ef24e
Increase size of data over which we write the data to disk rather than keep it around in memory
2023-04-13 09:23:03 +08:00
Sandra
42723b1636
Use nsAnonymousTemporaryFile for clipboard cache
...
Base on ecc04a9245
2023-04-13 09:22:39 +08:00
Moonchild
e51a638525
Issue #2053 - Follow-up: Re-enable navigation timing now it's to-spec.
...
Verified fixed with Google website translation.
2023-04-12 10:04:22 +08:00
Moonchild
7823439b1b
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-12 10:04:05 +08:00
FranklinDM
ef8e3b5419
Issue #2053 - Part 5: Throw a DOMException instead of a JS exception for some errors
2023-04-12 10:03:50 +08:00
FranklinDM
a0d52c0094
Issue #2053 - Part 4b: Fix measure name to timestamp conversion
...
Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1772417
2023-04-12 10:03:34 +08:00
FranklinDM
4fc9cde7c1
Issue #2053 - Part 4a: Align IsPerformanceTimingAttribute to user-timing spec
...
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1772417
2023-04-12 10:03:17 +08:00
FranklinDM
3b57ba1415
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-12 10:02:58 +08:00
FranklinDM
23519e0c22
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-12 10:02:42 +08:00
FranklinDM
995f3117b0
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-12 10:02:25 +08:00
FranklinDM
31283d993b
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-10 07:27:37 +08:00
FranklinDM
8e6d730463
Issue #2197 - Follow-up: Remove GC debug assertion on sandbox
...
There's no way to access GC from here.
2023-04-10 07:27:22 +08:00
FranklinDM
bbcfb62753
Issue #2197 - Part 4: Expose structuredClone in Sandbox
...
Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1734320
2023-04-10 07:27:03 +08:00
FranklinDM
ef6b8db1d5
Issue #2197 - Part 3: Implement self.structuredClone()
...
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1722576
2023-04-10 07:26:49 +08:00
FranklinDM
4174037d8a
Issue #2197 - Part 2d: Implement PostMessageOptions for Window
...
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1502802
2023-04-10 07:26:20 +08:00
FranklinDM
4d58139fe1
Issue #2197 - Part 2c: Implement StructuredSerializeOptions for ServiceWorker
...
Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1502802
2023-04-10 07:26:05 +08:00
FranklinDM
158784cbed
Issue #2197 - Part 2b: Implement StructuredSerializeOptions for Worker
...
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1502802
2023-04-10 07:25:49 +08:00
FranklinDM
fd982fd298
Issue #2197 - Part 2a: Implement StructuredSerializeOptions for MessagePort
...
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1502802
2023-04-10 07:25:34 +08:00
FranklinDM
47147d58b0
Issue #2197 - Part 1b: Transferables should be arrays of objects
...
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1336020
2023-04-10 07:25:20 +08:00
FranklinDM
438cdbd913
Issue #2197 - Part 1a: postMessages should have transferable as [] by default
...
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1336020
2023-04-10 07:25:03 +08:00
FranklinDM
7c759b2c21
Issue #252 - Follow-up: Include a null check against mDocument
2023-04-08 07:33:48 +08:00