Type Changes By

INCOMPATIBLE CHANGE: Added method to interface WebWindowListener for window closing events. mbowler

INCOMPATIBLE CHANGE: There previously were three separate tree models for any given page: 1) the HtmlElement hierarchy 2) The xml DOM model and 3) the JavaScript element model. Now the first two tree models have been merged into one. Thanks to Christian Sell. mbowler

Continued migration of the build process from ant to maven. mbowler

Patch for bug in onload handler submitted by Andreas Hangler. Fixes 69. mbowler

Added support for the about: protocol - patch from Jun Chen. Fixes 797144. mbowler

Added support for window frames - patch from Jun Chen. Fixes 797144. mbowler

an update of the version number in build.xml and outputting of a src jar for the current build. Patch submitted by Brad Clarke. Fixes 43. Thanks to Brad Clarke. mbowler

Added HtmlFileInput support. Patch submitted by Brad Clarke. Fixes 42. Thanks to Brad Clarke. mbowler

Upgraded junit.jar to 3.8.1. Fixes 44. Thanks to Brad Clarke. mbowler

Fixed bug where HtmlPage.asText() would blow up if form tags were found between tr and td tags. Clearly this is illegal html but the browsers support it so HtmlUnit needs to as well. Fixes 101. mbowler

Fixed bug where form elements without names were being submitted anyway. Patch supplied by Brad Clarke. Fixes 104. Thanks to Brad Clarke. mbowler

Fixed bug where disabled elements were being submitted anyway. Patch supplied by Brad Clarke. Fixes 105. Thanks to Brad Clarke. mbowler

Navigator.javaEnabled should be method not property. Fixes 100. mbowler

Added WebClient.getWebWindows(). Fixes 38. mbowler

Fixed bug where radio button and checkbox logic was case sensitive. Patch supplied by Brad Clarke. Fixes 106. Thanks to Brad Clarke. mbowler

Added support for Window.focus(). Patch supplied by Brad Clarke. Fixes 49. Thanks to Brad Clarke. mbowler

Add support for getting HTMLElement.firstChild, lastChild, nextSibling and previousSibling. HTMLElement.firstChild returns the first node below the current node. HTMLElement.lastChild returns the last node below the current node. HTMLElement.nextSibling returns the node after the current node. HTMLElement.previousSibling returns the node before the current node. They each return null if there is no such node or the node type is not supported (not HTML). dktaylor

Add support for HTMLElement.removeChild and insertBefore. HTMLElement.removeChild removes an Element from the HTML document. It returns the removed Element which is no longer part of the HTML document. HTMLElement.insertBefore adds a new child element before another child element. It returns the newly added child element. dktaylor

Add support for HTMLElement.cloneNode and replaceChild and Document.createTextNode to close RFE 805051. To support createTextNode, added support for DOM text nodes and character data nodes including the data and length properties and appendData, deleteData, insertData, replaceData, substringData and splitText functions. Updated DOM API properties and methods of HTMLElement to work with text nodes. Also added support for HTMLElement.nodeType, nodeName and nodeValue properties. Fixes 45. dktaylor

Added method HtmlArea.click() mbowler

Add support for click() for all element types that have an onClick attribute. This includes image. Removed extra non-standard attributes (onClick, etc.) from BDO element. Fixed support for button tags with type other than submit. Added support for access keys to anchor, area, label, legend, and textarea elements. Fixes 41. dktaylor

Fixed bug where variables defined in a script could not be referenced as "window.myVariable". This prevented the google ads from working on the HtmlUnit website. mbowler

Stubbed out Window.onerror mbowler

Fixed bug where an option without a value could not be selected. Fixes 99. mbowler

Fixed bug where Select[index] wasn't returning options. Fixes 98. mbowler

Fixed bug where button names would get submitted twice. Patch submitted by Brad Clarke. Fixes 108. Thanks to Brad Clarke. mbowler

Added support for auto-refresh both from a Meta tag and from an HTTP response header. Fixes 33. mbowler

Added support for the format of <script> defined by DOM Level 2. Patch submitted by Jun Chen. Fixes 824842. Thanks to Jun Chen. mbowler

An HtmlTextArea should not contain anything but preformatted text, so doing things such as converting <br> to line breaks and removing extra white space should not happen. Patch supplied by Brad Clarke. Fixes 109. Thanks to Brad Clarke. mbowler

Fixed exception when trying to reference one frame by name from another in JavaScript. For example "parent.nav.document", where nav is the name of the frame. Fixes 107. mbowler

Fixed exception when specifying an empty string for src on an a frame. Fixes 97. mbowler

Fixed the bug where newly opened windows targeted at named frames were not opening in the correct windows. Changed returned page from click() method to work with new targets. That is, instead of just returning changes to the immediate window, it returns any window that is opened. So, if you call click() on an element that has a target set, you will get the page in the window for that target. This is particularly needed for the _blank target where you couldn't find the new window without this change since it is not named. Fixes 92. dktaylor

Fixed a bug where windows that were overwritten were not cleaned up so they would be returned from getWebWindowByName. dktaylor

Added WebWindow.getTopWindow() and getParentWindow(). dktaylor

Added support for the remaining special target names (_blank, _parent, _top in addition to _self that was already supported). These special target names are supported for a, area and form elements as well as the JavaScript open() function. dktaylor

Added support for DOM API node navigation methods in HtmlElement so they are available within test cases. This includes getParentNode, getNextSibling, getPreviousSibling, getFirstChild, getLastChild, getNodeType, getNodeName, and getNodeValue. dktaylor

Added support for base elements to set a default target using the target attribute. This affects a, area and form elements. dktaylor

Fixed a bug where a base element without an href attribute was causing a MalformedURLException to be thrown. This can be caused when the base element just sets a default target. Similarly check for empty href attribute in a and area elements. (The HTML 4 standard does not allow the action attribute to be optional in form elements.) dktaylor

Changed the behaviour of HtmlCheckBoxInput.click() to be consistent with IE and Mozilla. Patch submitted by Jun Chen. Fixes 824730. Thanks to Jun Chen. mbowler

Fix return type from DomCharacterData.getData to be String. dktaylor

Removed non-standard Element API from Text and CharacterData Node classes by factoring out a DOM Node class in the html and JavaScript implementations. Return type from DOM navigation methods, e.g., getFirstChild(), standardized to be DomNode instead of HtmlElement. dktaylor

Added support for onload handlers on frames. This isn't supported by the HTML specification but is supported by the popular browsers. mbowler

Upgraded commons-httpclient.jar to 2.0-rc2 mbowler

New method WebClient.loadWebResponseInto() which can be used to create pages that were not loaded via HTTP. mbowler

New method StringWebResponse which can be used to easily create a WebResponse based on a string containing html. mbowler

Finished the second variation of document.write(), writing to frames other than the one that is loading. Fixes 14. mbowler

New method TopLevelWindow.close(). Fixes 37. mbowler

Added "type" attribute to WebWindowEvent to make testing easier mbowler

Refactored test for window opening using the new type attribute. mbowler

Added support for window.status. Fixes 23. mbowler

New method HtmlForm.getInputByValue() to get a single input. Fixes 29. mbowler

New method HtmlForm.getInputsByValue() to get multiple inputs. Fixes 29. mbowler

Raise more specific exception from HtmlForm.getRadioButtonInput if there is no radio button to match the name. dktaylor

Added support for JavaScript editing of select options: add new options, replace options, remove options, shorten options list, set value, and set text. These features also available through HtmlOption. dktaylor

Fixed support for option label attribute so label value is returned as text if label is set. dktaylor

Add support for the id attribute of HTMLElement in JavaScript. This partly fixes bug 757225. dktaylor

Add HtmlElement.getId and setId. dktaylor

Fix Document.getElementById in JavaScript so it returns null when there is no element with the given ID. dktaylor

Added support for jelly wrappers mbowler

Fixed bug with expansion of URLs that contain pound signs. mbowler

Upgraded NekoHTML to 0.8.1 mbowler