aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webgpu/gpubuffer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/webgpu/gpubuffer.rs')
-rw-r--r--components/script/dom/webgpu/gpubuffer.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/components/script/dom/webgpu/gpubuffer.rs b/components/script/dom/webgpu/gpubuffer.rs
index 74ee6249a36..7cc083c7ead 100644
--- a/components/script/dom/webgpu/gpubuffer.rs
+++ b/components/script/dom/webgpu/gpubuffer.rs
@@ -380,7 +380,7 @@ impl GPUBuffer {
}
}
- fn map_success(&self, p: &Rc<Promise>, wgpu_mapping: Mapping) {
+ fn map_success(&self, p: &Rc<Promise>, wgpu_mapping: Mapping, can_gc: CanGc) {
let mut pending_map = self.pending_map.borrow_mut();
// Step 1
@@ -413,7 +413,7 @@ impl GPUBuffer {
self.mapping.borrow_mut().replace(mapping);
// Step 7
pending_map.take();
- p.resolve_native(&());
+ p.resolve_native(&(), can_gc);
},
}
}
@@ -421,9 +421,11 @@ impl GPUBuffer {
impl AsyncWGPUListener for GPUBuffer {
#[allow(unsafe_code)]
- fn handle_response(&self, response: WebGPUResponse, promise: &Rc<Promise>, _can_gc: CanGc) {
+ fn handle_response(&self, response: WebGPUResponse, promise: &Rc<Promise>, can_gc: CanGc) {
match response {
- WebGPUResponse::BufferMapAsync(Ok(mapping)) => self.map_success(promise, mapping),
+ WebGPUResponse::BufferMapAsync(Ok(mapping)) => {
+ self.map_success(promise, mapping, can_gc)
+ },
WebGPUResponse::BufferMapAsync(Err(_)) => self.map_failure(promise),
_ => unreachable!("Wrong response received on AsyncWGPUListener for GPUBuffer"),
}