diff --git a/components/script/dom/navigator.rs b/components/script/dom/navigator.rs index 257e1d2dfab..0b96e355a2f 100644 --- a/components/script/dom/navigator.rs +++ b/components/script/dom/navigator.rs @@ -54,5 +54,9 @@ impl<'a> NavigatorMethods for JSRef<'a, Navigator> { fn UserAgent(self) -> DOMString { navigatorinfo::UserAgent() } + + fn AppVersion(self) -> DOMString { + navigatorinfo::AppVersion() + } } diff --git a/components/script/dom/navigatorinfo.rs b/components/script/dom/navigatorinfo.rs index 7dc94d85374..d4aec6999ab 100644 --- a/components/script/dom/navigatorinfo.rs +++ b/components/script/dom/navigatorinfo.rs @@ -33,3 +33,7 @@ pub fn UserAgent() -> DOMString { None => "".to_owned(), } } + +pub fn AppVersion() -> DOMString { + "4.0".to_owned() +} diff --git a/components/script/dom/webidls/Navigator.webidl b/components/script/dom/webidls/Navigator.webidl index 0ce509f4c04..67b5cf95018 100644 --- a/components/script/dom/webidls/Navigator.webidl +++ b/components/script/dom/webidls/Navigator.webidl @@ -19,7 +19,7 @@ Navigator implements NavigatorID; interface NavigatorID { readonly attribute DOMString appCodeName; // constant "Mozilla" readonly attribute DOMString appName; - //readonly attribute DOMString appVersion; + readonly attribute DOMString appVersion; readonly attribute DOMString platform; readonly attribute DOMString product; // constant "Gecko" boolean taintEnabled(); // constant false diff --git a/components/script/dom/workernavigator.rs b/components/script/dom/workernavigator.rs index 40c74e78b38..ea446f986cb 100644 --- a/components/script/dom/workernavigator.rs +++ b/components/script/dom/workernavigator.rs @@ -55,5 +55,9 @@ impl<'a> WorkerNavigatorMethods for JSRef<'a, WorkerNavigator> { fn UserAgent(self) -> DOMString { navigatorinfo::UserAgent() } + + fn AppVersion(self) -> DOMString { + navigatorinfo::AppVersion() + } } diff --git a/tests/content/test_navigator.html b/tests/content/test_navigator.html index 0b8b048bb2e..72cd17ab8f1 100644 --- a/tests/content/test_navigator.html +++ b/tests/content/test_navigator.html @@ -14,6 +14,7 @@ is(nav.taintEnabled(), false); is(nav.appName, "Netscape"); is(nav.appCodeName, "Mozilla"); is(nav.platform, ""); +is(nav.appVersion, "4.0"); diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini index d1d1be10cf3..3102ed874ba 100644 --- a/tests/wpt/metadata/html/dom/interfaces.html.ini +++ b/tests/wpt/metadata/html/dom/interfaces.html.ini @@ -8637,9 +8637,6 @@ [Navigator interface object length] expected: FAIL - [Navigator interface: attribute appVersion] - expected: FAIL - [Navigator interface: attribute language] expected: FAIL @@ -8682,9 +8679,6 @@ [Navigator interface: attribute javaEnabled] expected: FAIL - [Navigator interface: window.navigator must inherit property "appVersion" with the proper type (2)] - expected: FAIL - [Navigator interface: window.navigator must inherit property "language" with the proper type (7)] expected: FAIL @@ -9231,9 +9225,6 @@ [WorkerNavigator interface object length] expected: FAIL - [WorkerNavigator interface: attribute appVersion] - expected: FAIL - [WorkerNavigator interface: attribute language] expected: FAIL diff --git a/tests/wpt/metadata/workers/interfaces.worker.js.ini b/tests/wpt/metadata/workers/interfaces.worker.js.ini index 03f07afd004..97bda445b76 100644 --- a/tests/wpt/metadata/workers/interfaces.worker.js.ini +++ b/tests/wpt/metadata/workers/interfaces.worker.js.ini @@ -81,9 +81,6 @@ [WorkerNavigator interface object length] expected: FAIL - [WorkerNavigator interface: attribute appVersion] - expected: FAIL - [WorkerNavigator interface: attribute language] expected: FAIL @@ -93,9 +90,6 @@ [WorkerNavigator interface: attribute onLine] expected: FAIL - [WorkerNavigator interface: self.navigator must inherit property "appVersion" with the proper type (2)] - expected: FAIL - [WorkerNavigator interface: self.navigator must inherit property "language" with the proper type (7)] expected: FAIL