mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00: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
|
@ -174,7 +174,7 @@ impl HTMLVideoElement {
|
|||
url,
|
||||
..
|
||||
}) => {
|
||||
self.process_image_response(ImageResponse::Loaded(image, url));
|
||||
self.process_image_response(ImageResponse::Loaded(image, url), can_gc);
|
||||
},
|
||||
ImageCacheResult::ReadyForRequest(id) => {
|
||||
self.do_fetch_poster_frame(poster_url, id, cancel_receiver, can_gc)
|
||||
|
@ -293,18 +293,18 @@ impl ImageCacheListener for HTMLVideoElement {
|
|||
self.generation_id.get()
|
||||
}
|
||||
|
||||
fn process_image_response(&self, response: ImageResponse) {
|
||||
fn process_image_response(&self, response: ImageResponse, can_gc: CanGc) {
|
||||
match response {
|
||||
ImageResponse::Loaded(image, url) => {
|
||||
debug!("Loaded poster image for video element: {:?}", url);
|
||||
self.htmlmediaelement.process_poster_image_loaded(image);
|
||||
LoadBlocker::terminate(&mut self.load_blocker.borrow_mut(), CanGc::note());
|
||||
LoadBlocker::terminate(&mut self.load_blocker.borrow_mut(), can_gc);
|
||||
},
|
||||
ImageResponse::MetadataLoaded(..) => {},
|
||||
// The image cache may have loaded a placeholder for an invalid poster url
|
||||
ImageResponse::PlaceholderLoaded(..) | ImageResponse::None => {
|
||||
// A failed load should unblock the document load.
|
||||
LoadBlocker::terminate(&mut self.load_blocker.borrow_mut(), CanGc::note());
|
||||
LoadBlocker::terminate(&mut self.load_blocker.borrow_mut(), can_gc);
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue