Commit graph

1,293 commits

Author SHA1 Message Date
Brian Smith
5202c08cfb Issue #2402 - Don't call WorkerPrivate::WorkerName() to get service worker scope. https://bugzilla.mozilla.org/show_bug.cgi?id=1350433 2024-01-11 09:46:06 +08:00
Brian Smith
6979441734 Issue #2402 - importScripts should be governed by script-src in Web Workers. https://bugzilla.mozilla.org/show_bug.cgi?id=1322111 Add TYPE_INTERNAL_WORKER_IMPORT_SCRIPTS content policy. Update the Cache API schema to account for new nsIContentPolicy type. 2024-01-11 09:45:52 +08:00
Brian Smith
f8a174e19f Issue #2402 - Move WorkerPrivate::SetPrincipal() logic into a WorkerLoadInfo method. https://bugzilla.mozilla.org/show_bug.cgi?id=1333573 Make worker SetPrincipalOnMainThread fallible. https://bugzilla.mozilla.org/show_bug.cgi?id=1338523 2024-01-11 09:45:35 +08:00
Brian Smith
b723bb60ad Issue #2402 - Persist response headers for offlined service worker scripts. https://bugzilla.mozilla.org/show_bug.cgi?id=1337543 2024-01-11 09:45:19 +08:00
Brian Smith
14f0bc5e7c Issue #2402 - Move code to fill InternalHeaders from an nsIChannel response into utility method. https://bugzilla.mozilla.org/show_bug.cgi?id=1337543 2024-01-11 09:45:02 +08:00
Brian Smith
15875f3d8c Issue #2402 - Apply CSP headers to ServiceWorker when loading offlined script. https://bugzilla.mozilla.org/show_bug.cgi?id=1337543 2024-01-11 09:44:42 +08:00
Brian Smith
37d4df19a8 Issue #2402 - Factor out code to set WorkerPrivate CSP from headers. https://bugzilla.mozilla.org/show_bug.cgi?id=1337543 2024-01-11 09:44:25 +08:00
Brian Smith
971fc4b838 Issue #2402 - Improve ServiceWorker asserts and verify load principal does not inherit CSP. https://bugzilla.mozilla.org/show_bug.cgi?id=1337543 2024-01-11 09:44:11 +08:00
Brian Smith
1703d936af Issue #2402 - ServiceWorker should not inherit CSP from registration principal. https://bugzilla.mozilla.org/show_bug.cgi?id=1337543 2024-01-11 09:43:57 +08:00
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
Brian Smith
1e0851158e Issue #2402 - Fix SecurityPolicyViolationEvent.violatedDirective. https://bugzilla.mozilla.org/show_bug.cgi?id=1418243 2024-01-11 09:43:27 +08:00
Brian Smith
ec29404083 Issue #2402 - Implement security policy violation event. https://bugzilla.mozilla.org/show_bug.cgi?id=1037335 2024-01-11 09:43:10 +08:00
Brian Smith
1349cf2d01 Issue #2402 - Remove child-src deprecation warning. https://bugzilla.mozilla.org/show_bug.cgi?id=1486331 2024-01-11 09:42:51 +08:00
Brian Smith
bfabbcd311 Issue #2402 - Ignore empty CSP directives. https://bugzilla.mozilla.org/show_bug.cgi?id=1439425 2024-01-11 09:42:36 +08:00
Martok
90eb83819c Issue #2435 - Re-Implement rejected Promises events according to spec
Own implementation; upstream gets several things wrong.
2024-01-09 12:00:53 +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
511a9376e3 Issue #2435 - Declare PromiseRejectionEvent WebIDL
Based-on: m-c 1338059
2024-01-09 11:59:55 +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
Gaming4JC
644b8680b2 Debug: Remove assertion for nsDOMNavigationTiming.
As mentioned in issue #2410, this aggressive assertion can cause an uneeded crash during debug build runs.
2024-01-05 10:10:01 +08:00
Moonchild
b47cb0f6a4 Issue #2407 - Rename full-screen-api.ignore-widgets
Renames to full-screen-api.restrict-to-window and clarifies comments for
its intended use.
Resolves #2407.
2024-01-05 10:07:43 +08:00
Moonchild
bcbe73119f [dom] Better handling of aborted websocket workers.
Catch the case where we are in worker-shutdown but are still connecting
and make filing and closing connections a bit more robust with a RefPtr.
2023-12-21 10:18:28 +08:00
Moonchild
f1f9dde29e Issue #2405 - Add a pref to disable CSP reporting.
Resolves #2405
2023-12-21 10:15:17 +08:00
Moonchild
eba87b03fd [DOM] Fix double-free crash in MessagePort.cpp 2023-12-15 09:07:10 +08:00
Moonchild
dc253ce953 Issue #2362 - Fix click handling according to the spec.
This removes some hackery surrounding preventing content clicks, and in
general handles auxclick as it should, firing that event on secondary
buttons (wheel/right on default setup for right-handed mouse).
2023-12-06 14:50:08 +08:00
Moonchild
73bf6f95f8 Revert "No issue - Stop supporting data: scheme in SVG <use> elements."
This reverts commit 7e60482d8090a43e00957f3d6fc87f31d7ea65a1.

Of course it's not that simple. In Mozilla land they are also running
into issues but of a different variety and it was backed out there also.
2023-11-30 10:04:21 +08:00
trav90
6807675123 Issue #2393 - Part 4 - Reduce VideoQueue size for GPU based images 2023-11-30 09:53:36 +08:00
trav90
b09b3771c6 Issue #2393 - Part 3 - Remove extra copy of YUV buffer on Windows 2023-11-30 09:53:08 +08:00
Brian Smith
3e9fd21a38 Issue #2387 - Remove a missed AddRef() which could cause leaks. Update comments explaining how the reference counting works. 2023-11-30 09:52:07 +08:00
Brian Smith
eef37b2cd5 Issue #2387 - Collection of fixes related to a crash while canceling a dynamic import. Add AddRef/Release hooks for embedding's script or module private value and set this script source object where appropriate. https://bugzilla.mozilla.org/show_bug.cgi?id=1519140 Partial, no Value passing changes. Clear the list of dynamic import requests after cancelling them in ScriptLoader::ParsingComplete as we do for other requests. https://bugzilla.mozilla.org/show_bug.cgi?id=1291535 ScriptLoader::OnStreamComplete never returns a failure. https://bugzilla.mozilla.org/show_bug.cgi?id=1627275 Also cancel the correct kind of parser for Modules. 2023-11-30 09:51:50 +08:00
Moonchild
114daae894 [DOM] Improve MessagePort state machine. 2023-11-24 17:05:57 +08:00
Moonchild
71ce058b03 [DOM] Check if rootDoc is secure context for web compat 2023-11-24 17:04:52 +08:00
Moonchild
acd204e85e [WebGL] Turn on more validation/error checking in webgl (when not on Win) 2023-11-24 17:04:07 +08:00
Moonchild
e0a7c35dcc Issue #2361 - Remove clipboard-read code
Web content should never read the clipboard; extensions have other APIs
they can use through XPCOM so do not need to go through
Navigator.Clipboard, removing the only reason why it would even be here.
2023-11-24 17:02:32 +08:00
Moonchild
3478c01fc8 Issue #2361 - Base implementation of Navigator.Clipboard
This hard-refuses any reads from clipboard with a promise rejection.
2023-11-24 17:01:55 +08:00
Moonchild
b004af07d0 Revert "No Issue - add mutex in EventSource"
This reverts commit e4643f5bed2cdc600fc29900fe3b4d22e25763bc.

Apparently causes deadlocks in Linux.
2023-11-16 10:21:01 +08:00
Moonchild
b19fe58909 No issue - Stop supporting data: scheme in SVG <use> elements. 2023-11-14 15:34:40 +08:00
Moonchild
6c37943e1c No Issue - add mutex in EventSource
Potentially avoids a gc crash when load is high.
2023-11-10 15:33:13 +08:00
Basilisk-Dev
ae5bfc9ff2 No Issue - StructuredClone serialize and deserialize should treat back reference consistently
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1538622
2023-11-10 15:31:51 +08:00
Moonchild
8d42309580 [DOM] For now, use C++11 static_asserts only.
Single-param static_assert is C++17 or later.
Follow-up to 3d92b8212595769c40da7ccfbafb3898cfaaf7bd
2023-11-04 11:39:19 +08:00
Basilisk-Dev
9e6a0c089f No Issue - Implement crypto.randomUUID
We already have code in the platform to generate random UUIDs. This simply exposes that functionality via the crypto.UUID function
2023-10-26 10:55:10 +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
e4d635f889 [WebGL] Add preffed limit to WebGL vertCount
Defaults to 30M, working around driver bugs (looking at you, Mesa)
2023-10-26 10:53:11 +08:00
Moonchild
fe37319996 [DOM] Ignore status 206 and vary header checking for opaque responses in the Cache API. 2023-10-26 10:51:17 +08:00
Moonchild
eb44f633ee [media] Use RefPtr<TrackBuffersManager> instead of raw pointers 2023-10-26 10:50:47 +08:00
Jeremy Andrews
490df49307 Issue #2357 - WebM w/alpha renders black if WMF decoder is enabled.
Mozilla forgot to force use of VPXDecoder on Windows in their initial implementation, this is pretty much what they did for Android as well. Straight port of the Firefox 67 fix.

Ref: BZ 1528652
2023-10-26 10:50:02 +08:00
Jeremy Andrews
c0ba3a8d2e Issue #2357 - VPXDecoder does not decode alpha frames.
Another requirement to have transparency in videos. Straight port of Firefox 53 implementation, save for some oddities relating to needing to put uint8_t instead of uint8 in yuv_convert to get this to compile.

Ref: BZ 1321076, 1329104
2023-10-26 10:49:23 +08:00
Jeremy Andrews
71cc0ef940 Issue #2357 - WebM demuxer can't tell when a video wants to be transparent.
Required to have an alpha channel (which in the strange world of graphics seems to refer to transparency, and not experimental code) in WebM videos. Straight port of Firefox 53 implementation, adapted slightly for a couple of patches previously taken without this.

Ref: BZ 1320829
2023-10-26 10:49:04 +08:00
Basilisk-Dev
ef54fc458c PR #2356 - Treat all GLSL versions >=450 as 450
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1446548
2023-10-25 09:59:41 +08:00
Brian Smith
bb656856b6 Issue #2282 - Part 2 - Re-add some timer clamping that got clobber erroneously. 2023-10-21 11:04:56 +08:00