diff options
author | webbeef <me@webbeef.org> | 2024-10-10 08:51:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-10 15:51:22 +0000 |
commit | f9a06d62a2757eefc729f2126a0d50afa919399f (patch) | |
tree | 720385ad4dc66611f70c30171ced48b230de07eb /components/script/script_thread.rs | |
parent | 8c56cbdab207239e4f05b253970e16e75b0a3958 (diff) | |
download | servo-f9a06d62a2757eefc729f2126a0d50afa919399f.tar.gz servo-f9a06d62a2757eefc729f2126a0d50afa919399f.zip |
More CanGc fixes: Range, Event, gpu error, Header (#33774)
* Propagate CanGc parameter in Range
Signed-off-by: webbeef <me@webbeef.org>
* Propagate CanGc parameter in gpu code and dependencies
Signed-off-by: webbeef <me@webbeef.org>
* Propagate CanGc parameter in Header and dependencies
Signed-off-by: webbeef <me@webbeef.org>
* Propagate CanGc parameter in Event and dependencies
Signed-off-by: webbeef <me@webbeef.org>
* Propagate CanGc parameter in rtcdatachannel
Signed-off-by: webbeef <me@webbeef.org>
* Propagate CanGc parameter in servoparser
Signed-off-by: webbeef <me@webbeef.org>
---------
Signed-off-by: webbeef <me@webbeef.org>
Diffstat (limited to 'components/script/script_thread.rs')
-rw-r--r-- | components/script/script_thread.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index ce9cf31a8d6..de9160b0850 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -2005,7 +2005,9 @@ impl ScriptThread { FromScript(inner_msg) => self.handle_msg_from_script(inner_msg), FromDevtools(inner_msg) => self.handle_msg_from_devtools(inner_msg), FromImageCache(inner_msg) => self.handle_msg_from_image_cache(inner_msg), - FromWebGPUServer(inner_msg) => self.handle_msg_from_webgpu_server(inner_msg), + FromWebGPUServer(inner_msg) => { + self.handle_msg_from_webgpu_server(inner_msg, can_gc) + }, } None @@ -2025,7 +2027,7 @@ impl ScriptThread { let mut docs = self.docs_with_no_blocking_loads.borrow_mut(); for document in docs.iter() { let _realm = enter_realm(&**document); - document.maybe_queue_document_completion(); + document.maybe_queue_document_completion(can_gc); // Document load is a rendering opportunity. ScriptThread::note_rendering_opportunity(document.window().pipeline_id()); @@ -2473,7 +2475,7 @@ impl ScriptThread { window.layout_mut().set_epoch_paint_time(epoch, time); } - fn handle_msg_from_webgpu_server(&self, msg: WebGPUMsg) { + fn handle_msg_from_webgpu_server(&self, msg: WebGPUMsg, can_gc: CanGc) { match msg { WebGPUMsg::FreeAdapter(id) => self.gpu_id_hub.free_adapter_id(id), WebGPUMsg::FreeDevice { @@ -2518,7 +2520,7 @@ impl ScriptThread { } => { let global = self.documents.borrow().find_global(pipeline_id).unwrap(); let _ac = enter_realm(&*global); - global.handle_uncaptured_gpu_error(device, error); + global.handle_uncaptured_gpu_error(device, error, can_gc); }, _ => {}, } |