From 37219a6a499a3c585db0f877245226339988c2a2 Mon Sep 17 00:00:00 2001 From: Cesare Rocchi Date: Thu, 25 Jan 2018 09:44:53 +0100 Subject: [PATCH 1/4] Fix IE10 crypto --- browser/lib/util/crypto.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/lib/util/crypto.js b/browser/lib/util/crypto.js index 06decb4648..e0f4d5f9da 100644 --- a/browser/lib/util/crypto.js +++ b/browser/lib/util/crypto.js @@ -14,7 +14,7 @@ var Crypto = (function() { * @param callback */ var generateRandom; - if(typeof Uint32Array !== 'undefined' && Platform.getRandomValues) { + if(typeof Uint32Array !== 'undefined' && Platform.getRandomValues && window.crypto) { var blockRandomArray = new Uint32Array(DEFAULT_BLOCKLENGTH_WORDS); generateRandom = function(bytes, callback) { var words = bytes / 4, nativeArray = (words == DEFAULT_BLOCKLENGTH_WORDS) ? blockRandomArray : new Uint32Array(words); From 898efa87a6f6d089b81a9dc92f551550f854725f Mon Sep 17 00:00:00 2001 From: Cesare Rocchi Date: Thu, 25 Jan 2018 11:22:15 +0100 Subject: [PATCH 2/4] Make IE 8 and 9 happy about catch --- spec/common/modules/testapp_manager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/common/modules/testapp_manager.js b/spec/common/modules/testapp_manager.js index 591fe3add9..50cf01d20a 100644 --- a/spec/common/modules/testapp_manager.js +++ b/spec/common/modules/testapp_manager.js @@ -76,7 +76,7 @@ define(['globals', 'browser-base64', 'ably'], function(ablyGlobals, base64, ably }).then(function (results) { callback(null, results.content.toString()); }) - .catch(function(err) { + ['catch'](function(err) { callback(err); }); }; From 211a9a9a24e22d46c80401f20d359f2633cbfe9e Mon Sep 17 00:00:00 2001 From: Cesare Rocchi Date: Thu, 25 Jan 2018 12:39:09 +0100 Subject: [PATCH 3/4] Improve readability of catch clause --- spec/common/modules/testapp_manager.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spec/common/modules/testapp_manager.js b/spec/common/modules/testapp_manager.js index 50cf01d20a..ae0240cbb6 100644 --- a/spec/common/modules/testapp_manager.js +++ b/spec/common/modules/testapp_manager.js @@ -75,8 +75,7 @@ define(['globals', 'browser-base64', 'ably'], function(ablyGlobals, base64, ably content: options.body }).then(function (results) { callback(null, results.content.toString()); - }) - ['catch'](function(err) { + })['catch'](function(err) { callback(err); }); }; From 8f5633351164982595df08bff2db697e2bd79d1c Mon Sep 17 00:00:00 2001 From: Cesare Rocchi Date: Thu, 25 Jan 2018 14:44:01 +0100 Subject: [PATCH 4/4] Move check for window.crypto into Platform --- browser/fragments/platform-browser.js | 4 +++- browser/lib/util/crypto.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/browser/fragments/platform-browser.js b/browser/fragments/platform-browser.js index fa7ccdd679..0b4695a528 100644 --- a/browser/fragments/platform-browser.js +++ b/browser/fragments/platform-browser.js @@ -21,10 +21,12 @@ var Platform = { addEventListener: window.addEventListener, inspect: JSON.stringify, getRandomValues: (function(crypto) { + if (crypto === undefined) { + return undefined; + } return function(arr, callback) { crypto.getRandomValues(arr); callback(null); }; })(window.crypto || window.msCrypto) // mscrypto for IE11 }; - diff --git a/browser/lib/util/crypto.js b/browser/lib/util/crypto.js index e0f4d5f9da..06decb4648 100644 --- a/browser/lib/util/crypto.js +++ b/browser/lib/util/crypto.js @@ -14,7 +14,7 @@ var Crypto = (function() { * @param callback */ var generateRandom; - if(typeof Uint32Array !== 'undefined' && Platform.getRandomValues && window.crypto) { + if(typeof Uint32Array !== 'undefined' && Platform.getRandomValues) { var blockRandomArray = new Uint32Array(DEFAULT_BLOCKLENGTH_WORDS); generateRandom = function(bytes, callback) { var words = bytes / 4, nativeArray = (words == DEFAULT_BLOCKLENGTH_WORDS) ? blockRandomArray : new Uint32Array(words);