Fri, 16 Jan 2015 18:13:44 +0100
Integrate suggestion from review to improve consistency with existing code.
michael@0 | 1 | /** |
michael@0 | 2 | * Any copyright is dedicated to the Public Domain. |
michael@0 | 3 | * http://creativecommons.org/publicdomain/zero/1.0/ |
michael@0 | 4 | */ |
michael@0 | 5 | var supportedProps = [ |
michael@0 | 6 | "appCodeName", |
michael@0 | 7 | "appName", |
michael@0 | 8 | "appVersion", |
michael@0 | 9 | "platform", |
michael@0 | 10 | "product", |
michael@0 | 11 | "taintEnabled", |
michael@0 | 12 | "userAgent", |
michael@0 | 13 | "onLine" |
michael@0 | 14 | ]; |
michael@0 | 15 | |
michael@0 | 16 | for (var prop in navigator) { |
michael@0 | 17 | // Make sure the list is current! |
michael@0 | 18 | if (supportedProps.indexOf(prop) == -1) { |
michael@0 | 19 | throw "Navigator has the '" + prop + "' property that isn't in the list!"; |
michael@0 | 20 | } |
michael@0 | 21 | } |
michael@0 | 22 | |
michael@0 | 23 | var obj; |
michael@0 | 24 | |
michael@0 | 25 | for (var index = 0; index < supportedProps.length; index++) { |
michael@0 | 26 | var prop = supportedProps[index]; |
michael@0 | 27 | |
michael@0 | 28 | if (typeof navigator[prop] == "undefined") { |
michael@0 | 29 | throw "Navigator has no '" + prop + "' property!"; |
michael@0 | 30 | } |
michael@0 | 31 | |
michael@0 | 32 | obj = { |
michael@0 | 33 | name: prop, |
michael@0 | 34 | value: prop === "taintEnabled" ? navigator[prop]() : navigator[prop] |
michael@0 | 35 | }; |
michael@0 | 36 | |
michael@0 | 37 | postMessage(JSON.stringify(obj)); |
michael@0 | 38 | } |
michael@0 | 39 | |
michael@0 | 40 | obj = { |
michael@0 | 41 | name: "testFinished" |
michael@0 | 42 | }; |
michael@0 | 43 | |
michael@0 | 44 | postMessage(JSON.stringify(obj)); |