Package org.htmlunit.html

# Class BaseFrameElement

java.lang.Object
org.htmlunit.html.DomNode
org.htmlunit.html.DomNamespaceNode
org.htmlunit.html.DomElement
org.htmlunit.html.HtmlElement
org.htmlunit.html.BaseFrameElement

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Element`, `Node`

Direct Known Subclasses:
  `HtmlFrame`, `HtmlInlineFrame`

public abstract class BaseFrameElement extends HtmlElement
Base class for frame and iframe.

See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.htmlunit.html.HtmlElement

  `HtmlElement.DisplayStyle`

  ## Nested classes/interfaces inherited from class org.htmlunit.html.DomElement

  `DomElement.ChildElementsIterator`

  ## Nested classes/interfaces inherited from class org.htmlunit.html.DomNode

  `DomNode.ChildIterator, DomNode.DescendantDomElementsIterator, DomNode.DescendantDomNodesIterator, DomNode.DescendantElementsIterator<T extends DomNode>, DomNode.DescendantHtmlElementsIterator`

- ## Field Summary

  ### Fields inherited from class org.htmlunit.html.HtmlElement

  `ATTRIBUTE_CHECKED, ATTRIBUTE_HIDDEN, ATTRIBUTE_REQUIRED, TAB_INDEX_OUT_OF_BOUNDS`

  ### Fields inherited from class org.htmlunit.html.DomElement

  `ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY, ID_ATTRIBUTE, NAME_ATTRIBUTE, SRC_ATTRIBUTE, TYPE_ATTRIBUTE, VALUE_ATTRIBUTE`

  ### Fields inherited from class org.htmlunit.html.DomNode

  `PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED`

  ### Fields inherited from interface org.w3c.dom.Node

  `ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `BaseFrameElement(String qualifiedName, SgmlPage page, Map<String,DomAttr> attributes)`
  Creates an instance of BaseFrame.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DomNode`
  `cloneNode(boolean deep)`
  Creates a new `WebWindow` for the new clone.
  `Page`
  `getEnclosedPage()`
  Returns the currently loaded page in the enclosed window.
  `FrameWindow`
  `getEnclosedWindow()`
  Gets the window enclosed in this frame.
  `final String`
  `getFrameBorderAttribute()`
  Returns the value of the attribute `frameborder`.
  `final String`
  `getLongDescAttribute()`
  Returns the value of the attribute `longdesc`.
  `final String`
  `getMarginHeightAttribute()`
  Returns the value of the attribute `marginheight`.
  `final String`
  `getMarginWidthAttribute()`
  Returns the value of the attribute `marginwidth`.
  `final String`
  `getNameAttribute()`
  Returns the value of the attribute `name`.
  `final String`
  `getNoResizeAttribute()`
  Returns the value of the attribute `noresize`.
  `final String`
  `getOnLoadAttribute()`
  Returns the value of the attribute `onload`.
  `final String`
  `getScrollingAttribute()`
  Returns the value of the attribute `scrolling`.
  `final String`
  `getSrcAttribute()`
  Returns the value of the attribute `src`.
  `void`
  `loadInnerPage()`
  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
  Called after the node for the `frame` or `iframe` has been added to the containing page.
  `protected void`
  `onAddedToPage()`
  Lifecycle method invoked whenever a node is added to a page.
  `void`
  `remove()`
  Removes this node from all relationships with other nodes.
  `final void`
  `removeAttribute(String attributeName)`
  Removes an attribute specified by name from this element.
  `Attr`
  `setAttributeNode(Attr attribute)`
  Sets the specified attribute.
  `protected void`
  `setAttributeNS(String namespaceURI, String qualifiedName, String attributeValue, boolean notifyAttributeChangeListeners, boolean notifyMutationObserver)`
  Sets the value of the attribute specified by namespace and qualified name.
  `final void`
  `setNameAttribute(String name)`
  Sets the value of the `name` attribute.
  `final void`
  `setSrcAttribute(String attribute)`
  Sets the value of the `src` attribute.

  ### Methods inherited from class org.htmlunit.html.HtmlElement

  `acceptChar, addHtmlAttributeChangeListener, appendChildIfNoneExists, checkChildHierarchy, detach, doType, doType, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, getCanonicalXPath, getDefaultStyleDisplay, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getSrcAttributeNormalized, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, handles, hasEventHandlers, isAltPressed, isAttributeCaseSensitive, isCtrlPressed, isDisplayed, isHidden, isOptional, isRequired, isRequiredSupported, isShiftPressed, isSubmittableByEnter, isValid, notifyAttributeChangeListeners, removeChild, removeHtmlAttributeChangeListener, setHidden, setHidden, setOwningForm, setRequired, type, type, type, type, typeDone`

  ### Methods inherited from class org.htmlunit.html.DomElement

  `blur, click, click, click, click, click, dblClick, dblClick, doClickFireChangeEvent, doClickFireClickEvent, doClickStateUpdate, fireEvent, fireEvent, focus, getAttribute, getAttributeDirect, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getChildElementCount, getChildElements, getElementsByTagName, getElementsByTagNameNS, getEventTargetElement, getFirstElementChild, getId, getLastElementChild, getNodeType, getSchemaTypeInfo, getStaticElementsByTagName, getStyleElement, getStyleElementCaseInSensitive, getStyleMap, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isDisabledElementAndDisabled, isEmptyXmlTagExpanded, isMouseOver, isStateUpdateFirst, matches, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, printOpeningTagContentAsXml, printXml, propagateClickStateUpdateToParent, removeAttributeNode, removeAttributeNS, removeFocus, removeStyleAttribute, replaceStyleAttribute, rightClick, rightClick, setAttribute, setAttributeNodeNS, setAttributeNS, setDefaults, setId, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInnerHtml, setNodeValue, toString, writeStyleToElement`

  ### Methods inherited from class org.htmlunit.html.DomNamespaceNode

  `getLocalName, getLowercaseName, getNamespaceURI, getPrefix, getQualifiedName, processImportNode, setPrefix`

  ### Methods inherited from class org.htmlunit.html.DomNode

  `addCharacterDataChangeListener, addDomChangeListener, appendChild, asNormalizedText, asXml, basicRemove, closest, compareDocumentPosition, fireCharacterDataChanged, fireNodeAdded, fireNodeDeleted, getAncestors, getBaseURI, getByXPath, getByXPath, getChildNodes, getChildren, getDescendants, getDomElementDescendants, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstByXPath, getFirstChild, getHtmlElementDescendants, getHtmlPageOrNull, getIndex, getLastChild, getNextElementSibling, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousElementSibling, getPreviousSibling, getReadyState, getScriptableObject, getSelectorList, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, getVisibleText, hasChildNodes, hasFeature, insertBefore, insertBefore, isAncestorOf, isAncestorOfAny, isAttachedToPage, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, mayBeDisplayed, normalize, notifyIncorrectness, onAddedToDocumentFragment, onAllChildrenAddedToPage, parseHtmlSnippet, printChildrenAsXml, querySelector, querySelectorAll, quietlyRemoveAndMoveChildrenTo, removeAllChildren, removeCharacterDataChangeListener, removeChild, removeDomChangeListener, replace, replaceChild, setEndLocation, setParentNode, setReadyState, setScriptableObject, setStartLocation, setTextContent, setUserData`

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

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

  ### Methods inherited from interface org.w3c.dom.Node

  `appendChild, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setPrefix, setTextContent, setUserData`

- ## Constructor Details

  - ### BaseFrameElement

    protected BaseFrameElement(String qualifiedName, SgmlPage page, Map<String,DomAttr> attributes)
    Creates an instance of BaseFrame.
    Parameters:
      `qualifiedName` - the qualified name of the element type to instantiate
      `page` - the HtmlPage that contains this element
      `attributes` - the initial attributes

- ## Method Details

  - ### loadInnerPage

    public void loadInnerPage() throws FailingHttpStatusCodeException
    INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
    Called after the node for the `frame` or `iframe` has been added to the containing page. The node needs to be added first to allow JavaScript in the frame to see the frame in the parent.
    Throws:
      `FailingHttpStatusCodeException` - if the server returns a failing status code AND the property `WebClientOptions.setThrowExceptionOnFailingStatusCode(boolean)` is set to true

  - ### getLongDescAttribute

    public final String getLongDescAttribute()
    Returns the value of the attribute `longdesc`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `longdesc` or an empty string if that attribute isn't defined

  - ### getNameAttribute

    public final String getNameAttribute()
    Returns the value of the attribute `name`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `name` or an empty string if that attribute isn't defined

  - ### setNameAttribute

    public final void setNameAttribute(String name)
    Sets the value of the `name` attribute.
    Parameters:
      `name` - the new window name

  - ### getSrcAttribute

    public final String getSrcAttribute()
    Returns the value of the attribute `src`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `src` or an empty string if that attribute isn't defined

  - ### getFrameBorderAttribute

    public final String getFrameBorderAttribute()
    Returns the value of the attribute `frameborder`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `frameborder` or an empty string if that attribute isn't defined

  - ### getMarginWidthAttribute

    public final String getMarginWidthAttribute()
    Returns the value of the attribute `marginwidth`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `marginwidth` or an empty string if that attribute isn't defined

  - ### getMarginHeightAttribute

    public final String getMarginHeightAttribute()
    Returns the value of the attribute `marginheight`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `marginheight` or an empty string if that attribute isn't defined

  - ### getNoResizeAttribute

    public final String getNoResizeAttribute()
    Returns the value of the attribute `noresize`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `noresize` or an empty string if that attribute isn't defined

  - ### getScrollingAttribute

    public final String getScrollingAttribute()
    Returns the value of the attribute `scrolling`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `scrolling` or an empty string if that attribute isn't defined

  - ### getOnLoadAttribute

    public final String getOnLoadAttribute()
    Returns the value of the attribute `onload`. This attribute is not actually supported by the HTML specification however it is supported by the popular browsers.
    Returns:
      the value of the attribute `onload` or an empty string if that attribute isn't defined

  - ### getEnclosedPage

    public Page getEnclosedPage()
    Returns the currently loaded page in the enclosed window. This is a facility method for `getEnclosedWindow().getEnclosedPage()`.
    Returns:
      the currently loaded page in the enclosed window, or `null` if no page has been loaded
    See Also:
      - `WebWindow.getEnclosedPage()`

  - ### getEnclosedWindow

    public FrameWindow getEnclosedWindow()
    Gets the window enclosed in this frame.
    Returns:
      the window enclosed in this frame

  - ### setSrcAttribute

    public final void setSrcAttribute(String attribute)
    Sets the value of the `src` attribute. Also loads the frame with the specified URL, if possible.
    Parameters:
      `attribute` - the new value of the `src` attribute

  - ### setAttributeNS

    protected void setAttributeNS(String namespaceURI, String qualifiedName, String attributeValue, boolean notifyAttributeChangeListeners, boolean notifyMutationObserver)
    Sets the value of the attribute specified by namespace and qualified name.
    Overrides:
      `setAttributeNS` in class `HtmlElement`
    Parameters:
      `namespaceURI` - the URI that identifies an XML namespace
      `qualifiedName` - the qualified name (prefix:local) of the attribute
      `attributeValue` - the value of the attribute
      `notifyAttributeChangeListeners` - to notify the associated `HtmlAttributeChangeListener`s
      `notifyMutationObserver` - to notify `MutationObserver`s or not

  - ### setAttributeNode

    public Attr setAttributeNode(Attr attribute)
    Sets the specified attribute. This method may be overridden by subclasses which are interested in specific attribute value changes, but such methods must invoke `super.setAttributeNode()`, and should consider the value of the `cloning` parameter when deciding whether or not to execute custom logic.
    Specified by:
      `setAttributeNode` in interface `Element`
    Overrides:
      `setAttributeNode` in class `HtmlElement`
    Parameters:
      `attribute` - the attribute to set
    Returns:

  - ### cloneNode

    public DomNode cloneNode(boolean deep)
    Creates a new `WebWindow` for the new clone.
    Specified by:
      `cloneNode` in interface `Node`
    Overrides:
      `cloneNode` in class `HtmlElement`

  - ### onAddedToPage

    protected void onAddedToPage()
    Description copied from class: `DomNode`
    Lifecycle method invoked whenever a node is added to a page. Intended to be overridden by nodes which need to perform custom logic when they are added to a page. This method is recursive, so if you override it, please be sure to call `super.onAddedToPage()`.
    Overrides:
      `onAddedToPage` in class `DomNode`

  - ### remove

    public void remove()
    Description copied from class: `DomNode`
    Removes this node from all relationships with other nodes.
    Overrides:
      `remove` in class `DomNode`

  - ### removeAttribute

    public final void removeAttribute(String attributeName)
    Description copied from class: `HtmlElement`
    Removes an attribute specified by name from this element.
    Specified by:
      `removeAttribute` in interface `Element`
    Overrides:
      `removeAttribute` in class `HtmlElement`
    Parameters:
      `attributeName` - the attribute attributeName