diff options
author | Samson <16504129+sagudev@users.noreply.github.com> | 2024-05-22 18:47:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-22 16:47:35 +0000 |
commit | 794110ebe58ad72d809291e9feb3f2cc92819941 (patch) | |
tree | 9c01451fa022f433fa8a305d58c2a79da747e838 /components/script/dom/gpuoutofmemoryerror.rs | |
parent | 9f32809671c8c8e79d59c95194dcc466452299fc (diff) | |
download | servo-794110ebe58ad72d809291e9feb3f2cc92819941.tar.gz servo-794110ebe58ad72d809291e9feb3f2cc92819941.zip |
webgpu: Move errorscopes to WGPU thread (#32304)
* Prepare errorscopes logic in wgpu_thread
* remove scope_id from ipc
* new GPUErrors per spec
* remove cotent timeline error_scope
* fixup poperrorscope types
* device_scope -> gpu_error and nice errors
* Handle errors detection more elegantly
* good expectations
* new expectations
* Make error_scope.errors Vec as per spec
Diffstat (limited to 'components/script/dom/gpuoutofmemoryerror.rs')
-rw-r--r-- | components/script/dom/gpuoutofmemoryerror.rs | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/components/script/dom/gpuoutofmemoryerror.rs b/components/script/dom/gpuoutofmemoryerror.rs index 65252a28530..c3278473970 100644 --- a/components/script/dom/gpuoutofmemoryerror.rs +++ b/components/script/dom/gpuoutofmemoryerror.rs @@ -5,37 +5,39 @@ use dom_struct::dom_struct; use js::rust::HandleObject; -use crate::dom::bindings::reflector::{reflect_dom_object_with_proto, Reflector}; +use super::types::GPUError; +use crate::dom::bindings::reflector::reflect_dom_object_with_proto; use crate::dom::bindings::root::DomRoot; +use crate::dom::bindings::str::DOMString; use crate::dom::globalscope::GlobalScope; #[dom_struct] pub struct GPUOutOfMemoryError { - reflector_: Reflector, + gpu_error: GPUError, } impl GPUOutOfMemoryError { - fn new_inherited() -> Self { + fn new_inherited(message: DOMString) -> Self { Self { - reflector_: Reflector::new(), + gpu_error: GPUError::new_inherited(message), } } - pub fn new(global: &GlobalScope) -> DomRoot<Self> { - Self::new_with_proto(global, None) + pub fn new_with_proto( + global: &GlobalScope, + proto: Option<HandleObject>, + message: DOMString, + ) -> DomRoot<Self> { + reflect_dom_object_with_proto(Box::new(Self::new_inherited(message)), global, proto) } - fn new_with_proto(global: &GlobalScope, proto: Option<HandleObject>) -> DomRoot<Self> { - reflect_dom_object_with_proto( - Box::new(GPUOutOfMemoryError::new_inherited()), - global, - proto, - ) - } - - /// <https://gpuweb.github.io/gpuweb/#dom-gpuoutofmemoryerror-gpuoutofmemoryerror> + /// <https://gpuweb.github.io/gpuweb/#dom-GPUOutOfMemoryError-GPUOutOfMemoryError> #[allow(non_snake_case)] - pub fn Constructor(global: &GlobalScope, proto: Option<HandleObject>) -> DomRoot<Self> { - GPUOutOfMemoryError::new_with_proto(global, proto) + pub fn Constructor( + global: &GlobalScope, + proto: Option<HandleObject>, + message: DOMString, + ) -> DomRoot<Self> { + Self::new_with_proto(global, proto, message) } } |