aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/navigator.rs5
-rw-r--r--components/script/dom/navigatorinfo.rs4
-rw-r--r--components/script/dom/webidls/Navigator.webidl9
-rw-r--r--components/script/dom/webidls/WorkerNavigator.webidl2
-rw-r--r--components/script/dom/workernavigator.rs5
-rw-r--r--tests/wpt/metadata/html/dom/interfaces.html.ini9
-rw-r--r--tests/wpt/metadata/workers/interfaces.worker.js.ini6
7 files changed, 23 insertions, 17 deletions
diff --git a/components/script/dom/navigator.rs b/components/script/dom/navigator.rs
index 9803b6562b6..fe01105b787 100644
--- a/components/script/dom/navigator.rs
+++ b/components/script/dom/navigator.rs
@@ -73,4 +73,9 @@ impl NavigatorMethods for Navigator {
fn Bluetooth(&self) -> Root<Bluetooth> {
self.bluetooth.or_init(|| Bluetooth::new(self.global().r()))
}
+
+ // https://html.spec.whatwg.org/multipage/#navigatorlanguage
+ fn Language(&self) -> DOMString {
+ navigatorinfo::Language()
+ }
}
diff --git a/components/script/dom/navigatorinfo.rs b/components/script/dom/navigatorinfo.rs
index 1d86deb45ad..f27e46ed91b 100644
--- a/components/script/dom/navigatorinfo.rs
+++ b/components/script/dom/navigatorinfo.rs
@@ -43,3 +43,7 @@ pub fn UserAgent() -> DOMString {
pub fn AppVersion() -> DOMString {
DOMString::from("4.0")
}
+
+pub fn Language() -> DOMString {
+ DOMString::from("en-US")
+}
diff --git a/components/script/dom/webidls/Navigator.webidl b/components/script/dom/webidls/Navigator.webidl
index 8a7a9ef914e..c23415aa094 100644
--- a/components/script/dom/webidls/Navigator.webidl
+++ b/components/script/dom/webidls/Navigator.webidl
@@ -9,7 +9,7 @@ interface Navigator {
};
Navigator implements NavigatorID;
Navigator implements NavigatorBluetooth;
-//Navigator implements NavigatorLanguage;
+Navigator implements NavigatorLanguage;
//Navigator implements NavigatorOnLine;
//Navigator implements NavigatorContentUtils;
//Navigator implements NavigatorStorageUtils;
@@ -31,3 +31,10 @@ interface NavigatorID {
interface NavigatorBluetooth {
readonly attribute Bluetooth bluetooth;
};
+
+// https://html.spec.whatwg.org/multipage/#navigatorlanguage
+[NoInterfaceObject/*, Exposed=Window,Worker*/]
+interface NavigatorLanguage {
+ readonly attribute DOMString language;
+ //readonly attribute DOMString[] languages;
+};
diff --git a/components/script/dom/webidls/WorkerNavigator.webidl b/components/script/dom/webidls/WorkerNavigator.webidl
index ec62d556c4b..c44edbfe58a 100644
--- a/components/script/dom/webidls/WorkerNavigator.webidl
+++ b/components/script/dom/webidls/WorkerNavigator.webidl
@@ -7,5 +7,5 @@
//[Exposed=Worker]
interface WorkerNavigator {};
WorkerNavigator implements NavigatorID;
-//WorkerNavigator implements NavigatorLanguage;
+WorkerNavigator implements NavigatorLanguage;
//WorkerNavigator implements NavigatorOnLine;
diff --git a/components/script/dom/workernavigator.rs b/components/script/dom/workernavigator.rs
index 146c098d7d1..07bf443d33c 100644
--- a/components/script/dom/workernavigator.rs
+++ b/components/script/dom/workernavigator.rs
@@ -66,4 +66,9 @@ impl WorkerNavigatorMethods for WorkerNavigator {
fn AppVersion(&self) -> DOMString {
navigatorinfo::AppVersion()
}
+
+ // https://html.spec.whatwg.org/multipage/#navigatorlanguage
+ fn Language(&self) -> DOMString {
+ navigatorinfo::Language()
+ }
}
diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini
index 7969f4095d5..3f6344d9026 100644
--- a/tests/wpt/metadata/html/dom/interfaces.html.ini
+++ b/tests/wpt/metadata/html/dom/interfaces.html.ini
@@ -7131,9 +7131,6 @@
[EventTarget interface: calling dispatchEvent(Event) on window.applicationCache with too few arguments must throw TypeError]
expected: FAIL
- [Navigator interface: attribute language]
- expected: FAIL
-
[Navigator interface: attribute languages]
expected: FAIL
@@ -7173,9 +7170,6 @@
[Navigator interface: attribute javaEnabled]
expected: FAIL
- [Navigator interface: window.navigator must inherit property "language" with the proper type (7)]
- expected: FAIL
-
[Navigator interface: window.navigator must inherit property "languages" with the proper type (8)]
expected: FAIL
@@ -7554,9 +7548,6 @@
[SharedWorker interface: attribute onerror]
expected: FAIL
- [WorkerNavigator interface: attribute language]
- expected: FAIL
-
[WorkerNavigator interface: attribute languages]
expected: FAIL
diff --git a/tests/wpt/metadata/workers/interfaces.worker.js.ini b/tests/wpt/metadata/workers/interfaces.worker.js.ini
index ace10433f09..5f4d48ddaa5 100644
--- a/tests/wpt/metadata/workers/interfaces.worker.js.ini
+++ b/tests/wpt/metadata/workers/interfaces.worker.js.ini
@@ -36,9 +36,6 @@
[WorkerGlobalScope interface: self must inherit property "ononline" with the proper type (6)]
expected: FAIL
- [WorkerNavigator interface: attribute language]
- expected: FAIL
-
[WorkerNavigator interface: attribute languages]
expected: FAIL
@@ -60,9 +57,6 @@
[DedicatedWorkerGlobalScope interface: self must inherit property "onmessage" with the proper type (1)]
expected: FAIL
- [WorkerNavigator interface: self.navigator must inherit property "language" with the proper type (6)]
- expected: FAIL
-
[WorkerNavigator interface: self.navigator must inherit property "languages" with the proper type (7)]
expected: FAIL