예제 #1
0
        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;
        }
예제 #3
0
 /// <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);
예제 #4
0
 private WebViewControlProcess(Windows.Web.UI.Interop.WebViewControlProcess process)
 {
     _process = process ?? throw new ArgumentNullException(nameof(process));
     SubscribeEvents();
 }