mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Various CanGc fixes in components/script/dom (#33706)
* Propagate 'can_gc' in IFrame DOM code Signed-off-by: webbeef <me@webbeef.org> * Propagate 'can_gc' in HTML video and image elements Signed-off-by: webbeef <me@webbeef.org> * Propagate 'can_gc' in Blob and dependencies Signed-off-by: webbeef <me@webbeef.org> * Leftover can_gc fixes for HTMLMediaElement Signed-off-by: webbeef <me@webbeef.org> * Address comment Signed-off-by: webbeef <me@webbeef.org> --------- Signed-off-by: webbeef <me@webbeef.org>
This commit is contained in:
parent
7d931e673a
commit
d3c0785d64
14 changed files with 67 additions and 42 deletions
|
@ -165,7 +165,7 @@ impl WebRtcSignaller for RTCSignaller {
|
|||
let this = this.root();
|
||||
let global = this.global();
|
||||
let _ac = enter_realm(&*global);
|
||||
this.on_data_channel_event(channel, event);
|
||||
this.on_data_channel_event(channel, event, CanGc::note());
|
||||
}),
|
||||
&self.canceller,
|
||||
);
|
||||
|
@ -292,7 +292,12 @@ impl RTCPeerConnection {
|
|||
event.upcast::<Event>().fire(self.upcast());
|
||||
}
|
||||
|
||||
fn on_data_channel_event(&self, channel_id: DataChannelId, event: DataChannelEvent) {
|
||||
fn on_data_channel_event(
|
||||
&self,
|
||||
channel_id: DataChannelId,
|
||||
event: DataChannelEvent,
|
||||
can_gc: CanGc,
|
||||
) {
|
||||
if self.closed.get() {
|
||||
return;
|
||||
}
|
||||
|
@ -331,7 +336,7 @@ impl RTCPeerConnection {
|
|||
DataChannelEvent::Open => channel.on_open(),
|
||||
DataChannelEvent::Close => channel.on_close(),
|
||||
DataChannelEvent::Error(error) => channel.on_error(error),
|
||||
DataChannelEvent::OnMessage(message) => channel.on_message(message),
|
||||
DataChannelEvent::OnMessage(message) => channel.on_message(message, can_gc),
|
||||
DataChannelEvent::StateChange(state) => channel.on_state_change(state),
|
||||
DataChannelEvent::NewChannel => unreachable!(),
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue