dom: Implement Navigator.languages.

This commit is contained in:
Josh Matthews 2020-07-14 11:50:59 -04:00
parent 9fe92ecb4c
commit 2acd295ea6
10 changed files with 670 additions and 15 deletions

View file

@ -6,11 +6,14 @@ 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::bindings::utils::to_frozen_array;
use crate::dom::gpu::GPU;
use crate::dom::navigatorinfo;
use crate::dom::permissions::Permissions;
use crate::dom::workerglobalscope::WorkerGlobalScope;
use crate::script_runtime::JSContext;
use dom_struct::dom_struct;
use js::jsval::JSVal;
// https://html.spec.whatwg.org/multipage/#workernavigator
#[dom_struct]
@ -90,6 +93,12 @@ impl WorkerNavigatorMethods for WorkerNavigator {
navigatorinfo::Language()
}
// https://html.spec.whatwg.org/multipage/#dom-navigator-languages
#[allow(unsafe_code)]
fn Languages(&self, cx: JSContext) -> JSVal {
to_frozen_array(&[self.Language()], cx)
}
// https://w3c.github.io/permissions/#navigator-and-workernavigator-extension
fn Permissions(&self) -> DomRoot<Permissions> {
self.permissions