From e966cd104110a980f343b794d85ac1b3afb2449e Mon Sep 17 00:00:00 2001 From: Chester Wood Date: Wed, 25 Nov 2015 12:43:39 -0800 Subject: [PATCH] Set navigator.product to ReactNative Summary: Fix for [Issue 1331](https://github.com/facebook/react-native/issues/1331). Sets navigator.product to ReactNative and navigator.productSub to the version string in package.json. Note that the code requires package.json, which works fine in the RN packager, but webpack users will probably a need to configure a json loader in their config file. Tested using UIExplorer and console.log printout of the product variables in xcode and Chrome debugger. Closes https://github.com/facebook/react-native/pull/4083 Reviewed By: svcscm Differential Revision: D2696881 Pulled By: vjeux fb-gh-sync-id: 511446432dcd0ec658100715129c77153e743423 --- .../Initialization/InitializeJavaScriptAppEngine.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Libraries/JavaScriptAppEngine/Initialization/InitializeJavaScriptAppEngine.js b/Libraries/JavaScriptAppEngine/Initialization/InitializeJavaScriptAppEngine.js index ec13c1615..9c2b7f584 100644 --- a/Libraries/JavaScriptAppEngine/Initialization/InitializeJavaScriptAppEngine.js +++ b/Libraries/JavaScriptAppEngine/Initialization/InitializeJavaScriptAppEngine.js @@ -154,6 +154,11 @@ function setUpGeolocation() { polyfillGlobal('geolocation', require('Geolocation'), GLOBAL.navigator); } +function setUpProduct() { + Object.defineProperty(GLOBAL.navigator, 'product', {value: 'ReactNative'}); +} + + function setUpWebSockets() { polyfillGlobal('WebSocket', require('WebSocket')); } @@ -197,6 +202,7 @@ setUpPromise(); setUpErrorHandler(); setUpXHR(); setUpGeolocation(); +setUpProduct(); setUpWebSockets(); setUpProfile(); setUpFlowChecker();