com.gargoylesoftware.htmlunit.html
Class BaseFrameElement

java.lang.Object
  extended by com.gargoylesoftware.htmlunit.html.DomNode
      extended by com.gargoylesoftware.htmlunit.html.DomNamespaceNode
          extended by com.gargoylesoftware.htmlunit.html.DomElement
              extended by com.gargoylesoftware.htmlunit.html.HtmlElement
                  extended by com.gargoylesoftware.htmlunit.html.BaseFrameElement
All Implemented Interfaces:
Serializable, Cloneable, Element, ElementTraversal, Node
Direct Known Subclasses:
HtmlFrame, HtmlInlineFrame

public abstract class BaseFrameElement
extends HtmlElement

Base class for frame and iframe.

Version:
$Revision: 8376 $
Author:
Mike Bowler, David K. Taylor, Christian Sell, Marc Guillemot, David D. Kilzer, Stefan Anzinger, Ahmed Ashour, Dmitri Zoubkov, Daniel Gredler, Ronald Brill
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.DomElement
DomElement.ChildElementsIterator
 
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.DomNode
DomNode.ChildIterator, DomNode.DescendantElementsIterator<T extends DomNode>
 
Field Summary
 
Fields inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
TAB_INDEX_OUT_OF_BOUNDS
 
Fields inherited from class com.gargoylesoftware.htmlunit.html.DomElement
ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY
 
Fields inherited from class com.gargoylesoftware.htmlunit.html.DomNode
AS_TEXT_BLANK, AS_TEXT_BLOCK_SEPARATOR, AS_TEXT_NEW_LINE, AS_TEXT_TAB, 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
protected BaseFrameElement(String namespaceURI, String qualifiedName, SgmlPage page, Map<String,DomAttr> attributes)
          Creates an instance of BaseFrame.
 
Method Summary
 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.
 String getFrameBorderAttribute()
          Returns the value of the attribute "frameborder".
 String getLongDescAttribute()
          Returns the value of the attribute "longdesc".
 String getMarginHeightAttribute()
          Returns the value of the attribute "marginheight".
 String getMarginWidthAttribute()
          Returns the value of the attribute "marginwidth".
 String getNameAttribute()
          Returns the value of the attribute "name".
 String getNoResizeAttribute()
          Returns the value of the attribute "noresize".
 String getOnLoadAttribute()
          Returns the value of the attribute "onload".
 String getScrollingAttribute()
          Returns the value of the attribute "scrolling".
 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.
 void markAsCreatedByJavascript()
          INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Marks this frame as created by javascript.
protected  void onAddedToPage()
          Lifecycle method invoked whenever a node is added to a page.
 void remove()
          Remove our window also.
 void setAttributeNS(String namespaceURI, String qualifiedName, String attributeValue)
          Sets the value of the specified attribute.
 void setNameAttribute(String name)
          Sets the value of the "name" attribute.
 void setSrcAttribute(String attribute)
          Sets the value of the "src" attribute.
 void unmarkAsCreatedByJavascript()
          INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Unmarks this frame as created by javascript.
 boolean wasCreatedByJavascript()
          INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns true if this frame was created by javascript.
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
addHtmlAttributeChangeListener, appendChildIfNoneExists, blur, checkChildHierarchy, click, click, click, dblClick, dblClick, doClickFireChangeEvent, doClickFireClickEvent, doClickStateUpdate, doType, fireEvent, fireEvent, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, focus, getCanonicalXPath, getElementById, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getEventTargetElement, getHtmlElementsByTagName, getHtmlElementsByTagNames, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, hasEventHandlers, hasHtmlElementWithId, isAttributeCaseSensitive, isStateUpdateFirst, isSubmittableByEnter, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, querySelector, querySelectorAll, removeAttribute, removeChild, removeEventHandler, removeHtmlAttributeChangeListener, rightClick, rightClick, setEventHandler, setEventHandler, setId, toString, type, type, type, type, type, type
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomElement
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getChildElementCount, getChildElements, getElementsByTagName, getElementsByTagNameNS, getFirstElementChild, getId, getLastElementChild, getNextElementSibling, getNodeType, getPreviousElementSibling, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isEmptyXmlTagExpanded, namespaces, printOpeningTagContentAsXml, printXml, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNamespaceNode
getLocalName, getNamespaceURI, getPrefix, getQualifiedName, processImportNode, setPrefix
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNode
addDomChangeListener, appendChild, asText, asXml, compareDocumentPosition, detach, fireNodeAdded, fireNodeDeleted, getAncestors, getBaseURI, getByXPath, getByXPath, getChildNodes, getChildren, getDescendants, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstByXPath, getFirstChild, getHtmlElementDescendants, getHtmlPageOrNull, getIndex, getLastChild, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousSibling, getReadyState, getScriptObject, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, hasChildNodes, hasFeature, insertBefore, insertBefore, isAncestorOf, isAncestorOfAny, isBlock, isDefaultNamespace, isDescendant, isDirectlyAttachedToPage, isDisplayed, isEqualNode, isSameNode, isSupported, isTrimmedText, lookupNamespaceURI, lookupPrefix, mayBeDisplayed, normalize, notifyIncorrectness, onAddedToDocumentFragment, onAllChildrenAddedToPage, printChildrenAsXml, removeAllChildren, removeChild, removeDomChangeListener, replace, replaceChild, setNextSibling, setNodeValue, setParentNode, setPreviousSibling, setReadyState, setScriptObject, 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, setNodeValue, setPrefix, setTextContent, setUserData
 

Constructor Detail

BaseFrameElement

protected BaseFrameElement(String namespaceURI,
                           String qualifiedName,
                           SgmlPage page,
                           Map<String,DomAttr> attributes)
Creates an instance of BaseFrame.

Parameters:
namespaceURI - the URI that identifies an XML namespace
qualifiedName - the qualified name of the element type to instantiate
page - the HtmlPage that contains this element
attributes - the initial attributes
Method Detail

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

public void setAttributeNS(String namespaceURI,
                           String qualifiedName,
                           String attributeValue)
Sets the value of the specified attribute. This method may be overridden by subclasses which are interested in specific attribute value changes, but such methods must invoke super.setAttributeValue(), and should consider the value of the cloning parameter when deciding whether or not to execute custom logic.

Specified by:
setAttributeNS in interface Element
Overrides:
setAttributeNS in class HtmlElement
Parameters:
namespaceURI - the URI that identifies an XML namespace
qualifiedName - the qualified name of the attribute
attributeValue - the value of the attribute

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

markAsCreatedByJavascript

public void markAsCreatedByJavascript()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Marks this frame as created by javascript. This is needed to handle some special IE behavior.


unmarkAsCreatedByJavascript

public void unmarkAsCreatedByJavascript()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Unmarks this frame as created by javascript. This is needed to handle some special IE behavior.


wasCreatedByJavascript

public boolean wasCreatedByJavascript()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns true if this frame was created by javascript. This is needed to handle some special IE behavior.

Returns:
true or false

cloneNode

public DomNode cloneNode(boolean deep)
Creates a new WebWindow for the new clone.

Specified by:
cloneNode in interface Node
Overrides:
cloneNode in class DomElement

remove

public void remove()
Remove our window also. Removes this node from all relationships with other nodes.

Overrides:
remove in class DomNode


Copyright © 2002–2013 Gargoyle Software Inc.. All rights reserved.