From 132724be2b87d0cb6c8754345dc5595787797bcd Mon Sep 17 00:00:00 2001 From: Paul Rouget Date: Wed, 9 Sep 2015 16:19:10 +0200 Subject: [PATCH] implement navigator.platform --- components/script/dom/navigatorinfo.rs | 13 ++++++++++++- tests/wpt/mozilla/meta/mozilla/navigator.html.ini | 12 ++++++++++++ tests/wpt/mozilla/tests/mozilla/navigator.html | 14 ++++++++++++-- 3 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 tests/wpt/mozilla/meta/mozilla/navigator.html.ini diff --git a/components/script/dom/navigatorinfo.rs b/components/script/dom/navigatorinfo.rs index a3857f29844..a4857c5ac39 100644 --- a/components/script/dom/navigatorinfo.rs +++ b/components/script/dom/navigatorinfo.rs @@ -22,8 +22,19 @@ pub fn AppCodeName() -> DOMString { "Mozilla".to_owned() } +#[cfg(target_os = "windows")] pub fn Platform() -> DOMString { - "".to_owned() + "Win32".to_owned() +} + +#[cfg(any(target_os = "android", target_os = "linux"))] +pub fn Platform() -> DOMString { + "Linux".to_owned() +} + +#[cfg(target_os = "macos")] +pub fn Platform() -> DOMString { + "Mac".to_owned() } pub fn UserAgent() -> DOMString { diff --git a/tests/wpt/mozilla/meta/mozilla/navigator.html.ini b/tests/wpt/mozilla/meta/mozilla/navigator.html.ini new file mode 100644 index 00000000000..ade9b581949 --- /dev/null +++ b/tests/wpt/mozilla/meta/mozilla/navigator.html.ini @@ -0,0 +1,12 @@ +[navigator.html] + type: testharness + + [navigator.platform linux] + expected: + if os != "linux": FAIL + PASS + + [navigator.platform mac] + expected: + if os != "mac": FAIL + PASS diff --git a/tests/wpt/mozilla/tests/mozilla/navigator.html b/tests/wpt/mozilla/tests/mozilla/navigator.html index 83f74b6e6cf..cb245d9d660 100644 --- a/tests/wpt/mozilla/tests/mozilla/navigator.html +++ b/tests/wpt/mozilla/tests/mozilla/navigator.html @@ -15,9 +15,19 @@ test(function() { assert_equals(nav.taintEnabled(), false); assert_equals(nav.appName, "Netscape"); assert_equals(nav.appCodeName, "Mozilla"); - assert_equals(nav.platform, ""); assert_equals(nav.appVersion, "4.0"); -}); +}, "navigator"); + + +test(function() { + assert_equals(navigator.platform, "Linux"); +}, "navigator.platform linux"); + +test(function() { + assert_equals(navigator.platform, "Mac"); +}, "navigator.platform mac"); + +