diff options
-rw-r--r-- | components/script/dom/navigator.rs | 5 | ||||
-rw-r--r-- | components/script/dom/navigatorinfo.rs | 4 | ||||
-rw-r--r-- | components/script/dom/webidls/Navigator.webidl | 9 | ||||
-rw-r--r-- | components/script/dom/webidls/WorkerNavigator.webidl | 2 | ||||
-rw-r--r-- | components/script/dom/workernavigator.rs | 5 | ||||
-rw-r--r-- | tests/wpt/metadata/html/dom/interfaces.html.ini | 9 | ||||
-rw-r--r-- | tests/wpt/metadata/workers/interfaces.worker.js.ini | 6 |
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 |