Esempio n. 1
0
 /// <summary>
 /// Injects the supplied javascript message handler into the view.
 /// </summary>
 /// <param name="name"> The message callback</param>
 /// <param name="handler">The name used to expose the object in JavaScript</param>
 /// <returns>'true' on success, otherwise 'false'</returns>
 /// <since_tizen> 4 </since_tizen>
 public bool AddJavaScriptMessageHandler(string name, JavaScriptMessageHandler handler)
 {
     lock (_javaScriptMessageHandlerMap)
     {
         if (_javaScriptMessageHandlerMap.ContainsKey(name))
         {
             return(false);
         }
         _javaScriptMessageHandlerMap[name] = handler;
     }
     Interop.ChromiumEwk.ScriptMessageCallback callback = (handle, message) =>
     {
         JavaScriptMessage convertedMessage = new JavaScriptMessage(message);
         lock (_javaScriptMessageHandlerMap)
         {
             if (_javaScriptMessageHandlerMap.ContainsKey(convertedMessage.Name))
             {
                 _javaScriptMessageHandlerMap[convertedMessage.Name](convertedMessage);
             }
         }
     };
     if (!Interop.ChromiumEwk.ewk_view_javascript_message_handler_add(_realHandle, callback, name))
     {
         lock (_javaScriptMessageHandlerMap)
         {
             _javaScriptMessageHandlerMap.Remove(name);
             return(false);
         }
     }
     return(true);
 }
Esempio n. 2
0
 public void AddJavaScriptMessageHandler(string objectName, JavaScriptMessageHandler handler)
 {
     System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(handler);
     NDalicPINVOKE.WebView_AddJavaScriptMessageHandler(swigCPtr, objectName, new System.Runtime.InteropServices.HandleRef(this, ip));
     if (NDalicPINVOKE.SWIGPendingException.Pending)
     {
         throw NDalicPINVOKE.SWIGPendingException.Retrieve();
     }
 }
Esempio n. 3
0
        public void AddJavaScriptMessageHandler(string objectName, JavaScriptMessageHandler handler)
        {
            if (handlerRootMap.ContainsKey(objectName))
            {
                return;
            }

            handlerRootMap.Add(objectName, handler);

            System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(handler);
            Interop.WebView.AddJavaScriptMessageHandler(SwigCPtr, objectName, new System.Runtime.InteropServices.HandleRef(this, ip));

            if (NDalicPINVOKE.SWIGPendingException.Pending)
            {
                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
            }
        }