/// <summary> /// Closes this window. /// </summary> public void Close() { IsClosed = true; IPage page = EnclosedPage; if (page != null) { if (page.IsHtmlPage()) { HtmlPage htmlPage = (HtmlPage)page; if (!htmlPage.isOnbeforeunloadAccepted()) { if (LOG.IsDebugEnabled) { LOG.Debug("The registered OnbeforeunloadHandler rejected the window close event."); } return; } } page.CleanUp(); } JobManager.Shutdown(); DestroyChildren(); WebClient.deregisterWebWindow(this); }
/// <summary> /// <p><span style="color:red">INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.</span></p> /// Destroy the child window. /// </summary> /// <param name="window">the child to destroy</param> public void RemoveChildWindow(WebWindowImpl window) { if (LOG.IsDebugEnabled) { LOG.Debug("closing child window: " + window); } window.IsClosed = true; window.JobManager.Shutdown(); IPage page = window.EnclosedPage; if (page != null) { page.CleanUp(); } window.DestroyChildren(); lock (childWindows_) { childWindows_.Remove(window); } }