private RenderCallInfo AddRemoteCallback(PluginMessage pluginMessage, IV8Callback callback) { var info = new RenderCallInfo(pluginMessage, callback); _pendingCallbacks.Add(info); return(info); }
/// <summary> /// Called by <see cref="OnBrowserCallbackInvokeReceived(PluginMessage,ResultData)"/> /// to invoke a V8 callback. /// </summary> /// <param name="context"></param> /// <param name="info"></param> /// <param name="result"></param> private void InvokeV8Callback(CefV8Context context, RenderCallInfo info, ResultData result) { try { if (context != null && info.Callback != null) { info.Callback.Invoke(this, context, result, result.ErrorCode, result.Error); } if (!info.IsRetained) { info.Dispose(); } } catch (Exception exception) { Logger.Error("InvokeV8Callback Failed: {0}", exception); } }