From 8ef947722f940d20191d30d5ceda2421d523095e Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Thu, 22 Jun 2017 07:49:28 +0100 Subject: [PATCH] Fail gracefully on browsers without indexeddb If we don't have indexeddb at all, don't try to make an indexeddb crypto store. --- browser-index.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/browser-index.js b/browser-index.js index b6b8541a2..71b81f3ae 100644 --- a/browser-index.js +++ b/browser-index.js @@ -1,13 +1,16 @@ var matrixcs = require("./lib/matrix"); matrixcs.request(require("browser-request")); -matrixcs.setCryptoStoreFactory( - function() { - return new matrixcs.IndexedDBCryptoStore( - global.indexedDB, "matrix-js-sdk:crypto" - ); - } -); +// if our browser (appears to) support indexeddb, use an indexeddb crypto store. +if (global.indexedDB) { + matrixcs.setCryptoStoreFactory( + function() { + return new matrixcs.IndexedDBCryptoStore( + global.indexedDB, "matrix-js-sdk:crypto" + ); + } + ); +} module.exports = matrixcs; // keep export for browserify package deps global.matrixcs = matrixcs;