aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webgpu
diff options
context:
space:
mode:
authorDomenico Rizzo <domenico.rizzo@gmail.com>2024-12-13 16:51:59 +0100
committerGitHub <noreply@github.com>2024-12-13 15:51:59 +0000
commit0e9746fbbec1ffb843d19e44e2729d5ad2b7479a (patch)
treec3b4d2266273cac0a745609b3d711d2b40377cfc /components/script/dom/webgpu
parent471d3572b77be4df31ce5d6a20d522eb9ffdbe7f (diff)
downloadservo-0e9746fbbec1ffb843d19e44e2729d5ad2b7479a.tar.gz
servo-0e9746fbbec1ffb843d19e44e2729d5ad2b7479a.zip
Add CanGc argument to reflect_dom_object (#34606)
* applied mach fmt Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com> Refinements Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com> Modified reflect_dom_object signature and all its calls Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com> * fix function calls when parameter is passed up Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com> --------- Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>
Diffstat (limited to 'components/script/dom/webgpu')
-rw-r--r--components/script/dom/webgpu/gpu.rs2
-rw-r--r--components/script/dom/webgpu/gpuadapter.rs1
-rw-r--r--components/script/dom/webgpu/gpuadapterinfo.rs3
-rw-r--r--components/script/dom/webgpu/gpubindgroup.rs2
-rw-r--r--components/script/dom/webgpu/gpubindgrouplayout.rs2
-rw-r--r--components/script/dom/webgpu/gpubuffer.rs1
-rw-r--r--components/script/dom/webgpu/gpucanvascontext.rs2
-rw-r--r--components/script/dom/webgpu/gpucommandbuffer.rs2
-rw-r--r--components/script/dom/webgpu/gpucommandencoder.rs2
-rw-r--r--components/script/dom/webgpu/gpucompilationmessage.rs2
-rw-r--r--components/script/dom/webgpu/gpucomputepassencoder.rs2
-rw-r--r--components/script/dom/webgpu/gpucomputepipeline.rs2
-rw-r--r--components/script/dom/webgpu/gpudevice.rs1
-rw-r--r--components/script/dom/webgpu/gpudevicelostinfo.rs2
-rw-r--r--components/script/dom/webgpu/gpupipelinelayout.rs2
-rw-r--r--components/script/dom/webgpu/gpuqueue.rs6
-rw-r--r--components/script/dom/webgpu/gpurenderbundle.rs2
-rw-r--r--components/script/dom/webgpu/gpurenderbundleencoder.rs2
-rw-r--r--components/script/dom/webgpu/gpurenderpassencoder.rs2
-rw-r--r--components/script/dom/webgpu/gpurenderpipeline.rs2
-rw-r--r--components/script/dom/webgpu/gpusampler.rs2
-rw-r--r--components/script/dom/webgpu/gpushadermodule.rs1
-rw-r--r--components/script/dom/webgpu/gpusupportedlimits.rs3
-rw-r--r--components/script/dom/webgpu/gputexture.rs2
-rw-r--r--components/script/dom/webgpu/gputextureview.rs2
25 files changed, 48 insertions, 4 deletions
diff --git a/components/script/dom/webgpu/gpu.rs b/components/script/dom/webgpu/gpu.rs
index 6cdd83878b5..5ee5d047113 100644
--- a/components/script/dom/webgpu/gpu.rs
+++ b/components/script/dom/webgpu/gpu.rs
@@ -41,7 +41,7 @@ impl GPU {
}
pub fn new(global: &GlobalScope) -> DomRoot<GPU> {
- reflect_dom_object(Box::new(GPU::new_inherited()), global)
+ reflect_dom_object(Box::new(GPU::new_inherited()), global, CanGc::note())
}
}
diff --git a/components/script/dom/webgpu/gpuadapter.rs b/components/script/dom/webgpu/gpuadapter.rs
index 1b6552e031b..409f701c635 100644
--- a/components/script/dom/webgpu/gpuadapter.rs
+++ b/components/script/dom/webgpu/gpuadapter.rs
@@ -86,6 +86,7 @@ impl GPUAdapter {
channel, name, extensions, &features, &limits, &info, adapter,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpuadapterinfo.rs b/components/script/dom/webgpu/gpuadapterinfo.rs
index 0cda8bed2d7..8ce3dae97c6 100644
--- a/components/script/dom/webgpu/gpuadapterinfo.rs
+++ b/components/script/dom/webgpu/gpuadapterinfo.rs
@@ -9,6 +9,7 @@ use crate::dom::bindings::codegen::Bindings::WebGPUBinding::GPUAdapterInfoMethod
use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
use crate::dom::bindings::root::DomRoot;
use crate::dom::globalscope::GlobalScope;
+use crate::script_runtime::CanGc;
use crate::test::DOMString;
#[dom_struct]
@@ -28,7 +29,7 @@ impl GPUAdapterInfo {
}
pub fn new(global: &GlobalScope, info: AdapterInfo) -> DomRoot<Self> {
- reflect_dom_object(Box::new(Self::new_inherited(info)), global)
+ reflect_dom_object(Box::new(Self::new_inherited(info)), global, CanGc::note())
}
}
diff --git a/components/script/dom/webgpu/gpubindgroup.rs b/components/script/dom/webgpu/gpubindgroup.rs
index bb698210c93..c542046ae27 100644
--- a/components/script/dom/webgpu/gpubindgroup.rs
+++ b/components/script/dom/webgpu/gpubindgroup.rs
@@ -19,6 +19,7 @@ use crate::dom::bindings::str::USVString;
use crate::dom::globalscope::GlobalScope;
use crate::dom::webgpu::gpubindgrouplayout::GPUBindGroupLayout;
use crate::dom::webgpu::gpudevice::GPUDevice;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUBindGroup {
@@ -65,6 +66,7 @@ impl GPUBindGroup {
channel, bind_group, device, layout, label,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpubindgrouplayout.rs b/components/script/dom/webgpu/gpubindgrouplayout.rs
index 470b24c3192..8c753a22499 100644
--- a/components/script/dom/webgpu/gpubindgrouplayout.rs
+++ b/components/script/dom/webgpu/gpubindgrouplayout.rs
@@ -20,6 +20,7 @@ use crate::dom::bindings::str::USVString;
use crate::dom::globalscope::GlobalScope;
use crate::dom::webgpu::gpuconvert::convert_bind_group_layout_entry;
use crate::dom::webgpu::gpudevice::GPUDevice;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUBindGroupLayout {
@@ -59,6 +60,7 @@ impl GPUBindGroupLayout {
label,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpubuffer.rs b/components/script/dom/webgpu/gpubuffer.rs
index 2a546a5e849..e6e591cc392 100644
--- a/components/script/dom/webgpu/gpubuffer.rs
+++ b/components/script/dom/webgpu/gpubuffer.rs
@@ -122,6 +122,7 @@ impl GPUBuffer {
channel, buffer, device, size, usage, mapping, label,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpucanvascontext.rs b/components/script/dom/webgpu/gpucanvascontext.rs
index 3fb906e2581..424e6b40000 100644
--- a/components/script/dom/webgpu/gpucanvascontext.rs
+++ b/components/script/dom/webgpu/gpucanvascontext.rs
@@ -37,6 +37,7 @@ use crate::dom::bindings::str::USVString;
use crate::dom::globalscope::GlobalScope;
use crate::dom::htmlcanvaselement::{HTMLCanvasElement, LayoutCanvasRenderingContextHelpers};
use crate::dom::node::{document_from_node, Node, NodeDamage};
+use crate::script_runtime::CanGc;
impl HTMLCanvasElementOrOffscreenCanvas {
fn size(&self) -> Size2D<u64> {
@@ -140,6 +141,7 @@ impl GPUCanvasContext {
channel,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpucommandbuffer.rs b/components/script/dom/webgpu/gpucommandbuffer.rs
index 120af69a480..c6a6c9a934d 100644
--- a/components/script/dom/webgpu/gpucommandbuffer.rs
+++ b/components/script/dom/webgpu/gpucommandbuffer.rs
@@ -11,6 +11,7 @@ use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
use crate::dom::bindings::root::DomRoot;
use crate::dom::bindings::str::USVString;
use crate::dom::globalscope::GlobalScope;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUCommandBuffer {
@@ -50,6 +51,7 @@ impl GPUCommandBuffer {
label,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpucommandencoder.rs b/components/script/dom/webgpu/gpucommandencoder.rs
index db92794eaf2..252066e0749 100644
--- a/components/script/dom/webgpu/gpucommandencoder.rs
+++ b/components/script/dom/webgpu/gpucommandencoder.rs
@@ -27,6 +27,7 @@ use crate::dom::webgpu::gpucomputepassencoder::GPUComputePassEncoder;
use crate::dom::webgpu::gpuconvert::{convert_load_op, convert_store_op};
use crate::dom::webgpu::gpudevice::GPUDevice;
use crate::dom::webgpu::gpurenderpassencoder::GPURenderPassEncoder;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUCommandEncoder {
@@ -68,6 +69,7 @@ impl GPUCommandEncoder {
channel, device, encoder, label,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpucompilationmessage.rs b/components/script/dom/webgpu/gpucompilationmessage.rs
index d811e8baf6e..157118d056d 100644
--- a/components/script/dom/webgpu/gpucompilationmessage.rs
+++ b/components/script/dom/webgpu/gpucompilationmessage.rs
@@ -13,6 +13,7 @@ use crate::dom::bindings::codegen::Bindings::WebGPUBinding::{
use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
use crate::dom::bindings::root::DomRoot;
use crate::dom::types::GlobalScope;
+use crate::script_runtime::CanGc;
use crate::test::DOMString;
#[dom_struct]
@@ -61,6 +62,7 @@ impl GPUCompilationMessage {
message, mtype, line_num, line_pos, offset, length,
)),
global,
+ CanGc::note(),
)
}
diff --git a/components/script/dom/webgpu/gpucomputepassencoder.rs b/components/script/dom/webgpu/gpucomputepassencoder.rs
index 0f8937fec8b..1ad305fcecd 100644
--- a/components/script/dom/webgpu/gpucomputepassencoder.rs
+++ b/components/script/dom/webgpu/gpucomputepassencoder.rs
@@ -15,6 +15,7 @@ use crate::dom::webgpu::gpubindgroup::GPUBindGroup;
use crate::dom::webgpu::gpubuffer::GPUBuffer;
use crate::dom::webgpu::gpucommandencoder::GPUCommandEncoder;
use crate::dom::webgpu::gpucomputepipeline::GPUComputePipeline;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUComputePassEncoder {
@@ -59,6 +60,7 @@ impl GPUComputePassEncoder {
label,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpucomputepipeline.rs b/components/script/dom/webgpu/gpucomputepipeline.rs
index a5d0997e3a3..8a0cf4ab6e1 100644
--- a/components/script/dom/webgpu/gpucomputepipeline.rs
+++ b/components/script/dom/webgpu/gpucomputepipeline.rs
@@ -19,6 +19,7 @@ use crate::dom::bindings::str::USVString;
use crate::dom::globalscope::GlobalScope;
use crate::dom::webgpu::gpubindgrouplayout::GPUBindGroupLayout;
use crate::dom::webgpu::gpudevice::GPUDevice;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUComputePipeline {
@@ -60,6 +61,7 @@ impl GPUComputePipeline {
device,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpudevice.rs b/components/script/dom/webgpu/gpudevice.rs
index 589395b0a2b..217f6ff5826 100644
--- a/components/script/dom/webgpu/gpudevice.rs
+++ b/components/script/dom/webgpu/gpudevice.rs
@@ -166,6 +166,7 @@ impl GPUDevice {
lost_promise,
)),
global,
+ can_gc,
);
queue.set_device(&device);
device
diff --git a/components/script/dom/webgpu/gpudevicelostinfo.rs b/components/script/dom/webgpu/gpudevicelostinfo.rs
index ea33986a84f..68bb7278061 100644
--- a/components/script/dom/webgpu/gpudevicelostinfo.rs
+++ b/components/script/dom/webgpu/gpudevicelostinfo.rs
@@ -13,6 +13,7 @@ use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
use crate::dom::bindings::root::DomRoot;
use crate::dom::bindings::str::DOMString;
use crate::dom::globalscope::GlobalScope;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUDeviceLostInfo {
@@ -38,6 +39,7 @@ impl GPUDeviceLostInfo {
reflect_dom_object(
Box::new(GPUDeviceLostInfo::new_inherited(message, reason)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpupipelinelayout.rs b/components/script/dom/webgpu/gpupipelinelayout.rs
index 10bbc53f690..33c5b1f72bb 100644
--- a/components/script/dom/webgpu/gpupipelinelayout.rs
+++ b/components/script/dom/webgpu/gpupipelinelayout.rs
@@ -18,6 +18,7 @@ use crate::dom::bindings::root::DomRoot;
use crate::dom::bindings::str::USVString;
use crate::dom::globalscope::GlobalScope;
use crate::dom::webgpu::gpudevice::GPUDevice;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUPipelineLayout {
@@ -63,6 +64,7 @@ impl GPUPipelineLayout {
bgls,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpuqueue.rs b/components/script/dom/webgpu/gpuqueue.rs
index 72e74ba66d3..cbba6a24cdb 100644
--- a/components/script/dom/webgpu/gpuqueue.rs
+++ b/components/script/dom/webgpu/gpuqueue.rs
@@ -50,7 +50,11 @@ impl GPUQueue {
}
pub fn new(global: &GlobalScope, channel: WebGPU, queue: WebGPUQueue) -> DomRoot<Self> {
- reflect_dom_object(Box::new(GPUQueue::new_inherited(channel, queue)), global)
+ reflect_dom_object(
+ Box::new(GPUQueue::new_inherited(channel, queue)),
+ global,
+ CanGc::note(),
+ )
}
}
diff --git a/components/script/dom/webgpu/gpurenderbundle.rs b/components/script/dom/webgpu/gpurenderbundle.rs
index aae120b970b..85e38b6b49c 100644
--- a/components/script/dom/webgpu/gpurenderbundle.rs
+++ b/components/script/dom/webgpu/gpurenderbundle.rs
@@ -11,6 +11,7 @@ use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
use crate::dom::bindings::root::DomRoot;
use crate::dom::bindings::str::USVString;
use crate::dom::globalscope::GlobalScope;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPURenderBundle {
@@ -56,6 +57,7 @@ impl GPURenderBundle {
label,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpurenderbundleencoder.rs b/components/script/dom/webgpu/gpurenderbundleencoder.rs
index 11483bc3eac..11899083d63 100644
--- a/components/script/dom/webgpu/gpurenderbundleencoder.rs
+++ b/components/script/dom/webgpu/gpurenderbundleencoder.rs
@@ -26,6 +26,7 @@ use crate::dom::webgpu::gpubuffer::GPUBuffer;
use crate::dom::webgpu::gpudevice::GPUDevice;
use crate::dom::webgpu::gpurenderbundle::GPURenderBundle;
use crate::dom::webgpu::gpurenderpipeline::GPURenderPipeline;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPURenderBundleEncoder {
@@ -71,6 +72,7 @@ impl GPURenderBundleEncoder {
label,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpurenderpassencoder.rs b/components/script/dom/webgpu/gpurenderpassencoder.rs
index e52cb4dec45..9ec0e5e83e8 100644
--- a/components/script/dom/webgpu/gpurenderpassencoder.rs
+++ b/components/script/dom/webgpu/gpurenderpassencoder.rs
@@ -21,6 +21,7 @@ use crate::dom::webgpu::gpubuffer::GPUBuffer;
use crate::dom::webgpu::gpucommandencoder::GPUCommandEncoder;
use crate::dom::webgpu::gpurenderbundle::GPURenderBundle;
use crate::dom::webgpu::gpurenderpipeline::GPURenderPipeline;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPURenderPassEncoder {
@@ -65,6 +66,7 @@ impl GPURenderPassEncoder {
label,
)),
global,
+ CanGc::note(),
)
}
diff --git a/components/script/dom/webgpu/gpurenderpipeline.rs b/components/script/dom/webgpu/gpurenderpipeline.rs
index 48f6d93bc01..21230ff6899 100644
--- a/components/script/dom/webgpu/gpurenderpipeline.rs
+++ b/components/script/dom/webgpu/gpurenderpipeline.rs
@@ -16,6 +16,7 @@ use crate::dom::bindings::str::USVString;
use crate::dom::globalscope::GlobalScope;
use crate::dom::webgpu::gpubindgrouplayout::GPUBindGroupLayout;
use crate::dom::webgpu::gpudevice::{GPUDevice, PipelineLayout};
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPURenderPipeline {
@@ -57,6 +58,7 @@ impl GPURenderPipeline {
device,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpusampler.rs b/components/script/dom/webgpu/gpusampler.rs
index 98ec5a873ff..ec3562d0e52 100644
--- a/components/script/dom/webgpu/gpusampler.rs
+++ b/components/script/dom/webgpu/gpusampler.rs
@@ -16,6 +16,7 @@ use crate::dom::bindings::root::DomRoot;
use crate::dom::bindings::str::USVString;
use crate::dom::globalscope::GlobalScope;
use crate::dom::webgpu::gpudevice::GPUDevice;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUSampler {
@@ -66,6 +67,7 @@ impl GPUSampler {
label,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpushadermodule.rs b/components/script/dom/webgpu/gpushadermodule.rs
index 44cc8fa8115..9b353dd71c1 100644
--- a/components/script/dom/webgpu/gpushadermodule.rs
+++ b/components/script/dom/webgpu/gpushadermodule.rs
@@ -68,6 +68,7 @@ impl GPUShaderModule {
promise,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gpusupportedlimits.rs b/components/script/dom/webgpu/gpusupportedlimits.rs
index 15f1172da18..8f25526eae1 100644
--- a/components/script/dom/webgpu/gpusupportedlimits.rs
+++ b/components/script/dom/webgpu/gpusupportedlimits.rs
@@ -11,6 +11,7 @@ use crate::dom::bindings::codegen::Bindings::WebGPUBinding::GPUSupportedLimits_B
use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
use crate::dom::bindings::root::DomRoot;
use crate::dom::globalscope::GlobalScope;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUSupportedLimits {
@@ -29,7 +30,7 @@ impl GPUSupportedLimits {
}
pub fn new(global: &GlobalScope, limits: Limits) -> DomRoot<Self> {
- reflect_dom_object(Box::new(Self::new_inherited(limits)), global)
+ reflect_dom_object(Box::new(Self::new_inherited(limits)), global, CanGc::note())
}
}
diff --git a/components/script/dom/webgpu/gputexture.rs b/components/script/dom/webgpu/gputexture.rs
index 9a136165dff..04680f42652 100644
--- a/components/script/dom/webgpu/gputexture.rs
+++ b/components/script/dom/webgpu/gputexture.rs
@@ -22,6 +22,7 @@ use crate::dom::bindings::str::USVString;
use crate::dom::globalscope::GlobalScope;
use crate::dom::webgpu::gpudevice::GPUDevice;
use crate::dom::webgpu::gputextureview::GPUTextureView;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUTexture {
@@ -100,6 +101,7 @@ impl GPUTexture {
label,
)),
global,
+ CanGc::note(),
)
}
}
diff --git a/components/script/dom/webgpu/gputextureview.rs b/components/script/dom/webgpu/gputextureview.rs
index e563af68d84..f988eb1c41d 100644
--- a/components/script/dom/webgpu/gputextureview.rs
+++ b/components/script/dom/webgpu/gputextureview.rs
@@ -12,6 +12,7 @@ use crate::dom::bindings::root::{Dom, DomRoot};
use crate::dom::bindings::str::USVString;
use crate::dom::globalscope::GlobalScope;
use crate::dom::webgpu::gputexture::GPUTexture;
+use crate::script_runtime::CanGc;
#[dom_struct]
pub struct GPUTextureView {
@@ -56,6 +57,7 @@ impl GPUTextureView {
label,
)),
global,
+ CanGc::note(),
)
}
}