Package org.htmlunit

# Class TopLevelWindow

java.lang.Object
org.htmlunit.WebWindowImpl
org.htmlunit.TopLevelWindow

All Implemented Interfaces:
  `Serializable`, `WebWindow`

public class TopLevelWindow extends WebWindowImpl
A window representing a top level browser window.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `TopLevelWindow(String name, WebClient webClient)`
  Creates an instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes this window.
  `void`
  `close(boolean ignoreOnbeforeunloadAccepted)`
  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
  Closes this window.
  `WebWindow`
  `getOpener()`
  Returns the opener property.
  `WebWindow`
  `getParentWindow()`
  Returns the window that contains this window.
  `WebWindow`
  `getTopWindow()`
  Returns the top level window that contains this window.
  `protected boolean`
  `isJavaScriptInitializationNeeded(Page page)`
  Returns `true` if this window needs JavaScript initialization to occur when the enclosed page is set.
  `void`
  `setOpener(WebWindow opener)`
  Sets the opener property.
  `String`
  `toString()`
  Returns a string representation of this object.

  ### Methods inherited from class org.htmlunit.WebWindowImpl

  `addChildWindow, destroyChildren, getComputedStyle, getEnclosedPage, getHistory, getInnerHeight, getInnerWidth, getJobManager, getName, getOuterHeight, getOuterWidth, getScreen, getScriptableObject, getWebClient, isClosed, performRegistration, removeChildWindow, setClosed, setEnclosedPage, setInnerHeight, setInnerWidth, setJobManager, setName, setOuterHeight, setOuterWidth, setScriptableObject`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### TopLevelWindow

    protected TopLevelWindow(String name, WebClient webClient)
    Creates an instance.
    Parameters:
      `name` - the name of the new window
      `webClient` - the web client that "owns" this window

- ## Method Details

  - ### getParentWindow

    public WebWindow getParentWindow()
    Returns the window that contains this window. If this is a top level window, then return this window. Since this is a top level window, return this window.
    Returns:
      the parent window or this window if there is no parent

  - ### getTopWindow

    public WebWindow getTopWindow()
    Returns the top level window that contains this window. If this is a top level window, then return this window. Since this is a top level window, return this window.
    Returns:
      the top level window that contains this window or this window if there is no parent.

  - ### isJavaScriptInitializationNeeded

    protected boolean isJavaScriptInitializationNeeded(Page page)
    Returns `true` if this window needs JavaScript initialization to occur when the enclosed page is set.
    Specified by:
      `isJavaScriptInitializationNeeded` in class `WebWindowImpl`
    Parameters:
      `page` - the page that will become the enclosing page
    Returns:
      `true` if this window needs JavaScript initialization to occur when the enclosed page is set

  - ### toString

    public String toString()
    Returns a string representation of this object.
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of this object

  - ### setOpener

    public void setOpener(WebWindow opener)
    Sets the opener property. This is the WebWindow that caused this new window to be opened.
    Parameters:
      `opener` - the new opener

  - ### getOpener

    public WebWindow getOpener()
    Returns the opener property. This is the WebWindow that caused this new window to be opened.
    Returns:
      the opener

  - ### close

    public void close()
    Closes this window.

  - ### close

    public void close(boolean ignoreOnbeforeunloadAccepted)
    INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
    Closes this window.
    Parameters:
      `ignoreOnbeforeunloadAccepted` - if true the result of triggering the OnbeforeunloadAccepted event will be ignored