diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/utils/JavaScript.java b/extractor/src/main/java/org/schabi/newpipe/extractor/utils/JavaScript.java index ab30ed806..4522b51a4 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/utils/JavaScript.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/utils/JavaScript.java @@ -10,31 +10,25 @@ public final class JavaScript { } public static void compileOrThrow(final String function) { - try { - final Context context = Context.enter(); - context.setOptimizationLevel(-1); + try (Context context = Context.enter()) { + context.setInterpretedMode(true); // If it doesn't compile it throws an exception here context.compileString(function, null, 1, null); - } finally { - Context.exit(); } } public static String run(final String function, final String functionName, final String... parameters) { - try { - final Context context = Context.enter(); - context.setOptimizationLevel(-1); + try (Context context = Context.enter()) { + context.setInterpretedMode(true); final ScriptableObject scope = context.initSafeStandardObjects(); context.evaluateString(scope, function, functionName, 1, null); final Function jsFunction = (Function) scope.get(functionName, scope); final Object result = jsFunction.call(context, scope, scope, parameters); return result.toString(); - } finally { - Context.exit(); } }