private void OnWebViewControlProcessExited(Windows.Web.UI.Interop.WebViewControlProcess sender, object args) { var handler = ProcessExited; if (handler != null) { handler(this, args); } }
private void Initialize() { Verify.AreEqual(_initializationState, InitializationState.IsInitializing); Verify.IsFalse(DesignMode); // This is causing freezing if (!DesignMode) { OSVersionHelper.ThrowIfBeforeWindows10April2018(); if (!WebViewControlInitialized) { Verify.IsNull(Process); // Was not injected via ctor, create using defaults Process = new WebViewControlProcess(new WebViewControlProcessOptions { PrivateNetworkClientServerCapability = _delayedPrivateNetworkEnabled ? WebViewControlProcessCapabilityState.Enabled : WebViewControlProcessCapabilityState.Disabled, EnterpriseId = _delayedEnterpriseId, Partition = _delayedPartition }); _webViewControl = Process.CreateWebViewControlHost(Handle, ClientRectangle); SubscribeEvents(); // Set values. They could have been changed in the designer IsScriptNotifyAllowed = _delayedIsScriptNotifyAllowed; IsIndexedDBEnabled = _delayedIsIndexDbEnabled; IsJavaScriptEnabled = _delayedIsJavaScriptEnabled; // This will cause a navigation Source = _delayedSource; } else { // Already provided control SubscribeEvents(); } _webViewControl.IsVisible = true; } _initializationState = InitializationState.IsInitialized; }
/// <summary> /// Creates a <see cref="WebViewControlProcess"/> from <see cref="Windows.Web.UI.Interop.WebViewControlProcess"/>. /// </summary> /// <param name="process">The <see cref="Windows.Web.UI.Interop.WebViewControlProcess"/> instance.</param> /// <returns><see cref="WebViewControlProcess"/></returns> public static WebViewControlProcess ToWebViewControlProcess( Windows.Web.UI.Interop.WebViewControlProcess process) => new WebViewControlProcess(process);
private WebViewControlProcess(Windows.Web.UI.Interop.WebViewControlProcess process) { _process = process ?? throw new ArgumentNullException(nameof(process)); SubscribeEvents(); }