public JavaScriptRuntime(JavaScriptRuntimeSettings settings = null) { if (settings == null) { settings = new JavaScriptRuntimeSettings(); } childEngines_ = new List <WeakReference <JavaScriptEngine> >(); settings_ = settings; var attrs = settings.GetRuntimeAttributes(); var errorCode = api_.JsCreateRuntime(attrs, IntPtr.Zero, out handle_); if (errorCode != JsErrorCode.JsNoError) { Errors.ThrowFor(errorCode); } settings.Used = true; GCHandle handle = GCHandle.Alloc(this, GCHandleType.Weak); errorCode = api_.JsSetRuntimeMemoryAllocationCallback(handle_, GCHandle.ToIntPtr(handle), MemoryCallbackThunkPtr); if (errorCode != JsErrorCode.JsNoError) { Errors.ThrowFor(errorCode); } }
private void Eval_Click(object sender, RoutedEventArgs e) { var settings = new JavaScriptRuntimeSettings(); var runtime = new JavaScriptRuntime(settings); var engine = runtime.CreateEngine(); var result = engine.Execute(new Microsoft.Scripting.ScriptSource("[eval code]", input.Text)); output.Text = result.ToString(); }
public JavaScriptRuntime(JavaScriptRuntimeSettings settings = null) { if (settings == null) settings = new JavaScriptRuntimeSettings(); settings_ = settings; var attrs = settings.GetRuntimeAttributes(); var errorCode = api_.JsCreateRuntime(attrs, IntPtr.Zero, out handle_); if (errorCode != JsErrorCode.JsNoError) Errors.ThrowFor(errorCode); settings.Used = true; GCHandle handle = GCHandle.Alloc(this, GCHandleType.Weak); errorCode = api_.JsSetRuntimeMemoryAllocationCallback(handle_, GCHandle.ToIntPtr(handle), MemoryCallbackThunkPtr); if (errorCode != JsErrorCode.JsNoError) Errors.ThrowFor(errorCode); }
public void Setup() { var settings = new JavaScriptRuntimeSettings(); runtime_ = new JavaScriptRuntime(settings); engine_ = runtime_.CreateEngine(); }
public override void Setup() { var settings = new JavaScriptRuntimeSettings() { AllowScriptInterrupt = true, }; runtime_ = new JavaScriptRuntime(settings); engine_ = runtime_.CreateEngine(); }
public override void Setup() { var settings = new JavaScriptRuntimeSettings() { EnableIdleProcessing = true, }; runtime_ = new JavaScriptRuntime(settings); engine_ = runtime_.CreateEngine(); }