gecko-dev/netwerk
Andrew McCreight 07e3ce0af7 Bug 1517601, part 3 - WebSocketEvent subclasses should not hold strong references to the channel. r=mayhemer
This patch moves the channel pointer from the WebSocketEvents into the
classes that wrap them (EventTargetDispatcher and
WrappedWebSocketEvent) to fix leaks.

EventTargetDispatcher uses a weak pointer. This is needed to prevent a
leak if the ChannelEvent dispatch fails, because it would create a
cycle of strong references between the WebSocketEvent, the channel,
the channel event queue, and EventTargetDispatcher. It is safe because
the ChannelEventQueue ensures that the channel remains alive.

WrappedWebSocketEvent uses a strong pointer. This won't create a leak
because the runnable is not owned by the channel. It is needed for
safety because it can't rely on the ChannelEventQueue mechanism for
keeping the channel alive.

The WPT whitelisting moves them into two subdirectories that still
seem to leak sometimes, but the top level websockets/ directory seems
okay now.

Depends on D19586

Differential Revision: https://phabricator.services.mozilla.com/D19587

--HG--
extra : moz-landing-system : lando
2019-02-13 16:58:31 +00:00
..
base Backed out 2 changesets (bug 1509738) for failures in propagate-nonce-external-classic.html 2019-02-13 16:22:44 +02:00
build Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-02-04 19:10:18 +00:00
cache Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-02-04 19:10:18 +00:00
cache2 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
cookie Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj 2019-02-06 15:58:43 +00:00
dns Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
ipc Backed out 2 changesets (bug 1509738) for failures in propagate-nonce-external-classic.html 2019-02-13 16:22:44 +02:00
locales Bug 1523249, r=valentin 2019-01-30 11:39:42 +00:00
mime Bug 1500710 - Add default MIME type definition for .wasm as 'application/wasm' r=bzbarsky 2019-02-01 22:16:17 +00:00
protocol Bug 1517601, part 3 - WebSocketEvent subclasses should not hold strong references to the channel. r=mayhemer 2019-02-13 16:58:31 +00:00
sctp Backed out changeset 2161b075ce64 (bug 1521304) for high frequency mochitest failure, a=backout 2019-02-12 21:58:27 +02:00
socket Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
srtp Bug 1479665: update libsrtp to bb0412ee84ebe3d2916b45b19de72fabb183d9db. r=bwc 2018-09-13 14:39:31 +00:00
streamconv Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin 2019-02-12 16:08:25 +00:00
system Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
test Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-02-13 07:23:59 +02:00
url-classifier Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-02-04 19:10:18 +00:00
wifi Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
moz.build Bug 1511436 - Cleanup URL-Classifier code - part 1 - nsIUrlClassifierFeature, r=dimi 2018-12-14 12:40:16 +01:00
necko-config.h.in