aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_thread.rs
diff options
context:
space:
mode:
authorwebbeef <me@webbeef.org>2024-10-10 08:51:22 -0700
committerGitHub <noreply@github.com>2024-10-10 15:51:22 +0000
commitf9a06d62a2757eefc729f2126a0d50afa919399f (patch)
tree720385ad4dc66611f70c30171ced48b230de07eb /components/script/script_thread.rs
parent8c56cbdab207239e4f05b253970e16e75b0a3958 (diff)
downloadservo-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.rs10
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);
},
_ => {},
}