diff options
Diffstat (limited to 'components/script/dom/webglobject.rs')
-rw-r--r-- | components/script/dom/webglobject.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/components/script/dom/webglobject.rs b/components/script/dom/webglobject.rs index fd6fe082c08..919bfc5cda7 100644 --- a/components/script/dom/webglobject.rs +++ b/components/script/dom/webglobject.rs @@ -5,14 +5,18 @@ // https://www.khronos.org/registry/webgl/specs/latest/1.0/webgl.idl use dom_struct::dom_struct; +use crate::dom::bindings::cell::DomRefCell; +use crate::dom::bindings::codegen::Bindings::WebGLObjectBinding::WebGLObjectMethods; use crate::dom::bindings::reflector::Reflector; use crate::dom::bindings::root::Dom; +use crate::dom::bindings::str::USVString; use crate::dom::webglrenderingcontext::WebGLRenderingContext; #[dom_struct] pub struct WebGLObject { reflector_: Reflector, context: Dom<WebGLRenderingContext>, + label: DomRefCell<USVString>, } impl WebGLObject { @@ -20,6 +24,7 @@ impl WebGLObject { WebGLObject { reflector_: Reflector::new(), context: Dom::from_ref(context), + label: DomRefCell::new(USVString::default()), } } @@ -27,3 +32,15 @@ impl WebGLObject { &self.context } } + +impl WebGLObjectMethods for WebGLObject { + /// <https://registry.khronos.org/webgl/specs/latest/1.0/#5.3> + fn Label(&self) -> USVString { + self.label.borrow().clone() + } + + /// <https://registry.khronos.org/webgl/specs/latest/1.0/#5.3> + fn SetLabel(&self, value: USVString) { + *self.label.borrow_mut() = value; + } +} |