Пример #1
0
        void ILifeSpanHandler.OnAfterCreated(IWebBrowser browserControl, IBrowser browser)
        {
            if (browser.IsPopup)
            {
                var interceptor = new PopupAsChildHelper(browser);

                popupasChildHelpers.Add(browser.Identifier, interceptor);
            }
        }
Пример #2
0
 void ILifeSpanHandler.OnBeforeClose(IWebBrowser browserControl, IBrowser browser)
 {
     if (!browser.IsDisposed && browser.IsPopup)
     {
         PopupAsChildHelper interceptor = null;
         if (popupasChildHelpers.TryGetValue(browser.Identifier, out interceptor))
         {
             popupasChildHelpers[browser.Identifier] = null;
             interceptor.Dispose();
         }
     }
 }
Пример #3
0
        void ILifeSpanHandler.OnAfterCreated(IWebBrowser chromiumWebBrowser, IBrowser browser)
        {
            if (browser.IsPopup)
            {
                var windowHandle = browser.GetHost().GetWindowHandle();

                //WinForms will kindly lookup the child control from it's handle
                //If no parentControl then likely it's a popup and has no parent handle
                //(Devtools by default will remain a popup, at this point the Url hasn't been set, so
                // we're going with this assumption as it fits the use case of this example)
                var parentControl = Control.FromChildHandle(windowHandle);

                if (parentControl != null)
                {
                    var interceptor = new PopupAsChildHelper(browser);

                    popupasChildHelpers.Add(browser.Identifier, interceptor);
                }
            }
        }