Commit graph

66 commits

Author SHA1 Message Date
Brian Smith
bfa8ea9368 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-11 09:43:42 +08:00
Martok
65d72c5682 Issue #2435 - Add onrejectionhandled and onunhandledrejection EventHandler
Based-on: m-c 1362272
2024-01-09 12:00:14 +08:00
Martok
f059bb0a59 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-09 11:59:32 +08:00
Martok
73b14eae31 Issue #2435 - Make CycleCollectedJSContext.h dependency explicit 2024-01-09 11:59:09 +08:00
Moonchild
aae5866390 [DOM] Drop mWrappedRunnable early in workers.
This should prevent some intermittent crashes.
2023-10-26 10:53:41 +08:00
Moonchild
50ad087351 Issue #1721 - Implement GlobalPrivacyControl
(and get rid of failed DoNotTrack)
2023-10-18 10:17:23 +08:00
Brian Smith
46024cd872 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-18 09:48:01 +08:00
Brian Smith
529bc13f05 Issue #1442 - Part 16 - Report stream errors during consumption. https://bugzilla.mozilla.org/show_bug.cgi?id=1128959 2023-10-04 10:02:10 +08:00
Brian Smith
842b9d47b3 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-10-04 10:01:32 +08:00
Brian Smith
41216b88f6 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-10-04 10:00:42 +08:00
Brian Smith
bff1f3bc60 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-10-04 09:55:06 +08:00
Brian Smith
62467428a3 Issue #1442 - Part 2: Add a run-time preference for toggling the streams API. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697 2023-10-04 09:53:12 +08:00
Moonchild
2ca5715149 Issue #2323 - Part 3: Exclude chrome workers from worker timer clamping. 2023-10-03 22:04:09 +08:00
Moonchild
1b7df316c4 Issue #2323 - Part 2: Implement timer nesting and clamping for workers. 2023-10-03 22:03:54 +08:00
Martok
e0e1542913 Issue #2321 - Fall back to 0 if setInterval interval not supplied 2023-10-03 22:03:18 +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
Brian Smith
dd4c0a44b6 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-08 09:42:31 +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
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
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
Moonchild
5dfded811d 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-07 10:36:23 +08:00
Moonchild
8d800b1cb0 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-28 10:25:48 +08:00
Moonchild
a94d85142d [DOM] worker cleanup. 2022-03-22 23:13:14 +08:00
Moonchild
a63ec9a479 [DOM] Consistent error messages for scripts which failed to load. 2022-03-22 23:12:48 +08:00
Moonchild
13c48d24b0 Issue #1797 - Implement WindowOrWorkerGlobalScope.origin
Resolves #1797
2021-08-19 09:45:43 +08:00
Jens Stutte
04fdc6e681 [DOM] Be more explicit about the WorkerPrivate self-reference. 2021-08-12 23:48:13 +08:00
Moonchild
348c6604be Issue #1053 - Remove MOZ_WIDGET_ANDROID and IDB_MOBILE 2021-03-12 08:59:50 +08:00
Moonchild
0ced696351 Issue #1053 - Remove Android-specific blocks from system headers and /dom 2021-03-12 08:57:47 +08:00
Moonchild
8630e4f6dc [DOM] Try to avoid slow shrinking GC during sync calls 2021-01-27 21:03:02 +08:00
Moonchild
0cd673d720 Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
Moonchild
d7a4abc3d4 Issue #1656 - Part 4: Tackle *.idl, *.css, *.ipdlh, *.webidl, *.cc 2020-09-25 22:04:18 +08:00
Moonchild
8c395520d9 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-25 22:04:12 +08:00
Moonchild
9dc4265141 [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-31 08:08:01 +08:00
Moonchild
1ae6431766 Issue #1587 Part 11 (followup 1): Implement multithreaded signals for workers. 2020-07-31 08:05:40 +08:00
Moonchild
f85b274e94 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-07-04 07:01:00 +08:00
Moonchild
b988c351ff Issue #1587 - Part 7: Rename FetchController to AbortController
Also renames FetchSignal to AbortSignal. Includes renaming the various
controlling prefs to enable.
2020-06-12 22:12:32 +08:00
Moonchild
6722d7f4b4 Issue #1587 - Part 4: Implement FetchObserver 2020-06-12 22:12:25 +08:00
Moonchild
24087592ad Issue #1587 - Part 1: Implement FetchController/FetchSignal interface 2020-06-12 22:12:18 +08:00
Moonchild
080182d2d9 Issue #80 - De-unify dom/workers 2020-05-02 08:25:12 +08:00
Matt A. Tobin
2ee3ce62fc Bug 1412775 - Implement Event.composedPath
Tag #1375
2020-04-18 07:06:15 +08:00
Matt A. Tobin
cb2b45e472 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-18 07:02:44 +08:00
wolfbeast
d4b247abb3 Add missing call to WaitForIsDebuggerRegistered 2019-12-07 06:55:12 +08:00
Gaming4JC
624a2f1b61 1283712 - Part 8: Add WorkerErrorBase, WorkerErrorNote, and WorkerErrorReport. 2019-07-22 19:50:22 +08:00
Gaming4JC
317605333c 1320408 - Part 22: Remove JSContext* parameter from ProxyObject::renew and Wrapper::Renew. 2019-07-22 19:48:52 +08:00
adeshkp
aea50f182f Telemetry: Remove stubs and related code 2019-02-16 00:24:04 +08:00
wolfbeast
5a03a408a8 Send worker-runnables destined for the main thread actually to the main thread.
A case of "one queue too many" here. Instead of worker runnables being sent to the main thread
where they are supposed to run, they are put in a task queue per-worker. This is devastating
for performance if many workers are running.
2019-02-16 00:14:03 +08:00
wolfbeast
3b98b8ca9a Stop using the MainThreadTaskQueue from service workers. 2019-02-16 00:14:00 +08:00