Commit Graph

168 Commits

Author SHA1 Message Date
Nika Layzell
a51fa32bd1 Bug 1826206 - Require nsISerialEventTarget for RetargetDeliveryTo, r=necko-reviewers,valentin
This avoids potential issues where multiple OnDataAvailable callbacks or
similar could theoretically be called concurrently on different
StreamTransportService threads when targeting the STS - these cases will
now target a TaskQueue on the STS instead, structurally ensuring serial
execution.

Differential Revision: https://phabricator.services.mozilla.com/D179984
2023-06-07 14:48:38 +00:00
CanadaHonk
e30aa8a2d5 Bug 1819280 - [websocket] Enforce full subprotocol char checks r=valentin
Enforce all subprotocol character checks as per RFC 6455 with a new method.
(See bug for full check details.)

Differential Revision: https://phabricator.services.mozilla.com/D171219
2023-03-08 07:34:26 +00:00
Norisz Fay
850215ea6f Backed out changeset ed459cc665d8 (bug 1819280) for causing websocket wpt failures CLOSED TREE 2023-03-06 18:17:22 +02:00
CanadaHonk
a209c14380 Bug 1819280 - [websocket] Enforce full subprotocol char checks r=valentin
Enforce all subprotocol character checks as per RFC 6455 with a new method.
(See bug for full check details.)

Differential Revision: https://phabricator.services.mozilla.com/D171219
2023-03-06 12:10:59 +00:00
Nika Layzell
3652956b7b Bug 1809753 - Part 4: Remove unnecessary GetMainThreadEventTarget, r=mccr8
This method always returned GetMainThreadSerialEventTarget(). This patch
switches all callers over to use that method instead.

We can't easily switch all calls to be calls to NS_GetMainThread(), as there is
no version of that method returning a bare nsIThread* instance.

I didn't introduce one, as we may want to add a lock around mMainThread in the
future, which would require removing nsThreadManager::GetMainThreadWeak. As
this method only returns nsISerialEventTarget, it method could remain
implemented, however, by returning a statically allocated fake event target
which forwards dispatches (and QIs to nsIThread) to the real main thread.

Differential Revision: https://phabricator.services.mozilla.com/D166608
2023-01-16 23:14:12 +00:00
Sandor Molnar
f236c54e45 Backed out 6 changesets (bug 1809752, bug 1809753) for causing perma failures in browser/components/firefoxview/tests/browser/browser_feature_callout_position.js
Backed out changeset ea05784d74c4 (bug 1809753)
Backed out changeset 7c9b20eebcc8 (bug 1809753)
Backed out changeset d0267ac2256d (bug 1809753)
Backed out changeset aa9f2971bd6f (bug 1809753)
Backed out changeset f0d9fcfaa6f8 (bug 1809752)
Backed out changeset 6d58c799cffe (bug 1809752)
2023-01-17 03:19:24 +02:00
Nika Layzell
d61ced88a2 Bug 1809753 - Part 4: Remove unnecessary GetMainThreadEventTarget, r=mccr8
This method always returned GetMainThreadSerialEventTarget(). This patch
switches all callers over to use that method instead.

We can't easily switch all calls to be calls to NS_GetMainThread(), as there is
no version of that method returning a bare nsIThread* instance.

I didn't introduce one, as we may want to add a lock around mMainThread in the
future, which would require removing nsThreadManager::GetMainThreadWeak. As
this method only returns nsISerialEventTarget, it method could remain
implemented, however, by returning a statically allocated fake event target
which forwards dispatches (and QIs to nsIThread) to the real main thread.

Differential Revision: https://phabricator.services.mozilla.com/D166608
2023-01-16 23:14:12 +00:00
Tom Schuster
c73de01065 Bug 1800890 r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D162827
2022-11-30 08:53:26 +00:00
Kershaw Chang
db4ae0ee74 Bug 1793868 - Use the scheme of document's principal as the initial value of |isSecure|, r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D158749
2022-10-06 11:14:55 +00:00
Kershaw Chang
867883a547 Bug 1760580 - P1: Make nsIRequest support to store canceled reason, r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D156070
2022-09-08 09:11:18 +00:00
Andrew Creskey
30dd7074b0 Bug 1748005 - Getting Uncaught DOMException: The operation is insecure while opening Websocket using 'wss' protocol r=smaug
Use the 'IsSecure' field from windowContexts where possible to determine WebSockets mixed content behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D153105
2022-08-26 12:23:36 +00:00
Fabrice Desré
e29be44cb7 Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-03 16:39:41 +00:00
Andreea Pavel
fc724b92fc Backed out changeset b9d2965591b9 (bug 1761040) for landing with wrong author CLOSED TREE DONTBUILD 2022-08-03 18:55:00 +03:00
Andreea Pavel
eda47f3911 Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-03 15:27:43 +00:00
Andreea Pavel
c2e97d2e06 Backed out changeset a907159a482f (bug 1761040) for causing build bustages on a CLOSED TREE 2022-08-02 04:59:08 +03:00
Fabrice Desré
d2d02e8493 Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-02 00:49:41 +00:00
Emilio Cobos Álvarez
7a9e682999 Bug 1780788 - Use abstract strings as in-arguments for ipdl. r=nika,necko-reviewers,media-playback-reviewers,alwu,dragana
This prevents copies and avoids the hack we have to avoid this, which
right now is using nsDependent{C,}String.

Non-virtual actors can still use `nsString` if they need to on the
receiving end.

Differential Revision: https://phabricator.services.mozilla.com/D152519
2022-07-25 20:19:48 +00:00
Kagami Sascha Rosylight
9c18ae933e Bug 1767997 - Apply readability-make-member-function-const on dom/network r=andi
Differential Revision: https://phabricator.services.mozilla.com/D145625
2022-05-13 05:35:25 +00:00
Kagami Sascha Rosylight
50f0e30a17 Bug 1768189 - Part 42: Apply modernize-concat-nested-namespaces to dom/webgpu/RenderBundle.h ... r=andi
Depends on D145777

Differential Revision: https://phabricator.services.mozilla.com/D145778
2022-05-09 20:41:19 +00:00
Nika Layzell
c320f56d5b Bug 1738103 - Part 4: Add XPCOM support for shutdown tasks, r=necko-reviewers,KrisWright
Tasks registered with shutdown tasks are called when the target
nsISerialEventTarget is about to be destroyed.

Differential Revision: https://phabricator.services.mozilla.com/D129840
2022-03-23 22:22:04 +00:00
Randell Jesup
333725b02a Bug 1207753 - WebSocket thread-safety annotations r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D130593
2022-03-23 14:59:58 +00:00
Randell Jesup
855202c183 Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 18:47:08 +00:00
Noemi Erli
16f5f5f2b9 Backed out changeset 12a59e5a50bf (bug 1207753) for causing build bustage CLOSED TREE 2022-03-16 18:32:51 +02:00
Randell Jesup
a98b1f8218 Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 16:16:14 +00:00
Butkovits Atila
01197944a0 Backed out changeset a68ee4b09f92 (bug 1207753) for causing Hazard bustages. CLOSED TREE 2022-03-16 14:38:14 +02:00
Randell Jesup
fe15f2115d Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 12:01:14 +00:00
Sylvestre Ledru
35a175aa33 Bug 1754767 - Remove duplicate includes r=media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D138441
2022-02-11 10:01:15 +00:00
Tom Schuster
a5221505d4 Bug 1728981 - Don't upgrade HTTP WebSocket requests of exempt principals. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D131094
2021-11-24 14:50:35 +00:00
Valentin Gosu
e8cee3e505 Bug 1729897 - CSP Upgrade-insecure-requests is upgrading localhost websocket r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D125533
2021-09-15 11:28:13 +00:00
Paul Zuehlcke
af3672bd19 Bug 1713748 - Partition WebSocket nsWSAdmissionManager queue. r=timhuang,nhnt11
Differential Revision: https://phabricator.services.mozilla.com/D119534
2021-07-21 12:44:40 +00:00
Olli Pettay
f047066776 Bug 1705147 - Make it possible to use WebSocket outside Window/Worker scopes, r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D112061
2021-04-19 17:16:14 +00:00
Kershaw Chang
0bb95a6d85 Bug 1660307 - Get rid off nsSupportsWeakReference for WebSocketImpl, r=baku
Differential Revision: https://phabricator.services.mozilla.com/D111059
2021-04-13 12:00:26 +00:00
Butkovits Atila
0071f31a0c Backed out changeset e3a7a6111dfe (bug 1660307) for a possible regression. CLOSED TREE 2021-04-13 01:29:29 +03:00
Kershaw Chang
edb03233be Bug 1660307 - Get rid off nsSupportsWeakReference for WebSocketImpl, r=baku
Differential Revision: https://phabricator.services.mozilla.com/D111059
2021-04-12 11:50:35 +00:00
Hubert Boma Manilla
4159d8a90a Bug 1695185 - Use the WindowId of the owner document instead r=valentin,necko-reviewers,baku
The websocket uses the innerWindowId of the window where the script lives when
triggering events for devtools. This is may not be the same as the websocket
owner window as mentioned here https://searchfox.org/mozilla-central/rev/f1159268add2fd0959e9f91b474f5da74c90f305/dom/websocket/WebSocket.cpp#206-207,212
This seems to be the case when we have iframes within a page. The devtools
do not get the events for the websockets channels opened within iframes as
the innerWindowId is that of the top-level window.

`...->TopWindowContext()->InnerWindowId()` also always point to the top-level window.

This patch fixes these issues by switching to use the websocket owner window which
the iframe.

Note: The parent revsion contains the changes for the devtools fission work that
depends on this fix. i did this to make it easy to test and review.

Differential Revision: https://phabricator.services.mozilla.com/D106607
2021-03-04 21:46:07 +00:00
smolnar
689d8209ae Backed out changeset dc7664f78fbd (bug 1660307) for causing mochitest failures. CLOSED TREE DONTBUILD 2021-02-18 14:49:38 +02:00
Yaron Tausky
93b543ff96 Bug 1660307 - Use thread-safe weak pointers in WebSocketImpl r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D104518
2021-02-18 12:16:11 +00:00
Kershaw Chang
fb3eb15b6e Bug 1675207 - Fail the websocket connection when there is no enough memory r=necko-reviewers,valentin CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D99145
2020-12-15 04:18:17 +02:00
Butkovits Atila
5111b84aaa Backed out changeset 084279c12a76 (bug 1675207) for build bustage complaining about rules.mk. CLOSED TREE 2020-12-14 15:42:52 +02:00
Kershaw Chang
46479b5a76 Bug 1675207 - Fail the websocket connection when there is no enough memory r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D99145
2020-12-14 12:14:38 +00:00
Razvan Maries
fc0e3d7f67 Backed out changeset 259ad0fe9f08 (bug 1675207) for build bustages on WebSocketChannelChild.h. CLOSED TREE 2020-12-11 12:05:34 +02:00
Kershaw Chang
2cffa76813 Bug 1675207 - Fail the websocket connection when there is no enough memory r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D99145
2020-12-11 09:35:05 +00:00
Simon Giesecke
498d9ed9dc Bug 1673931 - Avoid including DebuggerNotificationBinding.h from header files. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D97611
2020-12-10 11:09:32 +00:00
Karl Tomlinson
7afb800388 Bug 1119956 derive from DiscardableRunnable instead of CancelableRunnable when Cancel() is not supported r=asuth,sg
Differential Revision: https://phabricator.services.mozilla.com/D98118
2020-12-03 09:04:44 +00:00
Valentin Gosu
4acef6d14f Bug 1349969 - WebSocket: don't throw for bad ports r=annevk
Differential Revision: https://phabricator.services.mozilla.com/D96164
2020-11-06 12:57:05 +00:00
Valentin Gosu
f5629334d6 Bug 1660968 - Remove uses of GetInProcessScriptableTop in WebSocketImpl::GetLoadingPrincipal r=baku
This change also simplifies the code a bit.
Also, as BrowsingContext::GetOpener returns null when there's no opener,
we don't have to check whether the opener and innerWindow are the same.

Differential Revision: https://phabricator.services.mozilla.com/D93219
2020-10-19 12:07:00 +00:00
Paul Adenot
e76d54fa12 Bug 1668248 - Use fallible string operations in WebSocket::Send. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D91929
2020-10-02 12:42:06 +00:00
Dorel Luca
a1946dd01c Backed out 3 changesets (bug 1668248) for Devtools failures in devtools/shared/resources/tests/browser_resources_websocket.js. CLOSED TREE
Backed out changeset 3097e934187b (bug 1668248)
Backed out changeset 9f6b8aa11110 (bug 1668248)
Backed out changeset eaa857f4564d (bug 1668248)
2020-10-01 21:24:48 +03:00
Paul Adenot
3daef0f5c8 Bug 1668248 - Use fallible string operations in WebSocket::Send. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D91929
2020-09-30 17:40:16 +00:00
Simon Giesecke
ab6f0a7137 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00