From cdf191336aa616a206b977ba3beeb1233cf41c32 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sun, 28 Jun 2020 12:38:34 -0400 Subject: Clone function (#624) * Add clone function * Replace utilIsolate with clone * Replace JsonSchema.isolate with clone function * Include core.js for tests which use json-schema.js * Update visisted set --- ext/bg/js/util.js | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) (limited to 'ext/bg/js/util.js') diff --git a/ext/bg/js/util.js b/ext/bg/js/util.js index edc19c6e..fa31b0d8 100644 --- a/ext/bg/js/util.js +++ b/ext/bg/js/util.js @@ -15,26 +15,10 @@ * along with this program. If not, see . */ -function utilIsolate(value) { - if (value === null) { return null; } - - switch (typeof value) { - case 'boolean': - case 'number': - case 'string': - case 'bigint': - case 'symbol': - return value; - } - - const stringValue = JSON.stringify(value); - return typeof stringValue === 'string' ? JSON.parse(stringValue) : null; -} - function utilFunctionIsolate(func) { return function isolatedFunction(...args) { try { - args = args.map((v) => utilIsolate(v)); + args = args.map((v) => clone(v)); return func.call(this, ...args); } catch (e) { try { @@ -50,7 +34,7 @@ function utilFunctionIsolate(func) { function utilBackgroundIsolate(data) { const backgroundPage = chrome.extension.getBackgroundPage(); - return backgroundPage.utilIsolate(data); + return backgroundPage.clone(data); } function utilBackgroundFunctionIsolate(func) { -- cgit v1.2.3