private void Browser_LoadingStateChange(object sender, LoadingStateChangeEventArgs e)
 {
     this.Dispatcher.Invoke((Delegate)(() =>
     {
         try
         {
             string url = this.getURL();
             if (string.IsNullOrEmpty(url))
             {
                 return;
             }
             string packageName = url.Substring(url.LastIndexOf("=", StringComparison.InvariantCulture) + 1);
             if (!url.Contains("play.google.com"))
             {
                 return;
             }
             this.ParentWindow.mAppHandler.LaunchPlayRequestAsync(packageName);
         }
         catch (Exception ex)
         {
         }
     }));
     if (e.IsLoading)
     {
         return;
     }
     try
     {
         this.SetZoomLevel(this.zoomLevel);
     }
     catch (Exception ex)
     {
         Logger.Error("Error while setting zoom in browser with url {0} and error :{1}", (object)this.url, (object)ex.ToString());
     }
 }
Example #2
0
 //#if DEBUG
 //        bool isShowDevTools;
 //#endif
 private async void WebView_LoadingStateChange(object?sender, LoadingStateChangeEventArgs e)
 {
     //#if DEBUG
     //            if (!isShowDevTools)
     //            {
     //                webView.ShowDevTools();
     //                isShowDevTools = true;
     //            }
     //#endif
     if (DataContext is WebView3WindowViewModel vm)
     {
         if (!isFirstWebViewLoading)
         {
             isFirstWebViewLoading = true;
             if (!string.IsNullOrWhiteSpace(vm.TimeoutErrorMessage))
             {
                 FirstWebViewLoadingTimeoutInspect(vm);
             }
         }
         if (!e.Busy)
         {
             var mainFrame = webView.Browser.GetMainFrame();
             if (mainFrame != null)
             {
                 var mainFrameSource = await mainFrame.GetSourceAsync(default);
 internal void OnLoadingStateChange(bool isLoading, bool canGoBack, bool canGoForward)
 {
     if (this.LoadingStateChange != null)
     {
         var e = new LoadingStateChangeEventArgs(isLoading, canGoBack, canGoForward);
         this.LoadingStateChange(this, e);
     }
 }
Example #4
0
 private void WebView_LoadingStateChange(object?sender, LoadingStateChangeEventArgs e)
 {
     if (!e.Busy)
     {
         if (Browser.Opacity != 1)
         {
             Browser.Opacity = 1;
         }
         if (webViewLoading.IsVisible)
         {
             webViewLoading.IsVisible = false;
         }
     }
 }
Example #5
0
 public virtual void OnLoadingStateChange(LoadingStateChangeEventArgs eventArgs)
 {
     this.LoadingStateChange?.Invoke(this, eventArgs);
 }
 void IChromiumWebViewPrivate.RaiseLoadingStateChange(LoadingStateChangeEventArgs e)
 {
     RaiseCrossThreadEvent(OnLoadingStateChange, e, false);
 }
Example #7
0
        //#if DEBUG
        //        bool isShowDevTools;
        //#endif
        private async void WebView_LoadingStateChange(object?sender, LoadingStateChangeEventArgs e)
        {
            //#if DEBUG
            //            if (!isShowDevTools)
            //            {
            //                webView.ShowDevTools();
            //                isShowDevTools = true;
            //            }
            //#endif
            if (DataContext is WebView3WindowViewModel vm)
            {
                if (!isFirstWebViewLoading)
                {
                    isFirstWebViewLoading = true;
                    if (!string.IsNullOrWhiteSpace(vm.TimeoutErrorMessage))
                    {
                        FirstWebViewLoadingTimeoutInspect(vm);
                    }
                }
                if (!e.Busy)
                {
                    if (loginUsingSteamClientState == LoginUsingSteamClientState.Loading)
                    {
                        var frame = webView.GetMainFrame();
                        if (frame == null)
                        {
                            LoginUsingSteamClientFinishNavigate(vm);
                        }
                        try
                        {
                            dynamic scriptable = await frame.GetScriptableObjectAsync(CancellationToken.None).ConfigureAwait(true);

                            scriptable.window.eval("function V_SetCookie() {} function V_GetCookie() {}");
                            scriptable.window.LoginUsingSteamClient("https://steamcommunity.com");
                            loginUsingSteamClientState = LoginUsingSteamClientState.Success;
                        }
                        catch (Exception ex)
                        {
#if DEBUG
                            Log.Error(nameof(WebView3Window), ex, "JSInterop fail.");
#endif
                            LoginUsingSteamClientFinishNavigate(vm);
                        }
                    }
                    else if (loginUsingSteamClientState == LoginUsingSteamClientState.Success)
                    {
                        LoginUsingSteamClientFinishNavigate(vm);
                    }
                    else
                    {
                        if (webView.Opacity != 1)
                        {
                            webView.Opacity = 1;
                        }
                        if (vm.IsLoading)
                        {
                            vm.IsLoading = false;
                        }
                    }
                }
            }
        }