aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglobject.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/webglobject.rs')
-rw-r--r--components/script/dom/webglobject.rs17
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;
+ }
+}