diff options
Diffstat (limited to 'components/script/dom/workernavigator.rs')
-rw-r--r-- | components/script/dom/workernavigator.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/components/script/dom/workernavigator.rs b/components/script/dom/workernavigator.rs index 92dfa9951e5..cc1dfee13bd 100644 --- a/components/script/dom/workernavigator.rs +++ b/components/script/dom/workernavigator.rs @@ -7,6 +7,7 @@ use crate::dom::bindings::codegen::Bindings::WorkerNavigatorBinding::WorkerNavig use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector}; use crate::dom::bindings::root::{DomRoot, MutNullableDom}; use crate::dom::bindings::str::DOMString; +use crate::dom::gpu::GPU; use crate::dom::navigatorinfo; use crate::dom::permissions::Permissions; use crate::dom::workerglobalscope::WorkerGlobalScope; @@ -17,6 +18,7 @@ use dom_struct::dom_struct; pub struct WorkerNavigator { reflector_: Reflector, permissions: MutNullableDom<Permissions>, + gpu: MutNullableDom<GPU>, } impl WorkerNavigator { @@ -24,6 +26,7 @@ impl WorkerNavigator { WorkerNavigator { reflector_: Reflector::new(), permissions: Default::default(), + gpu: Default::default(), } } @@ -97,4 +100,9 @@ impl WorkerNavigatorMethods for WorkerNavigator { self.permissions .or_init(|| Permissions::new(&self.global())) } + + // https://gpuweb.github.io/gpuweb/#dom-navigator-gpu + fn Gpu(&self) -> DomRoot<GPU> { + self.gpu.or_init(|| GPU::new(&self.global())) + } } |