From dd13342f184bee27ed1591a122727adca1247004 Mon Sep 17 00:00:00 2001 From: Yerkebulan Tulibergenov Date: Sat, 22 Feb 2025 16:35:44 -0800 Subject: [PATCH] refactor: add CanGc as argument to DataBlock::view (#35610) Signed-off-by: Yerkebulan Tulibergenov --- components/script/dom/bindings/buffer_source.rs | 2 +- components/script/dom/webgpu/gpubuffer.rs | 3 ++- components/script_bindings/codegen/Bindings.conf | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/components/script/dom/bindings/buffer_source.rs b/components/script/dom/bindings/buffer_source.rs index 4532c0c95f0..0536f97f5d3 100644 --- a/components/script/dom/bindings/buffer_source.rs +++ b/components/script/dom/bindings/buffer_source.rs @@ -429,7 +429,7 @@ impl DataBlock { } /// Returns error if requested range is already mapped - pub(crate) fn view(&mut self, range: Range) -> Result<&DataView, ()> { + pub(crate) fn view(&mut self, range: Range, _can_gc: CanGc) -> Result<&DataView, ()> { if self .data_views .iter() diff --git a/components/script/dom/webgpu/gpubuffer.rs b/components/script/dom/webgpu/gpubuffer.rs index 5ef93157e28..74ee6249a36 100644 --- a/components/script/dom/webgpu/gpubuffer.rs +++ b/components/script/dom/webgpu/gpubuffer.rs @@ -297,6 +297,7 @@ impl GPUBufferMethods for GPUBuffer { _cx: JSContext, offset: GPUSize64, size: Option, + can_gc: CanGc, ) -> Fallible { let range_size = if let Some(s) = size { s @@ -321,7 +322,7 @@ impl GPUBufferMethods for GPUBuffer { let rebased_offset = (offset - mapping.range.start) as usize; mapping .data - .view(rebased_offset..rebased_offset + range_size as usize) + .view(rebased_offset..rebased_offset + range_size as usize, can_gc) .map(|view| view.array_buffer()) .map_err(|()| Error::Operation) } diff --git a/components/script_bindings/codegen/Bindings.conf b/components/script_bindings/codegen/Bindings.conf index e0e00968e20..b1e820dd32b 100644 --- a/components/script_bindings/codegen/Bindings.conf +++ b/components/script_bindings/codegen/Bindings.conf @@ -217,7 +217,7 @@ DOMInterfaces = { 'GPUBuffer': { 'inRealms': ['MapAsync'], - 'canGc': ['MapAsync'], + 'canGc': ['GetMappedRange', 'MapAsync'], }, 'GPUCanvasContext': {