private void InjectBackend(IWebView current)
        {
            var loader = GetResourceReader("DebugTools.Window.dist");
            var data   = loader.Load("backend.js");

            data = ";window.__neutronium_listener__.post('dev:injectDone');" + data;
            current.ExecuteJavaScript(data);
        }
Exemplo n.º 2
0
 private static Action <string, string> GetDispatchAction(IWebView target, Func <string, string, string> codeBuilder)
 {
     return((channel, message) =>
     {
         var transformed = JavascriptNamer.GetCreateExpression(message);
         target.ExecuteJavaScript(codeBuilder($"'{channel}'", transformed));
     });
 }
Exemplo n.º 3
0
 private static Action <string, string> GetDispatchAction(IWebView target, Func <string, string, string> codeBuilder)
 {
     return((channel, message) =>
     {
         var transformed = message.Replace(@"\", @"\\");
         target.ExecuteJavaScript(codeBuilder($"'{channel}'", $"'{transformed}'"));
     });
 }
Exemplo n.º 4
0
        public WebViewListener(IWebView webView)
        {
            _WebView = webView;

            _Listener = _WebView.Factory.CreateObject(false);
            _Listener.Bind("postMessage", _WebView, (e) => PostMessage(e[0].GetStringValue(), e[1].GetStringValue()));
            _WebView.GetGlobal().SetValue("__neutronium_listener__", _Listener, CreationOption.DontDelete | CreationOption.ReadOnly | CreationOption.DontEnum);

            var loader = new ResourceReader("Communication.script.dist", this);
            var data   = loader.Load("communication.js");

            _WebView.ExecuteJavaScript(data);
        }