public InternalHandle executeJavaScript(V8Engine engine, bool isConstructCall, InternalHandle _this, InternalHandle[] args)
        {
            try
            {
                if (args.Length >= 1)
                {
                    var code = args[0].AsString;
                    var url  = (args.Length >= 2 ? args[1].AsString : "");
                    var line = (args.Length >= 3 ? args[2].AsInt32 : 0);

                    if (!string.IsNullOrEmpty(code))
                    {
                        var _context = CefV8Context.GetCurrentContext();
                        if (_context != null)
                        {
                            var _browser = _context.GetBrowser();
                            if (_browser != null)
                            {
                                var _frame = _browser.GetMainFrame();
                                if (_frame != null)
                                {
                                    _frame.ExecuteJavaScript(code, url, line);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Trace(ex.Message, ex.StackTrace, configuration.Verbose);
            }

            return(Engine.CreateNullValue());
        }
        protected override bool Execute(string name, CefV8Value obj, CefV8Value[] arguments, out CefV8Value returnValue, out string exception)
        {
            exception   = null;
            returnValue = null;

            switch (name)
            {
            case "sendMessage":
                string inputArg_Name  = arguments[0].GetStringValue();
                string inputArg_Value = arguments[1].GetStringValue();

                if (inputArg_Name == "Send Message To Browser")
                {
                    CefProcessMessage processMessage = CefProcessMessage.Create(inputArg_Name);
                    CefListValue      listValue      = processMessage.Arguments;
                    listValue.SetString(0, inputArg_Name);

                    CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, processMessage);
                }

                break;

            default:
                returnValue = null;
                break;
            }

            return(true);
        }
Example #3
0
        protected override bool Execute(string name, CefV8Value obj, CefV8Value[] arguments, out CefV8Value returnValue, out string exception)
        {
            var message = CefProcessMessage.Create("TestDone");

            if (name == "success")
            {
                message.Arguments.SetBool(0, true);
            }
            else if (name == "fail")
            {
                message.Arguments.SetBool(0, false);
                if (arguments.Length == 1 && arguments[0].IsString)
                {
                    message.Arguments.SetString(1, arguments[0].GetStringValue());
                }
                else
                {
                    message.Arguments.SetString(1, "");
                }
            }
            CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);

            returnValue = null;
            exception   = null;
            return(true);
        }
        protected override bool Execute(string name, CefV8Value obj, CefV8Value[] arguments, out CefV8Value returnValue, out string exception)
        {
            returnValue = CefV8Value.CreateNull();
            exception   = null;

            try
            {
                var context = CefV8Context.GetCurrentContext();
                var browser = context.GetBrowser();
                var frame   = browser.GetMainFrame();

                if (name == "log" && arguments.Length > 0)
                {
                    var message = arguments[0].GetStringValue();
                    if (!string.IsNullOrEmpty(message))
                    {
                        Log.Trace(message.ToString(), true);
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                returnValue = CefV8Value.CreateNull();
                exception   = ex.Message;
                return(true);
            }
        }
Example #5
0
        private void JavascriptFunctionLoadInternalScript(CefV8Value obj, CefV8Value[] arguments, out CefV8Value returnValue)
        {
            if (arguments == null)
            {
                throw new ArgumentNullException("arguments");
            }

            if (arguments.Length < 1 || !arguments[0].IsString)
            {
                throw new ArgumentException("Invalid arguments.", "arguments");
            }

            returnValue = null;

            var scriptName = "Scripts/" + arguments[0].GetStringValue();

            if (!ResourceUtility.ResourceExists(scriptName))
            {
                throw new InvalidOperationException(string.Format("Script '{0}' not found.", scriptName));
            }

            CefV8Value     evalReturnValue = null;
            CefV8Exception evalException   = null;

            string script  = ResourceUtility.GetResourceAsString(scriptName);
            var    context = CefV8Context.GetCurrentContext();

            if (!context.TryEval(script, out evalReturnValue, out evalException))
            {
                throw new InvalidOperationException(string.Format("Javascript exception: {0}.", JsonConvert.SerializeObject(evalException)));
            }
        }
Example #6
0
        protected override bool Execute(string name, CefV8Value obj, CefV8Value[] arguments, out CefV8Value returnValue, out string exception)
        {
            exception   = null;
            returnValue = null;

            switch (name)
            {
            //  打开火车机械采样机监控界面
            case "OpenTrainMachinerySampler":
                //CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTrainMachinerySampler"));
                break;

            //  打开汽车入厂重车衡监控
            case "OpenTruckWeighter":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTruckWeighter"));
                break;

            //  打开汽车机械采样机监控
            case "OpenTruckMachinerySampler":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTruckMachinerySampler"));
                break;

            //  打开化验室监控
            case "OpenAssayManage":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenAssayManage"));
                break;

            default:
                returnValue = null;
                break;
            }

            return(true);
        }
Example #7
0
        protected override bool Execute(string name, CefV8Value obj, CefV8Value[] arguments, out CefV8Value returnValue, out string exception)
        {
            exception   = null;
            returnValue = null;

            switch (name)
            {
            // 打开皮带采样机监控界面
            case "OpenTrainBeltSampler":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTrainBeltSampler"));
                break;

            //  打开火车机械采样机监控界面
            case "OpenTrainMachinerySampler":
                //CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTrainMachinerySampler"));
                break;

            // 打开全自动制样机监控
            case "OpenAutoMaker":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenAutoMaker"));
                break;

            //  打开火车入厂翻车机监控
            case "OpenTrainTipper":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTrainTipper"));
                break;

            //  打开火车入厂记录查询
            case "OpenWeightBridgeLoadToday":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenWeightBridgeLoadToday"));
                break;

            //  打开汽车入厂重车衡监控
            case "OpenTruckWeighter":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTruckWeighter"));
                break;

            //  打开汽车机械采样机监控
            case "OpenTruckMachinerySampler":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTruckMachinerySampler"));
                break;

            //  打开智能存样柜与气动传输监控
            case "OpenAutoCupboardPneumaticTransfer":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenAutoCupboardPneumaticTransfer"));
                break;

            //  打开化验室监控
            case "OpenAssayManage":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenAssayManage"));
                break;

            default:
                returnValue = null;
                break;
            }

            return(true);
        }
 public void ChangeFilterTheme(string theme)
 {
     using (CefProcessMessage message = CefProcessMessage.Create(nameof(ChangeFilterTheme)))
     {
         message.Arguments.SetString(0, theme);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void SetMicVolume(string level)
 {
     using (CefProcessMessage message = CefProcessMessage.Create(nameof(SetMicVolume)))
     {
         message.Arguments.SetString(0, level);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void CloseFilterWindow(string jsonArray)
 {
     using (CefProcessMessage message = CefProcessMessage.Create(nameof(CloseFilterWindow)))
     {
         message.Arguments.SetString(0, jsonArray);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void StartObs(string callbackFunction)
 {
     using (CefProcessMessage message = CefProcessMessage.Create(nameof(StartObs)))
     {
         message.Arguments.SetString(0, callbackFunction);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void google_search(string searchString)
 {
     using (CefProcessMessage message = CefProcessMessage.Create("GoogleSearch"))
     {
         message.Arguments.SetString(0, searchString);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void offlinehtmlhomeurl(string url)
 {
     using (CefProcessMessage message = CefProcessMessage.Create("OfflineHtmlHomeUrl"))
     {
         message.Arguments.SetString(0, url);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void applyTheme(string themeName)
 {
     using (CefProcessMessage message = CefProcessMessage.Create("ApplyThemeName"))
     {
         message.Arguments.SetString(0, themeName);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void HandleClick(string json)
 {
     using (CefProcessMessage message = CefProcessMessage.Create(nameof(HandleClick)))
     {
         message.Arguments.SetString(0, json);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
Example #16
0
        public Callback(ICefV8Value function, PromiseService promiseService, ObjectSerializer v8Serializer)
        {
            this.function       = function;
            this.promiseService = promiseService;
            this.v8Serializer   = v8Serializer;

            context = CefV8Context.GetCurrentContext();
        }
 public void LaunchDialog(string jsonString)
 {
     using (CefProcessMessage message = CefProcessMessage.Create(nameof(LaunchDialog)))
     {
         message.Arguments.SetString(0, jsonString);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void UpdateQuestRules(string json)
 {
     using (CefProcessMessage message = CefProcessMessage.Create(nameof(UpdateQuestRules)))
     {
         message.Arguments.SetString(0, json);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void closeOnBoarding(string json)
 {
     Logger.Info("Got call from browser of closeOnBoarding");
     using (CefProcessMessage message = CefProcessMessage.Create("CloseOnBoarding"))
     {
         message.Arguments.SetString(0, json);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void changeControlScheme(string schemeSelected)
 {
     Logger.Info("Got call from browser of changeControlScheme");
     using (CefProcessMessage message = CefProcessMessage.Create("ChangeControlScheme"))
     {
         message.Arguments.SetString(0, schemeSelected);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void downloadMacro(string macroData)
 {
     Logger.Info("Got call from browser of downloadmacro");
     using (CefProcessMessage message = CefProcessMessage.Create("DownloadMacro"))
     {
         message.Arguments.SetString(0, macroData);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void setwebappversion(string version)
 {
     Logger.Info("Got call from browser to setWebAppVersion: " + version);
     using (CefProcessMessage message = CefProcessMessage.Create("SetWebAppVersion"))
     {
         message.Arguments.SetString(0, version);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void checkifpremium(string isPremium)
 {
     Logger.Info("Got call from blocker ad browser of premium subscription");
     using (CefProcessMessage message = CefProcessMessage.Create("CheckIfPremium"))
     {
         message.Arguments.SetString(0, isPremium);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void retryapkinstall(string apkFilePath)
 {
     Logger.Info("Get Call from browser of RetryApkInstall :" + apkFilePath);
     using (CefProcessMessage message = CefProcessMessage.Create("RetryApkInstall"))
     {
         message.Arguments.SetString(0, apkFilePath);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void getSystemInfo()
 {
     Logger.Info("Got call from browser of getSystemInfo");
     using (CefProcessMessage message = CefProcessMessage.Create("GetSystemInfo"))
     {
         message.Arguments.SetString(0, this.mCallBackFunction);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void showdetails(string url)
 {
     using (CefBrowser browser = CefV8Context.GetCurrentContext().GetBrowser())
     {
         CefProcessMessage message = CefProcessMessage.Create(url);
         browser.SendProcessMessage(CefProcessId.Browser, message);
         message.Dispose();
     }
 }
 public void pikaworldprofileadded(string profileId)
 {
     Logger.Debug("Got call for PikaWorldProfileAdded");
     using (CefProcessMessage message = CefProcessMessage.Create("PikaWorldProfileAdded"))
     {
         message.Arguments.SetString(0, profileId);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void UnsubscribeToClientTags(string json)
 {
     Logger.Info("Unsubscribe to client tags");
     using (CefProcessMessage message = CefProcessMessage.Create("unsubscribeClientTags"))
     {
         message.Arguments.SetString(0, json);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public static void StartRecordV2(string jsonString)
 {
     Logger.Info("Got StartRecordV2");
     using (CefProcessMessage message = CefProcessMessage.Create(nameof(StartRecordV2)))
     {
         message.Arguments.SetString(0, jsonString);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }
 public void uninstallapp(string packageName)
 {
     Logger.Info("Get Call from browser of Uninstall App for packagename :" + packageName);
     using (CefProcessMessage message = CefProcessMessage.Create("UninstallApp"))
     {
         message.Arguments.SetString(0, packageName);
         CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
     }
 }