Bug 1565343 - Ignore alternate stacks for unknown kinds of channels, r=ochameau.

--HG--
extra : rebase_source : 915d492fc407c433fa33d4adf8fe914fd969267a
This commit is contained in:
Brian Hackett 2019-07-17 17:49:01 -10:00
parent eb5c88a05d
commit ea4bf4d365

View File

@ -81,13 +81,19 @@ StackTraceCollector.prototype = {
try {
channel = subject.QueryInterface(Ci.nsIHttpChannel);
id = channel.channelId;
} catch (e) {
} catch (e1) {
// WebSocketChannels do not have IDs, so use the URL. When a WebSocket is
// opened in a content process, a channel is created locally but the HTTP
// channel for the connection lives entirely in the parent process. When
// the server code running in the parent sees that HTTP channel, it will
// look for the creation stack using the websocket's URL.
channel = subject.QueryInterface(Ci.nsIWebSocketChannel);
try {
channel = subject.QueryInterface(Ci.nsIWebSocketChannel);
} catch (e2) {
// Channels which don't implement the above interfaces can appear here,
// such as nsIFileChannel. Ignore these channels.
return;
}
id = channel.URI.spec;
}