Changes

Release History

VersionDateDescription
2.12Mar 6, 2013Bugfixes, CSS3 Selectors
2.11Nov 6, 2012Bugfixes, Java 6, HtmlPage.getElementById(), .type() special keys, initial WebSocket support, initial SVG support, primitive Geolocation support, SOCKS proxy for https, CORS
2.10Jul 21, 2012Bugfixes, SSL client certificate
2.9Aug 9, 2011Bugfixes, performance improvements
2.8Aug 5, 2010Bugfixes, (large) binary download, single thread for JavaScript background tasks, HttpClient 4, SOCKS proxy, initial support for FF 3.6, support for GoogleAppEngine
2.7Feb 9, 2010Bugfixes, initial IE8 support, HttpClient 4 migration preparation
2.6Sep 2, 2009Bugfixes, add HtmlPage.save(), better XHTML support, Proxy Auto-Config, improved cache
2.5Apr 21, 2009Bugfixes, MooTools support, support all HTML elements and various JavaScript properties
2.4Dec 30, 2008Bugfixes, ActiveX support, JQuery & MochiKit support, minimal applet support, IE conditional comments
2.3Sept 16, 2008Bugfixes, better generics, add Firefox 3 emulation, GWT 1.5 support
2.2Jul 24, 2008Numerous bugfixes (handling of ill formed HTML code, document.write, ...), speed improvements, and move to HtmlUnit-core-js (Rhino fork)
2.1Apr 15, 2008Performance improvements in CSS processing and a few bug fixes
2.0Apr 7, 2008Migration to Java 5, implementation of org.w3c.dom.*, better support for incorrect html code, large improvements in JavaScript support (GWT 1.4 tests now pass, ...)
1.14Jan 9, 2008Enormous improvements particularly in JavaScript support and execution speed
1.13Aug 17, 2007Fixes bad maven packaging of version 1.12 + different improvements
1.12Aug 10, 2007Enormous improvements particularly in JavaScript support and execution speed
1.11Mar 15, 2007 
1.10Nov 03, 2006 
1.9Jun 27, 2006 
1.8Feb 17, 2006 
1.7Aug 23, 2005 
1.6May 10, 2005 
1.5March 13, 2005 
1.4January 9, 2005 
1.3November 12, 2004 
1.3-pre2September 26, 2004 
1.3-pre1November 7, 2003 
1.2.3July 31, 2003 
1.2.2March 29, 2003 
1.2.1March 20, 2003 
1.2March 10, 2003 
1.1November 25, 2002 
1.1-rc2November 16, 2002 
1.1-rc1October 29, 2002 
1.1-pre5September 24, 2002 
1.1-pre4August 23, 2002 
1.1-pre3July 23, 2002 
1.1-pre2July 10, 2002 
1.1-pre1July 2, 2002 
1.0May 22, 2002 

Release 2.12 - Mar 6, 2013

TypeChangesBy

update

BrowserVersion: support FF17, deprecate FF3.6.mguillem

fix

JavaScript: add support for window.onchange handler (FF10+ and Chrome). Fixes 1484. Thanks to Hartmut Arlt.mguillem

fix

Fixed synchronization problem causing a task triggered by setTimeout to be executed to early, before event handlers.mguillem

fix

CookieManager: changed getCookies to return a copy of the current set of cookies to avoid ConcurrentModificationException.mguillem

fix

JavaScript: add empty implementations of CanvasRenderingContext2D methods createImageData, createPattern, createRadialGradient, fillText, getImageData, getLineData, isPointInPath, measureText, putImageData, rect, rotate, setTransform, strokeText, and transform (FF).mguillem

fix

Support for CSS pseudo selector ':target' added.rbri

add

JavaScript: add DocumentFragment.querySelectorAll()/DocumentFragment.querySelector().rbri

fix

JavaScript: move method contains to Node, throw runtime exception on invalid argument. Fixes 1480.mguillem

fix

Method innerHTML does not encode entities for style tags.rbri

add

Initial support for HtmlMeter (FF 17).mguillem

fix

JavaScript: fixed exception occurring while testing window or document == "some string". Fixes 1479.mguillem

fix

Support for CSS pseudo selector ':focus' added. Fixes 1478.rbri

fix

When simulating IE, the initial focus for a page is on the html element.rbri

fix

JavaScript: fixed hanging problem (infinite loop) after Object function was called with a window as parameter.mguillem

fix

JavaScript: determine default path for cookies set with document.cookie from current URL. Fixes 1458.mguillem

fix

JavaScript: place document before window in scope chain for event handlers defined in HTML attributes. Fixes 898.mguillem

add

JavaScript: added basic support for SVGAngle and SVGMatrix.mguillem

fix

JavaScript: HTMLDocument.createElementNS can create SVG elements.mguillem

add

JavaScript: add support for SVGSVGElement's style property and basic support for methods createSVGMatrix and getScreenCTM.mguillem

fix

JavaScript: add support for CanvasRenderingContext2D.quadraticCurveTo (FF).mguillem

fix

JavaScript: execute onload handler of pages loaded in a frame, replacing a previous content. Fixes 1443.mguillem

update

Upgrade Apache HttpClient to 4.2.3.rbri

fix

JavaScript: elements nested within an element with "display: none" have offsetHeight = offsetWidth = 0.mguillem

fix

JavaScript: fixed wrong trigger of focus event in special cases when field loses focus.mguillem

fix

JavaScript: ignore invalid indexes for History.go.mguillem

fix

Some more elements to close "p": address, center, dd, dir, dl, dt, fieldset, listing, li, menu, ol, pre, ul and xmp.asashour

update

Set max number of simultaneous connections per server to 6.mguillem

fix

Handle pages with "application/javascript" content type as JavaScriptPage. Fixes 1471.asashour

add

CSS: support Selectors Level 3.asashour

update

JavaScript: fix document/element . querySelectorAll()/querySelector() (IE8).asashour

add

JavaScript: add document.documentMode (IE).asashour

fix

Fix URL handling of local files in Windows, if they have folders starting with dot.asashour

add

JavaScript: add document.implementation.createDocument for Chrome.asashour

update

UrlUtils: deprecate encodeUrl(URL, boolean).asashour

fix

Fix the encoding of clicked links to match the enclosing page (FF). Fixes 1402.asashour

update

Upper-case the charset detected from "meta" tag.asashour

update

JavaScript: adjust availability of window.console (Firefox 4+, IE9+ and Chrome).mguillem

fix

Fixed typo in method names of com.gargoylesoftware.htmlunit.WebConsole.Formatter.mguillem

add

JavaScript: add document.charset, .characterSet, .defaultCharset and .inputEncoding.asashour

fix

CSS: fix DirectAdjacentSelector (E + F).asashour

fix

JavaScript: fix the value of "(i in x)" for NodeList, HTMLCollection and CSSRuleList. Fixes 1456.asashour

update

HtmlElement: deprecate getElementById() and hasHtmlElementWithId().asashour

update

BrowserVersion: deprecate INTERNET_EXPLORER_6, INTERNET_EXPLORER_7, FIREFOX_10, CHROME_16, and make INTERNET_EXPLORER_8 the default one. Add INTERNET_EXPLORER_9, FIREFOX_17 and CHROME.asashour

fix

JavaScript: fix Date.toLocaleDateString() and .toLocaleTimeString(). Fixes 1467.asashour

add

Add BrowserVersion.clone().mguillem

fix

Fix a potential ConcurrentModificationException, on calling WebClient.getWebWindows().asashour

fix

WebClient.closeAllWindows() to delete all temporary created big files. Fixes 1344.asashour

fix

JavaScript: .outerHTML of "basefont", "col", "embed" and "wbr" have forbidden end tag (FF).asashour

fix

Escape "%%" in query string to avoid IllegalArgumentException.mguillem

add

JavaScript: initial support for HTMLBGSoundElement (IE).asashour

fix

JavaScript: HTMLElement.outerHTML use lower case for unknown, "spacer" and "multicol" elements (IE).asashour

fix

Fix URL manipulation (UrlUtils) for file URLs containing drive letter.rbri

fix

JavaScript: fix handling relations of document type comment with <html> element (IE).asashour

fix

JavaScript: properties of Array.prototype should be defined in standards mode (IE).asashour

fix

JavaScript: correctly process null function handlers.asashour

fix

JavaScript: correct select.value after enclosing form.reset().asashour

fix

JavaScript: XML: element.removeAttribute() is case-sensitive.asashour

fix

Correctly handle local file URL if it is in a separate driver (Windows). Fixes 1464.asashour

fix

JavaScript: fix the return value of element.getAttribute() in standards mode (IE).asashour

fix

JavaScript: element.set/getAttribute() should fix the name (e.g. "className") only in quirks mode (IE).asashour

fix

Cookies: use 1970 as two digits year start for the expiration date.mguillem

fix

Cookies: accept more non standard date formats for the expiration date.mguillem

fix

Properly handle spaces after elements: "abbr", "acronym", "basefont", "bdo", "big", "blink", "cite", "code", "del", "dfn", "em", "ins", "kbd", "label", "map", "nobr", "q", "s", "samp", "small", "strike", "sub", "sup", "tt" and "var". Fixes 1463.asashour

fix

JavaScript: element.outerHTML should throw an error if the provided value closes the parent. Fixes 1452.asashour

fix

JavaScript: element.outerHTML should not print end tag if it is forbidden.asashour

Change default RefreshHander to a NiceRefreshHandler(2). Fixes 1126.mguillem

fix

Support Internationalized Domain Name (IDN). Fixes 1459.asashour

Change default network timeout from infinite wait to 90 seconds.mguillem

fix

JavaScript: function name referenced before its declaration should be visible (IE).asashour

fix

JavaScript: function name referenced before its declaration should throw an exception (FF).asashour

fix

JavaScript: prevent infinite loop during adding a DomNode to itself. Fixes 1253.asashour

fix

JavaScript: don't enumerate function properties "arguments" and "caller".mguillem

fix

JavaScript: handle definition of "function object.property() {}" (IE).asashour

add

JavaScript: implement property HTMLElement.dataset (FF10).asashour

remove

JavaScript: remove "constructor" property of host objects (IE). Fixes 1420.asashour

remove

Cookie: remove deprecated (String name, String value) constructor.asashour

Release 2.11 - Nov 6, 2012

TypeChangesBy

update

Upgrade NekoHtml to 1.9.17.mguillem

fix

JavaScript: remove unneeded global properties ("java", "Packages" and "getClass") (FF).asashour

add

JavaScript: implement "constructor" property of all host objects (FF). Fixes 1420.asashour

fix

Properly handle spaces after "strong", "b", "i" and "u" elements. Fixes 1451.asashour

fix

JavaScript: node.outerHtml not allowed for body and head nodes.rbri

fix

JavaScript: "this === window" should be true.asashour

update

CSS: cssparser updated to 0.9.8.rbri

fix

Avoid double form submission when the onclick handler of a submit button calls form.submit() and the submission is answered by a redirect.mguillem

add

JavaScript: implement window.dispatchEvent() (FF only). Fixes 1439.asashour

fix

JavaScript: Some more fixes for correct calling of the Image onload handler. Fixes 1339.rbri

fix

In some cases the javascript execution context was overwritten. This produces side effects like the one in this issue. Fixes 1433.rbri

update

Handle NoHttpResponseException like an HTTP error and ignore it when option throwExceptionOnFailingStatusCode is set to true.mguillem

fix

Handle 'deflate' Content-Encoding with content compressed using GZip compatible mode.mguillem

fix

JavaScript: setting iframe.src to 'about:blank' should not load the page. Fixes 3577737.asashour

fix

JavaScript: iframe.src should point to the related page. Fixes 3577737.asashour

add

HtmlEmbed: add saveAs(File). Fixes 2817642.asashour

add

JavaScript: XMLHttpRequest: support Cross-Origin Resource Sharing (CORS). Fixes 3432380.asashour

fix

JavaScript: Image onload not called after src change (using setAttribute('src', ) instead of src property). Fixes 3567013.rbri

update

DomNode: make .querySelectorAll() and .querySelector() public. Fixes 2781954.asashour

fix

JavaScript: 'focus' and 'blur' event is triggered for 'document' descendants (FF and Chrome). Fixes 3388308.asashour

fix

Cookies: fix year with two digits.asashour

fix

IE Conditional comments: handle "downlevel revealed" conditional cases. Fixes 3567961.asashour

fix

JavaScript: allow re-declaration of undefined, NaN and Infinity. Fixes 3529411.mguillem

fix

JavaScript: allow assignment to undefined, NaN and Infinity (FF3.6 and IE).mguillem

add

JavaScript: implement Typed Arrays, namely ArrayBuffer, DataView, Float32Array, Float64Array, Int16Array, Int32Array, Int8Array, Uint16Array, Uint32Array, Uint8Array and Uint8ClampedArray. Fixes 3564695.asashour

fix

JavaScript: document.domain now allows the change from localhost to a different domain. Fixes 3411548.rbri

fix

JavaScript: exception.stack should not be defined in IE.asashour

add

JavaScript: WebWindow: add getters and setters for window width and height.asashour

add

JavaScript: add support for HTMLMediaElement.canPlayType().asashour

fix

Fixed NPE in HtmlPage.getTitleText() and WebClient.closeAllWindows() occurring when document.documentElement has been removed. Fixes 3039471.mguillem

fix

JavaScript: add support for CSSFontFaceRule (Firefox).mguillem

fix

JavaScript: ensure that property "argument" of a function is null outside of it's scope.mguillem

fix

JavaScript: add support for getAttributeNS, hasAttributeNS, removeAttributeNS, and setAttributeNS on Element (Firefox). Fixes 2856746. Thanks to lexicore.rbri

fix

Missing synchronization in StorageImpl fixed. Fixes 3570500.rbri

fix

NPE fix for Range.htmlText.rbri

fix

NPE fix for Range.parentElement().rbri

fix

Empty responses marked as GZip encoded no longer throwing an error. Fixes 3566999.rbri

fix

UrlUtils: fix an infinite loop when base URL is relative. Fixes 3566348.asashour

fix

JavaScript: ClassCastException in Window.jsxFunction_open() fixed. Fixes 3566814.rbri

fix

Timeout configuration changes are now taken into account.mguillem

update

WebClient: deprecated setTimeout() and getTimeout(). Use webClient.getOptions() instead.mguillem

fix

JavaScript: HTMLTableElement.refresh is only available when simulating IE.rbri

fix

JavaScript: HTMLTableElement.moveRow, HTMLTableSectionElement.moveRow, Tfoot.moveRow, and THead.moveRow are only available when simulating IE.rbri

update

INCOMPATIBLE CHANGE: WebResponseDate.getInputStream(), BinaryPage.getInputStream(), UnexpectedPage.getInputStream(), WebResponse.getContentAsStream(), and WebResponseWrapper.getContentAsStream() are throwing an IOException now.rbri

fix

JavaScript: fixed namespace handling for nodes imported from an xml document via document.importNode(). Fixes 3560821.rbri

fix

DebuggingWebConnection: fixed IOException occurring while working with gzip encoded JavaScript responses.mguillem

update

JavaScript: disabled (limited) JavaScript execution in HtmlPage instances that are not "active" anymore.mguillem

fix

JavaScript: improved verifications to avoid that background tasks continue to run when page has been unloaded.mguillem

fix

Google App Engine support: don't follow redirects automatically in UrlFetchWebConnection. Fixes 3557486.mguillem

add

Add SOCKS proxy support for HTTPS. Fixes 3107078.mguillem

update

HttpWebConnection: removed setUseInsecureSSL. Settings is now read from WebClientOptions.mguillem

update

INCOMPATIBLE CHANGE: The interface HTMLParserListener is enhanced to be able to handle the html source when parsing a snippet.asashour

update

WebClient: getWebConnection() and setWebConnection() are part of the public APIs.asashour

fix

JavaScript: remove customized "eval", and depend on core-js. Fixes 3028476.asashour

fix

BackgroundJavaScriptFactory is now configurable. Fixes 3555655.rbri

fix

JavaScript: function.arguments can be read-only (Chrome).asashour

add

JavaScript: align property support added to heading elementsrbri

fix

JavaScript: setting script.text re-executes the script (IE) (in IE mode). Fixes 2993940.rbri

fix

JavaScript: fix various problems with re-execution of script Fixes 3542056.rbri

fix

JavaScript: event handler functions should have a name.asashour

add

JavaScript: implement function.arguments, and correct Arguments default value. Fixes 3545244.asashour

update

JavaScript: let event.type and .button, .clientX, .clientY to have setters.asashour

fix

JavaScript: fix cases when trying to set a read-only attribute. Fixes 3547364.asashour

add

Add support for "Do Not Track" feature (FF10 only).asashour

update

WebClient: deprecate setJavaScriptEnabled(), isJavaScriptEnabled(), setThrowExceptionOnScriptError(), isThrowExceptionOnScriptError(), setThrowExceptionOnFailingStatusCode(), isThrowExceptionOnFailingStatusCode(), setCssEnabled(), isCssEnabled(), setAppletEnabled(), isAppletEnabled(), setPopupBlockerEnabled(), isPopupBlockerEnabled(), setRedirectEnabled(), isRedirectEnabled(), setUseInsecureSSL() and setSSLClientCertificate(), setHomePage(), getHomePage(), setPrintContentOnFailingStatusCode(), getPrintContentOnFailingStatusCode(), getProxyConfig(), getProxyConfig(), setActiveXNative(), isActiveXNative(). Use webClient.getOptions() instead.asashour

add

JavaScript: implement navigator.buildID, .oscpu, .vendor and .vendorSub.asashour

fix

JavaScript: fix document.bgColor, .fgColor, body.aLink, .bgColor, .link, .text and .vLink.asashour

add

JavaScript: implement document.getSelection(), .head, .alinkColor, .linkColor, .vlinkColor, and window.dump().asashour

add

DOM: implement text.getWholeText().asashour

fix

JavaScript: fix navigator.appMinorVersion, .cpuClass, .systemLanguage and .userLanguage values.asashour

add

Geolocation: primitive support (FF only). Fixes 3403601.asashour

add

Implement WebConsole and JavaScript Console (FF only) Fixes 3518475. Thanks to Andrea Martino.asashour

add

JavaScript: implement element.classList (FF only).asashour

add

JavaScript: add element.children (FF), it was implemented for only IE.asashour

update

JavaScript: separate NodeList from previously existing HTMLCollection.asashour

add

JavaScript: add node.attributes and element.baseURI.asashour

fix

JavaScript: incompatible objects with the respective BrowserVersion should be HTMLUnknownElement.asashour

add

Initial support for HtmlProgress (FF 10).asashour

add

JavaScript: implement document.scripts for FF 10 (in addition to already implemented IE).asashour

add

JavaScript: implement node.parentElement (FF 10).asashour

add

Initial SVG support.asashour

update

INCOMPATIBLE CHANGE: rename IElementFactory to ElementFactory, and change the return type of its methods from HtmlElement to DomElement.asashour

fix

HtmlPage: cloneNode() should clone the underlying ScriptObject.asashour

add

HtmlElement: support special keys for .type(int).asashour

update

BaseFrame: is now deprecated, please use BaseFrameElement instead.asashour

fix

BaseFrameElement: create a WebWindow for the new clone instance. Fixes 3083847.asashour

fix

Cookies: enable cookies after being disabled, should work. Fixes 3159440.asashour

add

DomElement: now implements ElementTraversal, with the corresponding JavaScript getters (FF only). Fixes 3030792.asashour

add

JavaScript: implement more Range methods. Fixes 3107238. Thanks to James Phillpotts.asashour

fix

JavaScript: document.getElementById() finds non-HTML elements. Fixes 3313921.asashour

update

HtmlPage: deprecate .getElementByAccessKey(), use .getHtmlElementByAccessKey() instead.asashour

update

INCOMPATIBLE CHANGE: change the return type of HtmlPage.getElementById(), .getElementByName(), .getElementsByName(), .getElementsByTagName(), .getElementsByIdAndOrName() and HtmlElement.getChildElements() from HtmlElement to DomElement.asashour

update

Mandate Java 6 as a minimum requirement.asashour

fix

Delete temporary generated files on page.cleanUp(). Fixes 3414170. Thanks to Nicolas Belisle.asashour

fix

JavaScript: DocType is handled as Comment (IE only).asashour

update

JavaScript: HTMLGenericElement instead of HTMLUnknownElement, and HTMLCommentElement instead of Comment (IE only).asashour

fix

JavaScript: object default value to contain the name, in strict mode (IE only).asashour

fix

JavaScript: Node should not define '.innerText'.asashour

fix

JavaScript: comments are elements, most properties implemented (IE8 only).asashour

fix

JavaScript: document.getElementById() should not search by name, with strict mode (IE8 only).asashour

add

JavaScript: initial WebSocket support.asashour

remove

Remove deprecated BrowserVersion.FIREFOX_3.asashour

Release 2.10 - Jul 21, 2012

TypeChangesBy

fix

CSS: handling attributes which do not need explicit values, e.g. [disabled].asashour

fix

Google App Engine support: allow frame loading. Fixes 3544647.mguillem

fix

Cookie: null path is treated as "/" in .equals() and .hashCode()asashour

update

Upgrade Apache HttpClient to 4.2.1.rbri

add

JavaScript: window.onhashchange support added. Fixes 3536790.asashour

update

DomNode: fix potential NPE in DomNode.DescendantElementsIterator. Fixes 3532769.asashour

add

JavaScript: add window.mozInnerScreenX, .mozInnerScreenY and .mozPaintCount (FF only). Fixes 3536790.asashour

update

WebRequest: add default value for "Accept-Encoding" HTTP header.asashour

fix

Fixed error processing when the onerror handler throws an error. Fixes 3534371. Thanks to Hartmut Arlt.rbri

update

JavaScript: add DocumentFragment.createAttribute(), createComment(), createDocumentFragment(), createElement() and createTextNode() (IE only) Fixes 3535811.asashour

fix

Some more style properties are now supported; IE8 simulation now supports the same set of properties like the real one.rbri

fix

Correct the formating of the opacity style value. Fixes 3534330.rbri

fix

Correct the handling of unsupported style properties when simulating IE.rbri

fix

Truncate file names in HtmlPage.savePage and DebuggingWebConnection to avoid exception due to too long file names.mguillem

fix

JavaScript: querySelector(All) throws for invalid selectors.mguillem

fix

Java 7: fix SSLPeerUnverifiedException for valid certificates when WebClient.setUseInsecureSSL(true) is used.mguillem

update

Upgrade commons-codec to 1.6rbri

update

Upgrade Apache HttpClient to 4.2.asashour

add

WebClient: add .setSSLClientCertificate() for client certificate authentication. Thanks to Martin Huber.asashour

fix

CSS: The ':disabled' and the ':enabled' selector now works for all HtmlElements implementing the DisabledElement interface. Now the selector also checks e.g. Button and Textarea elements.rbri

fix

JavaScript: handle out of bound moves for TextRange (IE only). Fixes 3432442. Thanks to David Gileadi.mguillem

fix

Google App Engine support: added basic cookie support. Fixes 3407199. Thanks to Pieter Herroelen.mguillem

fix

Fix XHR.onreadystatechange now supplies an event argument if simulating FF. Fixes 3440181.rbri

update

Unauthorized response should be received only once, and subsequent requests should have the Authentication string.asashour

update

INCOMPATIBLE CHANGE: do not allow WebClient.addRequestHeader("Cookie", value) and Cookie must have a domain.asashour

fix

Fix default content encoding for XML files. Fixes 3385410.rbri

fix

JavaScript: don't restrict XMLHttpRequest to same origin for FF 3.6 and upper. Fixes 3496236. Thanks to James Phillpotts.mguillem

update

Upgrade CSS Parser to 0.9.7.asashour

fix

Fix missing support for different handling of self closing tags in HTML and XHTML. Fixes 3112678.rbri

fix

Fixed cookie threading issue. Fixes 3496236. Thanks to James Phillpotts.mguillem

fix

Fix a possible performance problem caused by a code fragment no longer needed after the update to HttpClient 4.1. Thanks to Gareth Doutch.rbri

update

Upgrade Apache commons-io to 2.2.rbri

fix

Check the onclick event for preventDefault/returnValue also when the handler produces no result.rbri

fix

Don't create a new Attr when setAttributeNode(Attr) is called. This fixes jQuery.attr for IE browsers. Fixes 3471467.rbri

fix

HtmlElement attributes collection returns an empty attr for 'class' if simulating IE.rbri

fix

Ignore gzip encoding problems when downloading external css content. Fixes 3498578.rbri

fix

Methods element.getElementsByTagName() and XMLDocument.getElementsByTagName() are now namespace aware.rbri

fix

Method element.querySelectorAll() now only selects descended nodes of the element.rbri

update

Upgrade Apache HttpClient to 4.1.3.rbri

fix

Call onload event for frames in the correct order. Fixes 2873802.rbri

fix

Implement some more fixes for handling of '!important' rules. Fixes 3487948.rbri

fix

Avoid calling class.getPackage() because of broken class loader implementation in ColdFusion. Fixes 3487590.rbri

fix

JavaScript: CSSStyleDeclaration.removeProperty is now available in FF mode.rbri

fix

Some not needed exception declarations are gone. Fixes 3475974.rbri

fix

isDisplayed() has to return false for hidden form fields. Fixes 3471836. Thanks to Hartmut Arlt.rbri

fix

Cookies: add support for Set-Cookie attribute httpOnly. Fixes 3470364.mguillem

fix

JavaScript: fix strange return value 'net.sourceforge.htmlunit.corejs.javascript.UniqueTag.NOT_FOUND' of ComputedStyle.getPropertyValue.rbri

fix

JavaScript: make Element.getBoundingRect available when simulating FF too.mguillem

fix

If JavaScript is disabled, don't download the image even if an onload handler is defined. Fixes 3123380.rbri

fix

JavaScript: document.forms(0) is not valid in FF. Fixes 2902442.rbri

fix

JavaScript: Initialization of the popup window misses some steps. Fixes 3029277.rbri

fix

JavaScript: Remove also the node parents from style cache when changing a node, because some styles have an effect for the parent properties also (e.g. height, width). Fixes 2944261.rbri

fix

JavaScript: script.text works correct now for script nodes with more than one child node.rbri

fix

JavaScript: possible ClassCastException fixed in JavaScriptExecutionJob. Additionally cleaned up the code a bit and some more details added to the error messages. Fixes 3432334. Thanks to rmillet42.rbri

fix

JavaScript: StyleSheet insertRule/addRule and deleteRule/removeRule exception handling fixed. Now we reporting syntax errors back to javascript.rbri

update

CSS: cssparser updated to 0.9.7-SNAPSHOT.rbri

update

Upgrade Apache commons-lang to 3.1.rbri

fix

JavaScript: document.getElementsByClassNameNS("*", "html") now returns the HTML tag for a page. Fixes 3438310. Thanks to Daniel Wagner-Hall.rbri

fix

JavaScript: concatenate all text nodes under a <script> tag when calculating the script code. Fixes 3438311. Thanks to Daniel Wagner-Hall.rbri

fix

JavaScript: No execution of javascript, if script tag imported (replaceChild) from different dom (xml). Fixes 3006858.rbri

fix

JavaScript: fix transformation of regular expressions like '{{something}}' into java regular expressions. Fixes 3434548.rbri

fix

HtmlScript.asXml(): don't insert CDATA if it is already present. Fixes 3414140.mguillem

fix

HtmlTable.getCellAt() now works in complex situations with colspan and rowspan. Fixes 3433589.rbri

fix

Ignore expiration date if the format is incorrect for cookies set by the remote server. Accept expiration dates enclosed with double quote. Fixes 3421201.mguillem

fix

JavaScript: NPE when the event handler performs only preventDefault(). Fixes 3072010.rbri

fix

JavaScript: Selecting an option via javascript (e.g. sel.options[1].selected = true) no longer triggers the focus event.rbri

fix

JavaScript: JavaScriptExecutor had a memory leak; the list of jobs was never cleaned. Thanks to rmillet.rbri

fix

JavaScript: addEventListener/attachEvent are behaving like the browser if called with null event handler.rbri

update

Rewritten applet support; we support now many jar archive files, the codebase attribute, parameters, access to the codebase, documentbase and the parameters from the applet and LiveConnect (at the moment this is only a small stub).rbri

update

Upgrade Apache commons-io to 2.1.rbri

fix

JavaScript: fixed StackOverflowError occurring with onload handlers in documents created with document.write (IE only). Fixes 3418880.mguillem

fix

Better error message if browser configuration contains an unknown key. Fixes 3420124. Thanks to Marco Cova.rbri

fix

JavaScript: 'onload' handler for iframes was not called if an iframe without src attribute was added from javascript. Fixes 3406772.rbri

fix

JavaScript: 'onload' handler for iframes was called if an iframe was added to an document fragment. Fixes 3406772.rbri

fix

JavaScript: 'onload' handler for iframes was not called in IE mode if an iframe was added to an document fragment and after that the iframe was added to the document itself. Fixes 3406772.rbri

fix

Malformed HTML code: handle nested forms.mguillem

add

Add NiceRefreshHandler. Fixes 3026460.mguillem

fix

Click on a selected option in a multiple select element unselects it.mguillem

fix

JavaScript: StringIndexOutOfBoundsException when calling TextRange.text.rbri

fix

CSS: forward the URI of an style sheet to the CSS parser for better error messages. Fixes 3408437. Thanks to Anton Kozak.rbri

fix

JavaScript: IEConditionalCompilationScriptPreProcessor throws exceptions for some scripts. Fixes 3401043. Thanks to Adam Doupe.rbri

fix

JavaScript: document property 'activeElement' is now available in FF3.6 mode. Fixes 3405349. Thanks to Hartmut Arlt.rbri

fix

SSL: for web servers which support only SSLv3, try to explicitly reconnect with that version.asashour

fix

JavaScript: trim value of type attribute before to verify it (FF only). Fixes 3403860.mguillem

fix

CSS: support for @font-face fixed. Fixes 2984265.rbri

fix

JavaScript: document property 'readyState' is now available in FF3.6 mode. Fixes 3397538. Thanks to Hartmut Arlt.rbri

remove

Remove deprecated WebRequestSettings, WebResponseImpl, some BrowserVersion constants, DefaultCredentialsProvider.addProxyCredentials() and WebResponse.getContentAsBytes().asashour

Release 2.9 - Aug 9, 2011

TypeChangesBy

fix

CSS: pseudo class 'disabled' now supported in FF mode.rbri

fix

JavaScript: properly handle XML inside frame. Fixes 3386186.asashour

fix

JavaScript: Wrong offsetHeight for elements with height set to 0px fixed. Fixes 3306325.rbri

add

Initial support for css background shorthand added. Fixes 3308994.rbri

fix

JavaScript: avoid encoding of % in Location.href when set as part of Location.hash.mguillem

fix

HtmlPage.savePage: ensure that the right option is saved as selected.mguillem

fix

JavaScript: ensure that first cell off each row has the same offsetLeft. Fixes 3180939.mguillem

fix

Missing history update during window.location.replace(newUrl) fixed. Fixes 3354317. Thanks to Hartmut Arlt.rbri

fix

NullPointerException in css parser error handler fixed. Fixes 3325124.rbri

fix

JavaScript: Fix for null index handling when adding a select option. Fixes 3319397.rbri

fix

JavaScript: zIndex handling fixed in many ways. Fixes 3319448.rbri

fix

JavaScript: fixed IndexOutOfBoundsException when accessing the CSSRuleList. Thanks to Peter Wilkinson.rbri

fix

JavaScript: add support for CssStyleSheet removeRule & deleteRule. Fixes 3314489. Thanks to Peter Wilkinson.rbri

add

JavaScript: add support for element.removeAttributeNode() for IE too. Fixes 3310121.mguillem

fix

In some cases a new window was not attached to the JavaScript background worker thread.rbri

fix

HtmlPage.save: fix exception occurring when a referenced image is not an image.mguillem

fix

JavaScript: fix string conversion of native functions.mguillem

fix

Parsing: accept self closing <iframe/> tags when simulating IE.mguillem

fix

Fix a NPE because of bugs in NamedAttrNodeMapImpl. Fixes 3306491.rbri

fix

CSS: support for media="all" added. Fixes 3306851.rbri

fix

Wrong DOM node generated for tables. Fixes 3241279.rbri

fix

CCS parsing not required for Page.getTitleText(). Fixes 3103101.rbri

fix

JavaScript: add support for NamedNodeMap.removeNamedItem. Fixes 3240867.mguillem

fix

NPE fixed when CSS style declarations are addressed from JavaScript.rbri

fix

INCOMPATIBLE CHANGE: The whole construction/setup of the AbstractHttpClient is now done by the factory method com.gargoylesoftware.htmlunit.HttpWebConnection.createHttpClient(). Only the setup of our cookie spec factory is done outside this call because this is really required later on. This gives you more flexibility setting up your own client. If you already do this, please check your implementation for compatibility. Fixes 3236689.rbri

add

JavaScript property mediaText and function item added to class MediaList.rbri

add

JavaScript support for class CSSMediaRule added.rbri

fix

Avoid exception occurring when script's src attribute is only "http://". Fixes 3236689.mguillem

fix

Recursion in CSS import causes stack overflow. Fixes 3003087.rbri

fix

Fix order of steps during Window initialization to avoid NPE in later access. Fixes 3247986. Thanks to Kohsuke Kawaguchi.rbri

add

DefaultCredentialsProvider: reactivate removed addNTLMCredentials and addNTLMProxyCredentials as HttpClient 4.1 now provides full support for NTLM authentication.mguillem

update

Upgrade Apache HttpClient to 4.1.1.mguillem

fix

Use correct separator for 'src' and 'href' attributes. Fixes 3238326.rbri

fix

Follow hyperlink when click is performed on a nested element. Fixes 3232488.rbri

fix

XMLSerializer.serializeToString() generate lower case tags for FF 3.6.rbri

fix

XMLSerializer.serializeToString() generates self closing tags as defined by xhtml (only FF 3.6). Fixes 3139076.rbri

fix

Fix synchronization problem causing wrong page to be occasionally loaded into a window. Fixes 3193004. Thanks to Nikolai Avteniev.mguillem

update

INCOMPATIBLE CHANGE: The WebRequest no longer has a CredentialProvider as attribute. Now there are two attributes of type Credentials named urlCredentials and credentials. The attribute credentials has a getter and a setter method; the urlCredentials are only addressable via getter call. This change was needed to support credentials as part of the url.rbri

fix

Improved memory handling of JavaScriptExecutor. Thanks to Kostadin Chikov.rbri

update

Upgrade Apache commons-io to 2.0.1.rbri

fix

Calculation for the next execution time of jobs (setInterval) fixed for some cases. Thanks to Nikolai Avteniev.rbri

fix

JavaScript: fix exception in getComputedStyle occurring while evaluating child selector for node within a DocumentFragment. Fixes 3191431.mguillem

fix

Follow hyperlink when click is performed on a nested element. Fixes 3165159.mguillem

fix

IFrame created from javascript doesn't load source'. Fixes 3107075.rbri

fix

Initialization of iframes corrected, if content was written from javascript. Fixes 3046109.rbri

fix

Remove expired cookies. Fixes 3181695. Thanks to Nikolai Avteniev.mguillem

fix

Serialization support fixed for Pages with unfinished JavaScriptJob's. These jobs are NOT serialized. Fixes 3103703.rbri

fix

JavaScript: user and password parameters for the XMLHttpRequest.open method are optional; the check of there existence is fixed. Only if a user is set, a CredentialProvider is associated with the request (witch overwrites the one from the WebClient).rbri

fix

NPE if URL contains basic auth info without password. Fixes 3165357.rbri

fix

JavaScript: Use the right encoding for the implementation of the loadXML and parseFromString methods. Fixes 3166477.rbri

fix

JavaScript: un-selecting selected option in a (single) select causes the first option to be selected (FF) or is ignored (IE). Fixes 3171569.mguillem

fix

Send cookies ordered by more specific path attribute. Fixes 3107395.mguillem

fix

The script tag supports now the type 'application/x-javascript' in Firefox mode. Fixes 3167335.rbri

fix

Improved synchronization and sleep() replaced by wait() in JavaScriptJobManagerImpl. Fixes 3159858.rbri

update

Upgrade Apache commons-lang to 2.6.rbri

update

Upgrade Apache HttpClient to 4.1.mguillem

fix

File name is send to server if HtmlFileInput.setData was called. Fixes 3156627.rbri

fix

Url's like 'http://www.google.com/..' reduced to 'http://www.google.com/'. Fixes 3151939.rbri

fix

JavaScript: added support for CSSCharsetRule. Fixes 3128042.mguillem

fix

HtmlElement.type: respect maxLength (if any) for text and password input fields. Fixes 3060157.mguillem

add

JavaScript: add dummy implementation of HTMLCanvasElement.toDataURL. Fixes 3126728.mguillem

fix

JavaScript: HTMLCanvasElement's width and height are of type Number not String. Fixes 3126728.mguillem

update

JavaScript: added Range constants START_TO_START, START_TO_END, END_TO_START and END_TO_END as well as basic implementation of Range.compareBoundaryPoints (FF only).mguillem

update

Accept cookies set by server responses even if the path doesn't match the one of the requested content.mguillem

fix

NPE in XMLSerializer.save(page) if the page contains an image tag without src attribute or link without href. Fixes 3121315.rbri

fix

JavaScript: support addressing a StaticNodeList like an array (e.g. node = staticNodeList[i]). This is done by prototype 1.6.1 if the querySelector API is available.rbri

fix

JavaScript: add support for HTMLElement.querySelector and querySelectorAll for FF3.6 and IE8. Fixes 3104700.rbri

remove

DefaultCredentialsProvider: removed addNTLMCredentials and addNTLMProxyCredentials as HtmlUnit doesn't provide NTLM support out of the box anymore since release 2.8. See "NTLM authentication" documentation for details on how to work with NTLM.mguillem

update

JavaScript: make window.top writable.mguillem

update

JavaScript: octal support added to the regular expressions.rbri

fix

HtmlImage; reset image reader also if image is reloaded because of src attribute change. Fixes 3110733.rbri

fix

JavaScript: add support for HTMLDocument.querySelector and querySelectorAll for FF3.6 and IE8.mguillem

fix

JavaScriptErrorListener added (WebClient.setJavaScriptErrorListener(JavaScriptErrorListener)). Fixes 3055542.rbri

fix

JavaScript: fixed internal error occurring in XMLDocument.loadXML with ill formed XML code.mguillem

fix

JavaScript: HTMLElement.prototype.innertHTML should be undefined (FF).mguillem

fix

Don't trim class attribute for FF3.6.mguillem

fix

JavaScript: don't reduce multiple white spaces when reading innerHTML (FF only).mguillem

fix

XMLSerializer should expand empty 'textarea'.asashour

fix

JavaScript: location.href returns the right value after clicking on a link that jumps only to a different hash.rbri

fix

Fixed reload handling if only the hash part of a url changed. Fixes 3056617.rbri

update

HtmlSelect.setSelectedAttribute now returns the page in the WebClient's current window. Fixes 3034581.mguillem

fix

Parsing: <ins> is an inline element. Fixes 3033189.mguillem

fix

JavaScript: don't escape "+" in hash value (FF). Fixes 3063896.mguillem

fix

Cookies: consider quotes surrounding the value as part of the cookie value. Fixes 2973040.mguillem

fix

JavaScript: allow "//" in argument string of "new Function(...)". Fixes 3076362.mguillem

update

JavaScript: add support for function HTMLSelectElement.item.mguillem

fix

JavaScript: don't throw an exception when setting incorrect value to HTMLSelectElement.selectedIndex for FF3.6.mguillem

fix

Fix IE conditional compilation bug (IE only). Fixes 3076667.mguillem

update

JavaScript: add support for RegExp.$1..9, RegExp.lastMatch, RegExp.lastParen, RegExp.leftContext and RegExp.rightContext.rbri

update

JavaScript: add support for function HTMLOptionsCollection.remove (IE only). Fixes 3074641.mguillem

update

Escape only <, & and " in attribute values where it was not yet the case (for instance HtmlSubmitInput). Fixes 3074609.mguillem

fix

Ignore leading and trailing spaces in namespace values. Fixes 3035213.mguillem

fix

HtmlTextArea.asXml(): don't append indent spaces before closing tag. Fixes 3058241.mguillem

fix

Fix exception when asking CookieManager for cookies of "about:blank". Fixes 3053526.mguillem

add

JavaScript: add empty implementations of CanvasRenderingContext2D.translate and scale (FF). Fixes 3030203.mguillem

fix

Consider <noscript>'s body as plain text for FF and discard it totally for IE.mguillem

fix

ObjectInstantiationException: updated to expose the underlying 'cause' exception. Fixes 3053473.asashour

update

Deprecate BrowserVersion.FIREFOX_3.asashour

add

JavaScript: add support for anchor.rel, and .rev, and link.rev. Fixes 3040475.asashour

remove

Remove deprecated BrowserVersion.FIREFOX_2, DomNode.getAllHtmlChildElements() and WebResponse.getRequestUrl().asashour

Release 2.8 - Aug 5, 2010

TypeChangesBy

add

HtmlOptionGroup: add utility method getEnclosingSelect(). Fixes 3037585.asashour

fix

HtmlRadioButtonInput: trigger onchange event handler on losing focus with IE. Fixes 3018444. Thanks to Ronald Brill.asashour

update

Configure JavaScript executor thread as daemon thread. Fixes 2985827.mguillem

add

JavaScript: initial support for HTMLAudioElement, HTMLSourceElement and HTMLVideoElement.asashour

fix

Fix Content-Type header value on posting a form with "multipart/form-data" encoding. Fixes 3029611.asashour

fix

JavaScript: document.cookie should not return cookies that have expired since they have been set. Fixes 3032380.mguillem

fix

JavaScript: ignore expired cookies set by document.cookie. Fixes 3030247.mguillem

fix

JavaScript: XSLTemplate and XMLDOMParseError are not instantiable.mguillem

update

HTTP headers: 'Host' to be the first (FF only). Fixes 3026349.asashour

fix

JavaScript: XMLHttpRequest.setRequestHeader ignores prohibited headers.mguillem

fix

JavaScript: fix 'typeof window'. Fixes 3026194.asashour

add

JavaScript: add dummy implementation of window.pageXOffset and .pageYOffset. Fixes 3025318.asashour

update

Add support for Google App Engine. Fixes 2962074. Thanks to Amit Manjhi.mguillem

fix

HtmlCheckBoxInput: trigger onchange event handler on losing focus. Fixes 3018437. Thanks to Ronald Brill.asashour

update

Google App Engine support: WebClient uses per default UrlFetchWebConnection when Google App Engine is detected.mguillem

fix

WebResponse.getLoadTime(): take body download time into account. Fixes 2903223.mguillem

update

Remove MemoryInputStream and BinaryPage introduced since release 2.7. Download large binary content to a temporary file.mguillem

fix

FileUpload: send Content-Type headers for file parts. Fixes 3019557.asashour

fix

JavaScript: allow access to lost elements per name from HTMLFormElement.elements in invalid HTML code. Fixes 2995968.mguillem

fix

XMLHttpRequest: post method to send query string. Fixes 3022242.asashour

fix

JavaScript: set a maximum for infinite recursion. Fixes 3004262.asashour

update

Deprecate WebResponse.getContentAsBytes().asashour

fix

JavaScript: make form elements only accessible by their original name (IE) or by all the names they have had (FF).mguillem

update

Deprecated IsDescendantOfContextualFormFunction.mguillem

fix

JavaScript: fire onchange for &lt;input type='password' ...&gt; when field loses focus and value has been changed. Fixes 3019226. Thanks to Ronald Brill.mguillem

fix

Fix NullPointerExceptin occurring when for JavaScript submitting form with hash multiple times. Fixes 3012067.mguillem

fix

HtmlTextArea.asXml(): escape XML characters. Fixes 3004425. Thanks to Amit Khanna.mguillem

fix

JavaScript: events fired by HTMLOptionElement should have 'srcElement' of the enclosing Select.asashour

fix

JavaScript: fix event.button of click events with IE. Fixes 3017828.asashour

fix

JavaScript HtmlUnit RegExp proxy: use empty string for existing replacement groups without value. Fixes 3005485. Thanks to Ronald Brill.mguillem

update

HtmlPage.save: add support for (i)frames.mguillem

fix

HtmlPage.save should not modify the current DOM.mguillem

fix

JavaScript: window.execScript returns undefined and not null (IE only). Fixes 3013799.mguillem

fix

JavaScript: add support for function HTMLDocument.clear.mguillem

add

JavaScript: add support for globalStorage, localStorage and sessionStorage. Fixes 3009368.asashour

add

Page: add .getUrl().asashour

add

Add support for SOCKS proxy (at WebClient and WebRequest levels). Fixes 3006350.asashour

add

Add UrlFetchWebConnection, an experimental WebConnection with limited functionalities but that doesn't require HttpClient.mguillem

fix

HtmlArea: set 'Referer' header on clicking.asashour

fix

Don't send charset information in Content-Type header for application/x-www-form-urlencoded POST requests.mguillem

fix

Fix MemoryInputStream.read() for negative values. Fixes 3007121.asashour

update

Upgrade HttpClient to 4.0.1. Fixes 2950332. Thanks to Nicolas Belisle.asashour

update

Deprecate BrowserVersion static constants.asashour

fix

StringWebResponse: take care of provided charset for parsing. Fixes 2998004.mguillem

add

JavaScript: support string.trim(), .trimLeft() and .trimRight() (FF 3.6 only). Fixes 2973509.asashour

add

Initial support for FF 3.6.asashour

update

Implement DomComment.getCanonicalXPath(). Fixes 2996583. Thanks to Philip Graf.mguillem

update

INCOMPATIBLE CHANGE: WebResponse is now a class not an interface. WebResponseImpl is deprecated.asashour

fix

Fix asText() of HtmlCheckBoxInput and HtmlRadioButtonInput. Fixes 2993991.asashour

fix

JavaScript: fix document.getElementsByTagName() for elements with prefix. Fixes 2986384.asashour

update

HtmlImageInput: fix submitted parameters.asashour

update

BinaryPage: change threshold to 300 bytes, and handle chunked content. Fixes 2986782.asashour

update

Deprecate WebRequestSettings, WebResponse.getRequestSettings() and MockWebConnection.getLastWebRequestSettings().asashour

update

Correctly handle URLs with '%'.asashour

add

JavaScript: add support for KeyboardEvent.which (FF only). Fixes 2979275.asashour

add

JavaScript: add support for navigator.productSub (FF only). Fixes 2981752.mguillem

update

JavaScript: fix ClassCastException in window.open(). Fixes 2982020.asashour

update

DomElement.asXml(): escape only <, & and " in attribute values.mguillem

add

HtmlPage: add .isQuirksMode(), .querySelector() and .querySelectorAll().asashour

remove

Remove StringScriptPreProcessor.asashour

add

JavaScript: add empty implementation of window.stop (FF only). Fixes 2971861.asashour

fix

JavaScript: fire (i)frames onload event even for non-HTML pages.mguillem

add

JavaScript: use a single Java thread for executing background JavaScript tasks. Fixes 2952960. Thanks to Amit Manjhi.mguillem

add

WebRequestSettings: add support for basic authentication inside the URL. Fixes 2958709.asashour

fix

DomNode.isDisplayed() (and by extension, DomNode.asText()) should ignore CSS styling when CSS has been disabled. Fixes 2964137.sdanig

fix

JavaScript: return window proxies from window.open(), window.top, window.parent, window.self, window.window and window.opener; proxy window.document and frame.contentDocument, too. Fixes 2911299.sdanig

add

JavaScript: add support for HTMLTableCellElement.width and .height attributes. Fixes 2892289.asashour

fix

JavaScript HtmlUnit RegExp proxy: don't escape unicode escape sequence in regular expression. Fixes 2822048. Thanks to Chris Frost.mguillem

fix

Fix exception on HTTP response with code 302 without Location header. Fixes 2822048.mguillem

fix

JavaScript: implement stack property on exceptions. Fixes 2885136.mguillem

fix

HtmlTable.asText(): display first thead at the top, even if it appears after some tbody. Fixes 2884462.mguillem

fix

JavaScript: fixed ClassCastException occurring in IE simulation while accessing XMLHttpRequest.responseXML when content uses XHTML namespace and contains a checked radio button. Fixes 2956588. Thanks to Benoit Heinrich.mguillem

fix

JavaScript: offsetHeight and offsetWidth should be 0 for elements with display:none, regardless of their contents. Fixes 2959014.sdanig

fix

When applying CSS rules to elements, take the media type into account. Fixes 2958675.sdanig

fix

JavaScript: fixed exception when calling setTimeout during window unload. Fixes 2956550.mguillem

add

Add BinaryPage to support download of large files.asashour

fix

JavaScript: Form elements are also functions that take a child element's id, name or index and return the corresponding element (IE only). Fixes 2902466.sdanig

add

JavaScript: add support for element.removeAttributeNode() (FF only). Fixes 2954288. Thanks to Benoit Heinrich.sdanig

add

Add implementation of DomText.getCanonicalXPath(). Fixes 2952882. Thanks to Philip Graf.sdanig

fix

JavaScript: img.onload functions not always called when img.src modified. Fixes 2954910. Thanks to Benoit Heinrich.sdanig

fix

JavaScript: Dynamically-added frame.onload and img.onload functions were sometimes being ignored. Fixes 2955073. Thanks to Benoit Heinrich.sdanig

fix

Clicking an element should make enclosing window the current one. Fixes 2815614.mguillem

fix

Fixed ClassCastException occurring while accessing XMLHttpRequest.responseXML when content uses XHTML namespace and contains an (i)frame. Fixes 2952333.mguillem

update

JavaScript: added simple implementation of TextRange.setEndPoint (IE only).mguillem

fix

JavaScript: implement window.scroll(x, y), window.scrollBy(x, y), window.scrollTo(x, y), window.scrollByLines(lines) and window.scrollByPages(pages). Fixes 2897457.sdanig

fix

Parser: place text located between </TD> and </TR> before the enclosing TABLE. Fixes 2940936.mguillem

fix

JavaScript HtmlUnit RegExp proxy: handle two digits replacement references. Fixes 2949446.mguillem

fix

JavaScript: allow to set HTMLTableColElement's width to null. Fixes 2948498.mguillem

update

INCOMPATIBLE CHANGE: add an extra parameter (int lineNumber) to ScriptPreProcessor.preProcess().asashour

add

JavaScript: add dummy support for window.external.AutoCompletionSave() (IE only). Fixes 2899323. Thanks to Peter Faller.asashour

fix

JavaScript: fix document.getElementsByName() to handle empty and null values. Fixes 2898484. Thanks to Tomasz Kalkosinski.asashour

remove

Deprecation: remove DomText.splitDomText(), HtmlPage.getFirstAnchorByText(), WebClient.setIgnoreOutsideContent(), WebResponse.getRequestUrl, .getRequestMethod() and .getContentCharSet(), HTMLParser.parse() and WebRequestSettings.addAdditionalHeader().asashour

Release 2.7 - Feb 9, 2010

TypeChangesBy

fix

JavaScript: allow access to a frame through document.frameName (IE only).mguillem

fix

JavaScript: better implementation of element.scrollLeft and element.scrollTop properties. Fixes 2889077.sdanig

fix

JavaScript HtmlUnit RegExp proxy: handle $&, $' and $` in replacement string. Fixes 2935350.mguillem

update

Removed public method HtmlForm.submit(SubmittableElement) without replacement (method was marked as internal API).mguillem

fix

JavaScript: StringScriptPreProcessor to use Rhino AST. Fixes 2924097.asashour

fix

JavaScript: many calls to form.submit after change of the action attribute causes many downloads and only the last one is parsed and loaded into the window.mguillem

fix

JavaScript: fix dynamically loading of external script when loading a page as result of a click. Fixes 2884585.mguillem

update

JavaScript: resolve relative URLs from opener's URL when document.write is used in a window opened with window.open. Fixes 2921851.mguillem

update

DomNode.asText(): don't include children of <noscript> if JavaScript is enabled.asashour

add

JavaScript: empty implementation of CanvasRenderingContext2D.drawImage() (FF).asashour

update

INCOMPATIBLE CHANGES (HttpClient 4 migration preparation): use internal NameValuePair class in the public APIs (rather than HttpClient's NameValuePair class); use internal Cookie class in the public APIs (rather than HttpClient's Cookie class).sdanig

fix

JavaScript: execute script with event attribute only when value is "onload" (FF).mguillem

fix

DomNode.asText(): H1, H2, H3, H4, H5 and H6 are blocks. Fixes 2930676.mguillem

update

JavaScript: ensure that elements returned by Selection.getRangeAt are of the right type (FF only).mguillem

update

JavaScript: document body is selection's start element when designMode='on' is set and body has no child element (FF only).mguillem

update

Throw exception with explicit message when maximum of allowed HTTP redirects is reached.mguillem

fix

JavaScript: fix parseFloat for values like "40em". Fixes 2903514.mguillem

fix

JavaScript: add support for Function.caller. Fixes 2914283.mguillem

update

Update htmlunit-core-js to Rhino head of 07.01.2010 + custom patches.mguillem

fix

Redirect limit should apply regardless of whether or not the redirects are to the same URL. Fixes 2915453.sdanig

fix

JavaScript: fix value of element.offsetTop attribute when element's position is relative. Fixes 2912255.sdanig

fix

JavaScript: fix format of document.lastModified attribute. Fixes 2919853. Thanks to Richard Eggert.sdanig

fix

JavaScript: fix XMLHttpRequest with empty body of 'PUT' method. Fixes 2903679.asashour

fix

JavaScript: allow setting element.width and .height to a value that ends with 'px'.asashour

fix

JavaScript: fix computed element widths and heights when percentages are involved in the CSS.sdanig

update

Deprecated BrowserVersion.FIREFOX_2.mguillem

add

Add WebClientUtils.attachVisualDebugger(WebClient).sdanig

fix

JavaScript: add support for "onerror" event handlers on script nodes (FF only). Fixes 2815823.sdanig

fix

JavaScript: better value for document.body.clientHeight. Fixes 2897473.sdanig

fix

WebClient.closeAllWindows: improved JavaScript threads termination.mguillem

add

Add WebWindow.isClosed().mguillem

fix

JavaScript HtmlUnit RegExp proxy: escape dollar after escaped backslash. Fixes 2906293.mguillem

fix

JavaScript HtmlUnit RegExp proxy: un-escape illegally escaped characters. Fixes 2879412.mguillem

update

Change TopLevelWindow and DialogWindow constructors' visibility to protected.mguillem

fix

Don't pick invisible frame window as the current window. Fixes 2907515.mguillem

fix

CSS: don't override rules with a higher specificity.mguillem

fix

JavaScript: window.getSelection() returns null for frame windows that are not displayed (FF only).mguillem

fix

MetaTag: fix NPE in encoding detection. Fixes 2906062.asashour

fix

Don't skip form submission to same URL when triggered from an anchor with href="#".mguillem

fix

JavaScript: added support for functions ScriptEngine, ScriptEngineMajorVersion, ScriptEngineMinorVersion, and ScriptEngineBuildVersion (IE only). Fixes 2905890.mguillem

fix

JavaScript: keyCode of lower case characters is the same than upper case ones. Fixes 2905890.mguillem

fix

JavaScript: add support for HTMLTextArea.setSelectionRange (FF only). Fixes 2894952.mguillem

fix

JavaScript: enforce same-origin policy for XMLHttpRequest. Fixes 2891430.mguillem

fix

Use style sheets too to compute DomNode.isDisplayed.mguillem

fix

HtmlNoFrames.asText() returns empty string. Fixes 2899045.mguillem

fix

JavaScript: XMLHttpRequest.responseXML is null when send() has not been called.mguillem

fix

JavaScript: XMLHttpRequest.responseXML is accessible when no content type header is present.mguillem

update

JavaScript: log exceptions thrown in background threads. Fixes 2900487.asashour

fix

IEConditionalCompilationScriptPreProcessor should ignore string literals. Fixes 2881627.asashour

fix

HtmlNoFrames: preserve inner XML content.asashour

fix

JavaScript: add support for ProcessingInstruction during parsing. Fixes 2899485.asashour

fix

JavaScript: better calculation of element.offsetTop and element.offsetHeight properties. Fixes 2892939.sdanig

fix

Implement setter and getter for textContent on DomAttr.mguillem

fix

JavaScript: fix exception accessing selectionStart and selectionEnd on inputs of type password.mguillem

fix

JavaScript: better calculation of element.offsetLeft property. Fixes 2888451.sdanig

fix

JavaScript: document.write() should have an affect (by implicit postponed call to close()). Fixes 2892533.asashour

fix

Empty frames added via JavaScript shouldn't ever really become the "current window". Fixes 2890847.sdanig

fix

JavaScript: fix attribute.setNodeValue().asashour

fix

JavaScript: fix NPE when element.setAttributeNode() is called for non-existing attribute. Fixes 2887288.asashour

fix

JavaScript HtmlUnit RegExp proxy: escape "$" in replacement string for String.replace. Fixes 2891013.mguillem

fix

JavaScript HtmlUnit RegExp proxy: replace "$$" by "$" in replacement string for String.replace. Fixes 2890953.mguillem

fix

DefaultCredentialsProvider: addCredentials should overwrite previous values.mguillem

fix

JavaScript: fix setting of element.innerText and .textContent with empty string or null. Fixes 2889583.asashour

fix

Meta refresh: handle space as separator between delay and url. Fixes 2888604.mguillem

fix

JavaScript: events focus and blur don't apply to all kind of HTML elements. Fixes 2888289.mguillem

fix

JavaScript: add support for onerror handler. Fixes 2888342.mguillem

fix

Fix issue where WebClient.waitForBackgroundJavaScriptStartingBefore hangs (setInterval with short interval).mguillem

fix

HtmlScript: "for" and "event" attributes for 'window' are ignored by FF.asashour

fix

JavaScript: MouseEvent.initMouseEvent and KeyboardEvent.initKeyEvent initialize metaKey Fixes 2888366.mguillem

fix

Fixed StringIndexOutOfBoundsException occurring when typing in a cloned text input or textarea node.mguillem

fix

JavaScript: pre-process \xDD in string literals before IE conditional compilation. Fixes 2881627.asashour

add

JavaScript: allow MouseEvent to have independent client coordinate values, if necessary.sdanig

fix

Fix the DomNodeList returned by DomNode.getChildNodes() so that it behaves correctly when children are removed from the DOM.sdanig

update

Deprecate DomNode.getAllHtmlChildElements(); replaced by the more intuitively named DomNode.getHtmlElementDescendants().sdanig

add

JavaScript: implement range.extractContents() (Firefox only).sdanig

fix

JavaScript: properly handle body elements with qualified name. Fixes 2881794.asashour

fix

Fix Node.setTextContent() to set the text for comment, cdata, text and processing instruction nodes, rather than appending a new text node.sdanig

fix

JavaScript: mouse event 'ondblclick' should not trigger 'onclick' handler.asashour

fix

CSS: add support for rule priority. Fixes 2880057.mguillem

fix

JavaScript: properly escape XML entities in .xml property (IE) and XMLSerializer (FF).sdanig

add

JavaScript: add support for HTMLDocument.lastModified. Fixes 2875273.mguillem

fix

JavaScript: support the serialization of comments in .xml property (IE) and XMLSerializer (FF).sdanig

add

JavaScript: implement element.getAttributeNodeNS() (Firefox only).sdanig

fix

JavaScript: XMLHttpRequest.open throws an exception when the provided url is null or an empty string.mguillem

fix

Fix caching of page's document element even after the document element has been removed from the page.sdanig

fix

JavaScript: add support for XMLHttpRequest.onload (Firefox only).sdanig

fix

JavaScript: document.activeElement is the document body by default (IE only).sdanig

fix

JavaScript: add support for selection.addRange(), selection.removeAllRanges() and selection.removeRange() (FF only).sdanig

fix

JavaScript: add support for TextRange.htmlText and TextRange.moveToElementText (IE only). Fixes 2874300.sdanig

fix

JavaScript: handle namespaces when serializing XML. Fixes 2856764.asashour

fix

JavaScript: window.location should start with 'file:///' instead of just 'file:/' when dealing with a local file.sdanig

fix

JavaScript: HTMLTableCellElement.cellIndex, HTMLTableRowElement.rowIndex and sectionRowIndex (FF only) return -1 when the element is not added to the document.mguillem

update

Don't allow JavaScript catch statements to catch HtmlUnit internal errors.mguillem

fix

JavaScript: fix how document.write() detects complete string. Fixes 2855731.asashour

fix

The default value of range.startContainer and range.endContainer is the document itself (Firefox only). Fixes 2873035.sdanig

add

JavaScript: primitive support for xmlDocument.createNode() (IE only). Fixes 2856764.asashour

add

JavaScript: implement attributes.setNamedItem().asashour

fix

Avoid errors triggered by images with onload attributes and invalid src URLs.sdanig

fix

HtmlPage.getPageEncoding() was sometimes returning a different encoding than the encoding actually used to parse the page. Fixes 2860732.sdanig

add

Implement DomAttr.getSpecified() and SgmlPage.createAttribute().asashour

fix

JavaScript: HTMLElement.offsetWidth and offsetHeight are 0 when the element is hidden.mguillem

fix

DomNode.asText() considers UL content that is not within a LI too. Fixes 2868052.mguillem

fix

Fix HtmlHtml.getCanonicalXPath() when document contains a doctype declaration. Fixes 2865948.mguillem

fix

Form submission: don't send a Content-Type header when method is GET.mguillem

fix

FormEncodingType.getInstance returns URL_ENCODED if the requested encoding type doesn't exist. Fixes 2860721.mguillem

fix

JavaScript: don't call (i)frame's onload handler for the dummy page that fill the frame until the real content is loaded. Fixes 2819477.mguillem

fix

Loading about:blank in an existing window resets the JavaScript scope for the window.mguillem

update

JavaScript: window.opener is always writable for IE and only in special cases for FF.mguillem

update

When a textarea receives focus its content is not selected and call to type(...) causes content to be appended.mguillem

update

Click on a non form element removes focus from current element and triggers handlers if needed.mguillem

fix

JavaScript: respect headers set by XMLHttpRequest.setRequestHeader(). Fixes 2862553.asashour

update

JavaScript: improve resolution performance of "someForm.someField" when many elements in the page have "someField" as id or name attribute but only one in the provided form. Fixes 2860541.mguillem

update

List returned by HtmlPage.getElementsByIdAndOrName is now mutable.mguillem

fix

JavaScript: delete operator should not walk property chain. Fixes 2834335.mguillem

update

Upgrade HtmlUnit-core-js to 2.7-SNAPSHOT (corresponds to head of Rhino trunk from Sep 21, 2009 + minimal adaptations).mguillem

fix

JavaScript: remove String functions "equals" and "equalsIgnoreCase", Array functions "reduce" and "reduceRight" (FF2 and IE), global functions "isXMLName" and "uneval" (IE) as well as "toSource" on all objects (IE).mguillem

fix

JavaScript: properly handle element.textContent with null value (FF only). Fixes 2861623.asashour

fix

JavaScript: set the checked property of input of type 'radio' to defaultChecked when it is attached (IE only).asashour

fix

JavaScript: HTMLImageElement's height and width are numbers, not strings. Fixes 2861064.mguillem

update

HTMLElement.offsetWidth tries to compute width depending on the content when CSS attribute float is set to "right" or "left".mguillem

update

CSS: add support for CSS3 pseudo classes :root, :enabled, :checked.mguillem

fix

JavaScript: HTMLStyleElement.sheet parses all child nodes and not only the first one.mguillem

fix

JavaScript: fix style 'pixel' attributes. Fixes 2855470.asashour

add

JavaScript: HTMLTableElement's properties caption, tHead and tFoot are writable (FF only) with right parameters, otherwise an exception is thrown.mguillem

add

JavaScript: add support for HTMLTableRowElement.sectionRowIndex.mguillem

add

JavaScript: add support for DOMException constants (FF only).mguillem

update

JavaScript: HtmlDocument.createTreeWalker accepts function as filter (FF only).mguillem

fix

Fix memory leak when many different BrowserVersion instances used. Fixes 2854240.sdanig

fix

JavaScript: HtmlButtonElement.type falls back to default value ("submit" for FF, "button" for IE) when attribute "type" is removed.mguillem

add

Add IE8 support.asashour

fix

JavaScript: appendChild, insertBefore and replaceChild throw exception (FF) or silently fail (IE) when parameter is the HTML node.mguillem

fix

HtmlAnchor: fix characters escaping if 'href' is a javascript.asashour

fix

Correctly clean up "/./" and "/../" sequences from URLs. Fixes 2854634. Thanks to Rodney Gitzel.mguillem

fix

JavaScript: fix button.type attribute.asashour

fix

JavaScript: perform delayed form submission with fields and target values at the moment where HtmlFormElement.submit is called.mguillem

add

JavaScript: add primitive support for MutationEvent.asashour

update

JavaScript: use KeyboardEvent in htmlElement.type() and add support for .charCode.asashour

fix

JavaScript: normal submit button action has priority over HtmlFormElement.submit() called in onclick handler.mguillem

fix

JavaScript: when link's onclick changes location the next page is still the one mentioned in href.mguillem

fix

JavaScript: avoid multiple form submissions when HtmlFormElement.submit() is called multiple times.mguillem

remove

BrowserVersion: remove deprecated methods related to JavaScript version.asashour

update

Update JavaDoc of HtmlElement.click methods to reflect what already happens: click returns the page in the WebClient's current window.mguillem

remove

Remove deprecated ClickableElement and StyledElement.asashour

Release 2.6 - Sep 2, 2009

TypeChangesBy

add

JavaScript: add basic support for element.scopeName and .tagUrn (IE only). Fixes 2848802.asashour

fix

JavaScript: HtmlFormElement.action returns the fully qualified URL (FF only).mguillem

fix

JavaScript: setting HtmlTextAreaElement's defaultValue changes the current value if it is still the initial one (FF only).mguillem

add

JavaScript: add primitive support for KeyboardEvent.asashour

fix

Allow "javascript:..." URLs with encoded script code. Fixes 2847838.sdanig

fix

Use the browser language (from the BrowserVersion being used) to set the value of the "Accept-Language" HTTP header. Fixes 2812769.sdanig

fix

Don't treat 304 responses as if they were redirections. Fixes 2821888.sdanig

fix

JavaScript: node.insertBefore() handles undefined variable. Fixes 2846557.asashour

update

Cache: use cache for all kinds of (cacheable) content.mguillem

fix

CSS: resolve relative URLs in @import rule from URL of current style sheet.mguillem

fix

JavaScript: HTMLSelectElement throw exception when invalid value is set to selectedIndex (FF only).mguillem

update

DebuggingWebConnection: display received headers in generated report, added addMark method.mguillem

fix

CookieManager: handle cookies with null value.asashour

fix

JavaScript: handle empty code.asashour

update

Upgrade commons-codec to 1.4asashour

fix

JavaScript: document.getElementById() and document.getElementsByNames() trigger implicit document.close() calls (IE only).sdanig

fix

JavaScript: window.frames returns a reference to the window itself. Fixes 2824436.sdanig

update

Force NekoHtml and Xalan to use xercesImpl 2.9.1 dependency. Fixes 2837819.asashour

add

Add selection-related methods to HtmlPasswordInput. Fixes 2832735.sdanig

fix

JavaScript: fixed NPE calling inRange with selection range when nothing is selected (IE only). Fixes 2836591.mguillem

fix

Add TITLE to HEAD even if it is found in BODY. Fixes 2824134.mguillem

fix

Submit image button name too (FF only).mguillem

fix

Include caption in HtmlTable's asText() representation. Fixes 2833588.mguillem

fix

Fix DomNode.compareDocumentPosition() (FF only).asashour

add

JavaScript: add support for the compact attribute on ul, ol, menu, dl and dir elements.sdanig

add

JavaScript: implement node.normalize().asashour

fix

JavaScript: support the serialization of CDATASection in .xml property (IE) and XMLSerializer (FF).asashour

fix

HtmlScript: fix the order of "type" and "language" attributes evaluation.asashour

update

DomText: deprecate splitDomText(), use splitText() instead.asashour

fix

JavaScript: fix .prefix attribute of xml nodes.asashour

fix

JavaScript: fix text.splitText().asashour

add

JavaScript: implement xmlDocument.getElementsByTagName(), .getElementsByTagNameNS() and .nodeFromID().asashour

fix

Fix many issues with WebClient serialization and deserialization. Thanks to Nick Kralevich.sdanig

fix

Load stylesheets referenced via @import.sdanig

fix

JavaScript: fix XMLSerializer for non-element nodes (FF only).asashour

update

JavaScript: move .xml attribute from xmlElement to xmlNode (IE only).asashour

update

INCOMPATIBLE CHANGE: rename DomCData to DomCDataSection.asashour

fix

JavaScript: node.appendChild() can be called inside xmlDocument.asashour

add

XmlDocument: implement .createProcessingInstruction() and .createCDATASection().asashour

add

JavaScript: add support for map.areas attribute.asashour

fix

JavaScript: process scripts with 'application/javascript' type (FF only).asashour

fix

JavaScript: return collection if elements with duplicate IDs are found (IE only).asashour

fix

Properly handle unicode characters in requested URLs. Fixes 2818493.asashour

update

Deprecate WebClient.setIgnoreOutsideContent and HTMLParser.setIgnoreOutsideContent.mguillem

add

Set 'referer' header on loading pictures and CSS files. Fixes 2817634.mguillem

add

JavaScript: add basic support for CSSValue, CSSPrimitiveValue, and CSSStyleDeclaration.getPropertyCSSValue (FF only). Fixes 2820873.mguillem

fix

JavaScript: set currentTarget on event when event handler is called after global event listener. Fixes 2820873.mguillem

fix

Cleanup "/./" and "/../" in URLs before to perform a request. Fixes 2819046.mguillem

fix

Fixed ConcurrentModificationException occurring in invalidation of computed styles when an other page tried to access some style information at the same time. Fixes 2820051.mguillem

fix

JavaScript: about:blank (i)frame domain is the one of the container page (FF and IE) and same rules apply to set domain (FF only).mguillem

fix

CSS: invalidate style of child elements when node attribute is changed.mguillem

fix

JavaScript: read only properties can't be written (FF3 only).mguillem

fix

JavaScript: parseFloat trim leading new line signs. Fixes 2815674.mguillem

fix

Incorrect HTML: move DIV within TABLE before the TABLE. Fixes 2766583.mguillem

fix

HtmlPage.asXml(): don't escape XML special characters when style node contains an XML comment. Fixes 2802096.mguillem

fix

Correctly fire load events attached to script nodes via addEventListener (FF only). Fixes 2815823.sdanig

fix

JavaScript: document.namespaces can be used as a function (IE only). Fixes 2815905.sdanig

fix

Fix NullPointerException thrown for script tags referencing a resource that returns a 204 (No Content) response. Fixes 2815903.sdanig

fix

JavaScript: add support for the window.onbeforeunload attribute. Fixes 2808901.sdanig

add

JavaScript: add support for textarea.rows and textarea.cols attributes.sdanig

fix

Some CSS properties are inherited from parent elements (computed styles only).sdanig

fix

JavaScript: form submission should consider event.preventDefault() (FF only). Fixes 2811607.asashour

update

JavaScript: make dummy implementation of HtmlDocument.elementFromPoint available for FF as well.mguillem

add

JavaScript: add support for the colSpan, rowSpan, noWrap, axis and abbr attributes on td and th elements.sdanig

add

JavaScript: add support for the bgColor attribute on table, tr, td and th elements.sdanig

add

Add support for Proxy Auto-Config. Fixes 2799316.asashour

fix

JavaScript: call onbeforeunload handler when TopLevelWindow.close() is called. Fixes 2808520.sdanig

fix

JavaScript: reserve the duplicate ID attribute behavior on changing other attributes.asashour

add

JavaScript: add support for attributes align, vAlign, ch and chOff for thead, tbody, tfoot, tr, td, and th elements.sdanig

fix

CSS: properly handle 'lang' condition. Fixes 2807135.asashour

fix

Handle HTML pages with empty 'Content-Type' HTTP header.asashour

fix

Handle 204 (No Content) HTTP responses correctly. Fixes 2803378.sdanig

fix

JavaScript: implement TextRange.inRange (IE only).mguillem

fix

Check meta tags inside HTML pages for encoding information. Fixes 2804850.sdanig

add

JavaScript: add support for br.clear attribute.sdanig

add

JavaScript: add support for option.form, legend.form, object.form and label.form attributes.sdanig

fix

Add better support for XHTML pages (new XHtmlPage class extends HtmlPage class). Fixes 2515806.sdanig

add

JavaScript: add support for fieldSet.form and fieldSet.align attributes.sdanig

add

JavaScript: add support for body.aLink, body.background, body.bgColor, body.link, body.text and body.vLink attributes.sdanig

add

JavaScript: add support for attr.isId attribute (Firefox 3 only).sdanig

fix

Update page URL when navigating to a local anchor. Fixes 2794667.sdanig

fix

JavaScript: implement placeholder functions history.back(), history.forward() and history.go(). Fixes 1337174.sdanig

fix

JavaScript: fix setting select.value.asashour

update

Extending NodeList to implement List<E extends DomNode>. Fixes 2129288.asashour

fix

JavaScript: fix document.referrer. Fixes 2800211.asashour

update

JavaScript: fix document.createAttribute().asashour

update

HtmlObject: "classid" is supported (using Jacob). Fixes 2799550.asashour

add

HtmlSelect: add .getOptionByText(). Fixes 2674431.asashour

add

HtmlPage and HtmlImage: add .save(). Fixes 2486331.asashour

update

Change default value for "Accept-Language" HTTP header to "en-us".asashour

fix

HtmlForm: properly handle 'action' which starts with a question mark. Fixes 2794061.asashour

update

Deprecate WebRequestSettings.addAdditionalHeader() and HtmlPage.getFirstAnchorByText().asashour

fix

Handle XmlPage with NO_CONTENT HTTP status. Fixes 2792033.asashour

fix

JavaScript: option.selected does not necessarily mean there is 'selected' attribute.asashour

fix

JavaScript: correct attribute .firstChild and .lastChild (FF only).asashour

fix

IE Conditional comments: handle comments with invalid expressions as plain text. Fixes 2789325.mguillem

fix

JavaScript: handle multiple conditional compilation comments (IE only). Fixes 2784679.mguillem

update

JavaScript: document.getElementById() should be case insensitive (IE only).asashour

fix

JavaScript: body element of a frame has to be null while loading only as long as nothing has been loaded (IE only).mguillem

add

JavaScript: initially implement properties of HTMLMetaElement.asashour

add

JavaScript: add support for iframe.width and iframe.height properties.sdanig

add

JavaScript: add element.document (IE only).asashour

add

WebRequestSettings: add .removeAdditionalHeader() and make headers case-insensitive.asashour

add

JavaScript: implement xmlDocument.createElementNS() (FF only).asashour

fix

JavaScript: 'class' attribute should be trimmed (FF only).asashour

fix

JavaScript: fix properties defined in super objects (IE only), and fix .getAttribute() and .getAttributeNode().asashour

fix

Parser: don't recognize &prod as incomplete entity. Fixes 2783489.mguillem

fix

JavaScript: fix incorrect escaping of backslash in replacement for String.replace(String, String). Fixes 2783950.mguillem

add

JavaScript: primitive implementation of canvas (FF only). Fixes 2786813.asashour

fix

JavaScript: better implementation for "node's attributes collection is never empty for IE".asashour

fix

JavaScript: option.value should not be affected by the text content (IE only).asashour

add

JavaScript: add support for caption.align (IE and FF) and caption.vAlign (IE only).sdanig

add

Add WebClient.getTopLevelWindows().sdanig

fix

Ignore content-type meta tag if HTTP header is specified.asashour

update

WebResponse: Deprecate .getContentCharSet(), .getRequestMethod(), and .getRequestUrl(). Add .getContentCharset() and .getContentCharsetOrNull().asashour

fix

JavaScript: add support for selection.empty() and selection.type (IE only).sdanig

fix

JavaScript: setInterval() invocations with a 0 millisecond delay behave like setTimeout() invocations in IE.sdanig

add

JavaScript: add support for the col.align, col.vAlign, col.span, col.width, col.chOff and col.ch attributes.sdanig

add

JavaScript: add support for input.accessKey, label.accessKey, anchor.accessKey, button.accessKey, legend.accessKey, textarea.accessKey and area.accessKey (Firefox only).sdanig

remove

Deprecation: remove HtmlAttr, XmlElement, BrowserVersion.INTERNET_EXPLORER_6_0, .isNetscape(), getNickName(), DomAttr.getHtmlValue(), .getAttributeValue(), HtmlElement.isAttributeDefined(), .getAttributesCollection(), .getHtmlElementById(), .getHtmlElementsByAttribute(), HtmlPage.createHtmlElement(), WebResponse.getLoadTimeInMilliSeconds(), .getResponseBody(), and .getUrl().asashour

Release 2.5 - Apr 21, 2009

TypeChangesBy

update

Upgrade HtmlUnit-core-js to 2.5.asashour

update

Upgrade NekoHtml to 1.9.12.asashour

fix

JavaScript: fix ClassCastException setting or reading property readOnly of HtmlTextAreaElement. Fixes 2768942.mguillem

update

JavaScript: added support for HTMLTableRowElement.deleteCell. Fixes 2767841.mguillem

update

HtmlUnit-core-js now changes package names from org.mozilla.* to net.sourceforge.htmlunit.corejs.* to allow project to use "original" Rhino together with HtmlUnit.mguillem

add

Add HtmlPage.getElementByName(String) method.sdanig

fix

Remove leading "../" (if any) when resolving URLs. Fixes 2192395.mguillem

fix

JavaScript: don't try to instantiate applets accessed by JavaScript when applet support is disabled.mguillem

fix

HtmlOption: handle markup in nested content when it has to be used as default value.mguillem

fix

HtmlOption.asText(): no need to consider label attribute.mguillem

fix

HtmlOption: label attribute should not be considered in asText().mguillem

fix

JavaScript: dynamically created iframe should load external scripts. Fixes 2722972.asashour

fix

HtmlPage: getFullyQualifiedUrl() should be relative to page of the top window. Fixes 2723086.asashour

add

(EXPERIMENTAL) Add WebClient.waitForBackgroundJavaScript() and WebClient.waitForBackgroundJavaScriptStartingBefore(), which allow waiting for JavaScript background jobs to finish (should be used instead of JavaScriptJobManager methods, which are internal APIs).mguillem

add

Add DomNode.isDisplayed() to the public API.sdanig

add

JavaScript: add support for reading and writing img.align, p.align, table.align, thead.align, tbody.align, tfoot.align, iframe.align, input.align and applet.align properties.sdanig

add

JavaScript: add support for reading and writing the base.href and base.target properties.sdanig

fix

JavaScript: window.event should be available during execution of script.onreadystatechange handler (IE only). Fixes 2706760.sdanig

fix

JavaScript: element.getElementsByTagNameNS() can accept null 'namespaceURI'. Fixes 2704664.asashour

fix

Correctly initialize style attribute of images created via JavaScript. Fixes 2697650.sdanig

fix

JavaScript: add support for 'oninput' events on text inputs (Firefox only). Fixes 2672376.sdanig

fix

JavaScript: window.open() can accept numeric name. Fixes 2688241.asashour

fix

JavaScript: in an XMLHttpRequest handler, 'this' is the handler when simulating FF2 and the XHR otherwise.mguillem

fix

ToplevelWindow.close() deregisters sub-frames.mguillem

fix

JavaScript: add support for window.length.mguillem

fix

HtmlForm: submit to the same page if 'action' attribute is not defined. Fixes 2665820.asashour

fix

Apply ScriptPreProcessor to window.eval(). Fixes 2630555.mguillem

fix

HtmlPage.asXml(): expand empty UL and OL nodes to make generated XML readable as HTML on browsers.mguillem

update

Upgrade HtmlUnit-core-js to 2.5 (corresponds to head of Rhino branch 1.7R2 from Dec 12, 2008 + fix for Rhino issue 477604). Fixes 2531218.mguillem

fix

JavaScript: add support for selection.getRangeAt() (Firefox only).sdanig

fix

JavaScript: add support for CSSImportRule. Fixes 2658249.sdanig

fix

Make password inputs listen to event.preventDefault(). Fixes 1813007.sdanig

fix

JavaScript: calling event.stopPropagation() shouldn't preclude using multiple event listeners of the same type on a single node. Fixes 2643655.sdanig

fix

JavaScript: add support for event.cancelBubble in Firefox emulation mode (already present in IE emulation mode). Fixes 2643655.sdanig

fix

JavaScript: setting event.returnValue=false should abort the event (IE only). Fixes 2643655.sdanig

add

JavaScript: add support form.item() (IE only).asashour

fix

When a form is submitted via JavaScript (form.submit()), form submittal should not actually occur until after the current script finishes executing. Fixes 2603370.sdanig

fix

Fix content type sniffing for local XHTML files. Fixes 2515756.sdanig

fix

Fix case-sensitivity of XPath expressions for XHTML documents that are served as 'text/xml'. Fixes 2515873.sdanig

fix

JavaScript: add support for the window.onerror attribute.sdanig

fix

JavaScript: document functions should be usable without a reference to the document (IE only). Fixes 2602044.sdanig

add

JavaScript: add support for element.clearAttributes() and element.mergeAttributes() (IE only).sdanig

fix

JavaScript: handle invalid back references in string.replace(...) as if they were escaped. Fixes 2638813.sdanig

fix

JavaScript: remove objects created by Rhino in window scope like 'com' that aren't available in browsers. Fixes 2636581.mguillem

update

JavaScript: process false return value of handlers added by .attachEvent() or .addEventListener(). Fixes 2624738.asashour

fix

JavaScript: make prototype available on DOM nodes as __proto__ (FF only).mguillem

fix

JavaScript: hide standard Object and Array functions that don't exist on IE.mguillem

fix

JavaScript: Expand support for document.namespaces collection.sdanig

fix

JavaScript: XMLSerializer should properly handle Document.asashour

fix

JavaScript: Date.getYear() returns four digits for years before 1900 and after 1999 when simulating IE. Fixes 2615817.mguillem

fix

JavaScript: single submission of form if onclick handler of HTMLSubmitInput also submits the form. Fixes 2603370.asashour

update

Add default value for "Accept" and "Accept-Language" HTTP headers. Fixes 2602044.asashour

add

JavaScript: add support for HTMLElement.removeNode(). Fixes 2602044.asashour

update

JavaScript: move removeAttribute() from HTMLElement to Element.asashour

update

JavaScript: element.doScroll() should throw an exception if page is not yet loaded.asashour

fix

JavaScript: fix the return value of node.insertBefore(). Fixes 2526045.asashour

fix

JavaScript: fix behavior when document.cookie is set to an empty string or a string without an '=' character. Fixes 2511851.sdanig

fix

JavaScript: fix element.parentElement if the parent is DocumentFragment. Fixes 2501217.asashour

fix

JavaScript: anchor's href attribute is empty string when no href was specified.mguillem

fix

JavaScript: custom RegExp proxy now ignores back references in character class as browsers do.mguillem

fix

Correct JavaScript parent scope after using WebClient.setCurrentWindow.bradclarke

add

JavaScript: add support for Enumerator (IE only). Fixes 2509952.asashour

fix

JavaScript: custom RegExp proxy now accepts unescaped opening square brackets in character class.mguillem

add

JavaScript: add support for HTMLDocument.dispatchEvent (FF only).mguillem

update

JavaScript: properties of XMLHttpRequest ActiveX object are case insensitive. Fixes 2520971.asashour

fix

Allow numbers with decimal points in refresh meta tags.sdanig

fix

JavaScript: XMLHttpRequest is supported in IE7.asashour

fix

Fail gracefully when script tags contain empty 'src' attributes.sdanig

fix

Make the cookie manager thread-safe.sdanig

fix

JavaScript: setting anchor.hash should accept values both with and without the '#' character.sdanig

fix

JavaScript: values returned by anchor.hash should include the '#' character.sdanig

add

JavaScript: add support for HTMLElement.dir, .lang, .tabIndex and .spellcheck.asashour

add

JavaScript: add support for window.atob() and btoa().asashour

fix

JavaScript: compute URL relatively to owning page for showModelessDialog and showModalDialog. Fixes 2528830.mguillem

fix

IE Conditional comments: accept expressions that contain identifier other than IE (like mso). Fixes 2503965.mguillem

fix

If content-type meta tags contain empty encoding information, ignore it and use the default encoding. Fixes 2484753.sdanig

update

Ignore namespaces if the tag name does not have a prefix. Fixes 2502817.asashour

update

DomElement.getElementsByTagName() should search in only sub-elements. Fixes 2501193.asashour

add

JavaScript: add support for document.createComment().asashour

update

Deprecate ClickableElement and StyledElement, directly use HtmlElement instead.asashour

add

JavaScript: add initial support for TextRange.moveStart() and .moveEnd(). Fixes 2495285.asashour

add

JavaScript: add support for document.getElementsByClassName and HTMLElement.getElementsByClassName (FF3 only).mguillem

update

JavaScript: document.execCommand doesn't throw an exception when called with unknown command (FF3 only).mguillem

update

JavaScript: document.scripts doesn't exist for FF.mguillem

update

JavaScript: when simulating Firefox, document.write(ln) returns the function, no matter if elements with this name are present or not.mguillem

update

JavaScript: document.createEvent doesn't initialize the target property under FF3.mguillem

update

JavaScript: document.all('notExisting') returns undefined for FF.mguillem

update

JavaScript: tags property exists on collections for FF2 but not for FF3.mguillem

update

JavaScript: prototype should not be enumerated (FF).mguillem

update

JavaScript: IE does not enumerate objects methods.asashour

update

BrowserVersion: deprecate setJavaScriptVersion(), getJavaScriptVersion() and getJavaScriptVersionNumeric().asashour

update

Replace ThreadManager with JavaScriptJobManager, which internally uses the executor services provided by JDK 5.sdanig

add

Add HtmlAbbreviated, HtmlAcronym, HtmlBackgroundSound, HtmlBig, HtmlBlink, HtmlBold, HtmlCitation, HtmlCode, HtmlDefinition, HtmlEmphasis, HtmlExample, HtmlItalic, HtmlKeyboard, HtmlListing, HtmlMarquee, HtmlMultiColumn, HtmlNoBreak, HtmlNoEmbed, HtmlPlainText, HtmlS, HtmlSample, HtmlSmall, HtmlSpacer, HtmlStrike, HtmlStrong, HtmlSubscript, HtmlSuperscript, HtmlTeletype, HtmlUnderlined and HtmlVariable.asashour

remove

Deprecation: remove XmlAttr, SubmitMethod, WebRequestSettings.setURL(), and WebClient methods: setCookiesEnabled(), setProxyHost(), setProxyPort(), addHostsToProxyBypass(), and removeHostsFromProxyBypass().asashour

Release 2.4 - Dec 30, 2008

TypeChangesBy

update

Upgrade HtmlUnit-core-js to 2.4 (corresponds to head of Rhino branch 1.7R2 from Dec 12, 2008).mguillem

update

Upgrade NekoHtml to 1.9.11.asashour

add

Add support for HtmlEmbed, HtmlCanvas and HtmlWordBreak.asashour

fix

JavaScript: correct the return value of EventNode.fireEvent(). Fixes 2421302.asashour

update

JavaScript: add dummy implementation for TextRange methods collapse and select (IE).mguillem

fix

JavaScript: replace \n with \r\n for property defaultValue of HtmlTextAreaElement (IE) and ignore leading new line sign. Fixes 2438622.mguillem

fix

JavaScript: frame window object retrieved through should be live and reflect page loads in the window. Fixes 2314485.mguillem

update

JavaScript: do not throw exception on invalid regular expressions.mguillem

add

Support for IE conditional comments in HTML code.mguillem

update

JavaScript: removeAttribute should delete node property too (IE only), getAttribute returns property if no attribute is found (IE only).mguillem

fix

JavaScript: fixed exception occurring while accessing src property of freshly created Image object. Fixes 2214332.mguillem

fix

HtmlPage.asXml(): expand empty table nodes to make generated XML readable as HTML on browsers. Fixes 2393355.mguillem

fix

HtmlTextArea.type(...) should not trigger onchange handler.mguillem

fix

Delay execution of image onload handlers after the page finish to load. Fixes 2382872.mguillem

add

First experiments to support applets.mguillem

update

100% success with MochiKit unit tests.mguillem

add

JavaScript: HTMLElement.filters is not undefined (IE only).mguillem

fix

JavaScript: offsetParent is undefined for detached nodes.mguillem

fix

JavaScript: HTMLHtmlElement's clientWidth and clientHeight gives the available screen size.mguillem

fix

CSS: font-size is inherited.mguillem

fix

CSS: parse shorthand background to find background color.mguillem

fix

CSS: parse individual border width from borderWidth.mguillem

fix

JavaScript: add dummy implementation for HTMLElement's clientLeft and clientTop.mguillem

update

Deprecate HtmlPage.getHtmlElementByAccessKey(), HtmlPage.getHtmlElementsByAccessKey(), HtmlPage.getHtmlElementsByName(), HtmlPage.getHtmlElementsByIdAndOrName(), HtmlElement.getHtmlElementsByAttribute() and HtmlElement.getHtmlElementById().asashour

update

Deprecate DomElement methods getAttributeValue, setAttributeValue. Usage of DOM 2 methods getAttribute, getAttributeNS, setAttribute and setAttributeNS is preferred.mguillem

update

Deprecate XmlPage.getDocumentXmlElement(), HtmlPage.createHtmlElement() and createHtmlElementNS().asashour

fix

Document and Element.getElementsByTagName() should not be affected by namespaces.asashour

fix

JavaScript: node's attributes collection is never empty for IE.mguillem

add

JavaScript: add support for Comment object. Fixes 2318054. Thanks to Mirko Friedenhagen.asashour

fix

JavaScript: prototype for event handlers should be the function prototype. Fixes 2318508.sdanig

update

JavaScript: add support for document.captureEvents (FF). Fixes 2024729.sdanig

fix

JavaScript: fix option.text. Fixes 2316809.asashour

add

JavaScript: add support for window.showModalDialog() and window.showModelessDialog(). Fixes 2124916.sdanig

fix

JavaScript: support Text object. Fixes 2315783.asashour

fix

HtmlInput: typing enter should behave as clicking submit input.asashour

update

JavaScript: added support for document.applets.mguillem

add

JavaScript: add support for getting and setting the image.onload attribute. Fixes 1693272.sdanig

add

If an image has an onload handler, download the image and then invoke the onload handler. Fixes 1693272.sdanig

add

JavaScript: add support for elements.nextNode() and elements.reset() for the element collection returned by XmlDocument.selectNodes(...) (IE only). Fixes 1829981.sdanig

fix

JavaScript: fix setting input.type if it is the first child.asashour

fix

When querying elements for namespaced attributes, don't fall back to returning non-namespaced attributes. Fixes 2024619.sdanig

add

JavaScript: add support for element.removeAttributeNS() (FF only). Fixes 2024619.sdanig

add

JavaScript: dummy support for XUL element in HtmlDocument.createElementNS (FF only).mguillem

add

JavaScript: window.controllers is not null (FF only).mguillem

fix

JavaScript: IE ignores empty text children.asashour

add

JavaScript: add support for document.queryCommandEnabled().sdanig

add

JavaScript: add partial support for window.getSelection() (FF only).sdanig

fix

JavaScript: element.style.opacity only accepts numeric values when emulating FF.sdanig

fix

JavaScript: fix element.style.display default values when emulating IE.sdanig

fix

JavaScript: element.style length-related attributes should be converted to pixels (FF only).sdanig

fix

JavaScript: postpone the execution of setting 'location.href'. Fixes 2229862.asashour

fix

JavaScript: select.appendChild(option), .add(), and insertBefore() should update .selectedIndex.asashour

fix

Silently ignore HTTP Status code "USE_PROXY" (305), and treat it as success. Fixes 2214332.asashour

fix

XPath: proper handling of upper cased HTML elements.asashour

add

Implemented DomNode#compareDocumentPosition and add Node.compareDocumentPosition (FF only).mguillem

add

JavaScript: add support for element.contains() (IE only).asashour

fix

JavaScript: element.innerHTML should quote anchor href attributes and empty attributes when emulating IE. Fixes 2262599.sdanig

fix

JavaScript: In certain cases, node collections were returning elements when inexistent attributes were accessed.sdanig

fix

As per browser conventions, the node for the top-level html tag should only ever contain the head and body tags -- never any text nodes.sdanig

fix

JavaScript: make sure element.offsetWidth is constrained by the element's parent's dimensions.sdanig

fix

CSS rules specified in stylesheets should not override CSS rules specified directly in an element's "style" attribute.sdanig

add

JavaScript: implement element.style.pixelLeft, pixelRight, pixelTop and pixelBottom (IE only).sdanig

fix

JavaScript: fire onchange for &lt;input type='file' ...&gt; when field loses focus and value has been changed.mguillem

fix

JavaScript: fire focus event not only on &lt;input ...&gt;. Fixes 2136816.mguillem

add

Add support for HTMLDocument.createTreeWalker (FF only). Fixes 2060645. Thanks to Mike Dirolf.mguillem

add

Add support for 'deflate' Content-Encoding. Fixes 2192292.asashour

update

HtmlPage.asXml(): expand empty style nodes to make generated XML readable as HTML on Firefox 3.mguillem

fix

HtmlTextInput: type() should remove selected text(). Fixes 2187741.asashour

add

JavaScript: add support for document.uniqueID (IE only). Fixes 2187687.asashour

update

Made static WebClient methods getJavaScriptTimeout() and setJavaScriptTimeout() non-static, so that they can be configured on a per-WebClient basis. Fixes 2089599.sdanig

add

JavaScript: add support for document.compatMode.asashour

add

HtmlInput: add isReadOnly() and setReadOnly().asashour

fix

JavaScript: node.appendBefore() should run added script element.asashour

fix

Set 'referer' header and other additional headers on loading external JavaScript files. Fixes 2178172. Thanks to Marco Cova.asashour

fix

JavaScript: window.frames should return the ones with id attribute (IE only). Fixes 2174320.asashour

add

Add support for DocumentType.asashour

update

Better formatting for asText() particularly with new lines for TR, BR or LI and tabs between cells. Fixes 1509340.mguillem

fix

HtmlElement: correctly handle getNodeName(). Fixes 2043322.asashour

fix

JavaScript: correctly handle element.nodeName, .tagName, .prefix, .localName, and .namespaceURI.asashour

add

JavaScript: add support for document.namespaces (IE only).asashour

fix

JavaScript: Firefox doesn't support select.options.childNodes.asashour

update

XmlElement: is deprecated, use DomElement instead.asashour

update

HtmlElement: deprecate getAttributesCollection() and isAttributeDefined().asashour

update

BrowserVersion: deprecate INTERNET_EXPLORER_6_0 and INTERNET_EXPLORER_7_0. Fixes 2129180.asashour

fix

JavaScript: document.cookie should overwrite existing cookie. Fixes 2136953. Thanks to David Bylsma.asashour

update

Upgrade Xalan to 2.7.1 Fixes 2129180.asashour

fix

FrameWindow: should be Serializable.asashour

fix

JavaScript: postpone the execution of dynamically added external scripts.asashour

fix

JavaScript: correct script.onreadystatechange behavior for external JavaScript files.asashour

fix

JavaScript: add support for script.onload (FF only).asashour

fix

JavaScript: Attr.specified queries owner node for attribute's existence.mguillem

fix

JavaScript: HtmlOptionsElement.getAttributeNode returns a node for attributes "id", "value" and "selected" even if these attributes weren't specified in HTML code (IE only).mguillem

fix

JavaScript: HtmlOptionsCollection delegates to enclosing select for FF as well.mguillem

fix

HtmlSelect: removeOption() and replaceOption() to inspect only HtmlOption children. Fixes 2116569.asashour

update

Upgrade JUnit to 4.5.asashour

fix

JavaScript: fireEvent calls handlers with received event object rather than with a copy (IE only).mguillem

fix

JavaScript: trigger deferred scripts' onreadystatechange handler before onload event (IE only).mguillem

fix

JavaScript: constant values like TEXT_NODE on elements are not available when simulating IE.mguillem

fix

JavaScript: objects like HTMLElement don't have a their prototype property in their prototype chain (FF only).mguillem

fix

JavaScript: use 'className' instead of 'class' to get/set class attribute (IE only).mguillem

fix

JavaScript: Node.getAttributeNode returns null if no attribute exists with the specified name.mguillem

fix

Form element can be included as HTML inside XML. Fixes 2105645.asashour

fix

JavaScript: fix incorrect value of CSSStyleRule.selectorText when identified by id (like "#foo"). Fixes 2124854.mguillem

fix

JavaScript: define properties altKey, ctrlKey and shiftKey on UIEvent when simulating Firefox.mguillem

fix

JavaScript: use UIEvent for keyboard events.mguillem

fix

JavaScript: cloneNode copies event handlers when simulating IE.mguillem

update

Better generics: avoid the need for casting when calling HtmlElement.getHtmlElementById(), HtmlForm.getInputByName(), and .getInputByValue().asashour

fix

JavaScript: implemented workaround for NPE in CSSParser in some usage of CSSStyleSheet.insertRule.mguillem

fix

JavaScript: finished implementation of insertRule (FF) and addRule (IE) on CSSStyleSheet.mguillem

fix

JavaScript: CSSStyleRule.selectorText should return values like ".foo" rather than "*.foo".mguillem

remove

Deprecation: remove HtmlUnitXPath class, DomNode.getXXXDomYYY(), HtmlPage.getDocumentHtmlElement(), HtmlPage.moveFocusToElement(), HtmlPage.getFocusedElement(), WebClient.popFirstWindow(), and WebClient.pushClearFirstWindow().asashour

add

ActiveX: add support for native ActiveX controls (using Jacob).asashour

update

WebResponse interface: deprecate getResponseBody() in favor of getContentAsByteArray(), deprecate getLoadTimeInMillSeconds() in favor of getLoadTime(), deprecate getUrl() in favor of getRequestUrl(), add getContentAsString(String).sdanig

Release 2.3 - Sept 16, 2008

TypeChangesBy

update

Better generics: avoid the need for casting when calling methods like WebClient.getPage(), HtmlPage.getHtmlElementById(), ... NOTE: This change avoids casting so that code like 'HtmlImage e = (HtmlImage) page.getHtmlElementById("myImage")' can be written as 'HtmlImage e = page.getHtmlElementById("myImage")'. HOWEVER, due to a bug in Sun Java 5 compiler (fixed in Java 6 and not existing for instance in Eclipse), calling directly a method from the base return type without assigning the result to a variable will produce a compilation error. A simple workaround consists in changing code like 'page.getHtmlElementById("foo").asText()' to 'page.&lt;HtmlElement&gt;getHtmlElementById("foo").asText()' (or assigning the result of the 'getHtmlElementById("foo")' call to an intermediate variable).asashour

fix

JavaScript: replace \n with \r\n for value property of HtmlTextAreaElement (IE) and ignore leading new line sign.mguillem

fix

JavaScript: document.cookie value to be surrounded by double quotes if it contains space.asashour

update

CookieManager: process server-side cookies.asashour

fix

Avoid NullPointerException when iframe.src is a "javascript:..." URL and JavaScript has been disabled.sdanig

fix

JavaScript: add doScroll() method to bodies, divs, spans and textareas (IE only). Fixes 2088921.sdanig

fix

HtmlTextArea: replace new lines with '%0D%0A' and remove first occurrence in form submission.asashour

fix

JavaScript: when setting location.href, if the only real change is in the hash then just change the hash and don't hit the server. Fixes 2101735.sdanig

add

Allow custom CSS error handlers (via WebClient.getCssErrorHandler() and WebClient.setCssErrorHandler()) and provide two error handler implementations out of the box (DefaultCssErrorHandler and SilentCssErrorHandler). Fixes 2065694.sdanig

update

Upgrade NekoHtml to 1.9.9.asashour

fix

Select element can be included as HTML inside XML. Fixes 2105645.asashour

fix

JavaScript: setting select.selectedIndex should not change page focus. Fixes 2021810.asashour

add

Add facility method WebClient.closeAllWindows().mguillem

fix

JavaScript: StackOverFlowError when setting html fragment containing BODY tag to innerHTML of an element inside BODY. Updated the parser to ignore HTML, HEAD (with contents in IE) and BODY tag while parsing fragment.sudhan_moghe

fix

JavaScript: Make innerHTML property read only in IE for following elements col, colgroup, frameset, head, html, style, table, tbody, tfoot, thead, title, tr. Property is writable for all the elements in FF.sudhan_moghe

fix

JavaScript: Make innerText property read only for following elements html, table, tbody, tfoot, thead, tr. FF do not have the property.sudhan_moghe

add

JavaScript: Add support for title.text.sudhan_moghe

update

WebRequestSettings: Add trailing slash to any URL that contains only hostname (with or without port).asashour

update

Rework WebConnection class hierarchy: remove unnecessary WebConnection.getWebClient() and WebConnection.getState() methods, delete unnecessary WebConnectionImpl abstract class, make WebConnection classes part of the public API by removing their internal API warning.sdanig

add

Add CookieManager class which can be used to manage cookies on a per-WebClient basis. Fixes 1965338.sdanig

fix

Fix condition where CSS warnings and errors did not have a systemID to easily identify error origin. Fixes 2060931.sdanig

fix

JavaScript: add support for properties style (FF) and styleSheet (IE) on HTMLStyleElement and dummy support for the methods insertRule (FF) and addRule (IE) on CSSStyleSheet.mguillem

update

XMLSerializer: includes attributes from HTMLElements. Fixes 2098021. Thanks to Darrell DeBoer.asashour

remove

XmlAttr: remove deprecated constructor with Map.Entry.asashour

fix

ThreadManager: add WebWindow name to the background threads name. Fixes 2093427.asashour

fix

XmlPage: ClassCastException should not be thrown by .getByXPath(). Fixes 2091788.asashour

fix

JavaScript: trigger focus event when clicking an element or typing in it. Fixes 1985241.mguillem

fix

JavaScript: trigger mousedown and mouseup event when an element is clicked. Fixes 2013891.mguillem

fix

JavaScript: make document.styleSheets[x] respect WebClient.printContentOnFailingStatusCode and WebClient.throwExceptionOnFailingStatusCode settings when downloading external CSS files. Fixes 2070940.sdanig

fix

JavaScript: StackOverflowError when setting the location hash via the location.href attribute. Fixes 2089341.sdanig

add

JavaScript: add stylesheet.href attribute. Fixes 2063012.sdanig

fix

Don't parse &lt;noscript&gt; content when JavaScript is enabled. Fixes 1729195.mguillem

fix

JavaScript: document.XXX allow to access forms by id (IE only).mguillem

fix

JavaScript: silently ignore script nodes with event="..." for="..." when the target element can't be found (IE only). Fixes 2037685.mguillem

fix

JavaScript: copy dynamic properties from template in fireEvent (IE only). Fixes 2014596.mguillem

fix

JavaScript: fixed event order when setting the value of a text field. Fixes 2025912.mguillem

fix

JavaScript: escape quotes found in attribute values when accessing through innerHTML. Fixes 2062406.mguillem

update

Make IE7 the default BrowserVersion (was IE6).sdanig

add

Add BrowserVersion for Firefox 3 emulation.sdanig

fix

Fixed NullPointerException occurring document.styleSheets[x] with out of bound index. Fixes 2060550.mguillem

fix

Fixed NullPointerException occurring in HtmlPage.writeInParsedStream() when document.write is called after setting innerHTML of some element in page. Fixes 2052115. Thanks to Ethan Glasser-Camp.sudhan_moghe

fix

HTMLParser: now considers namespaces. Fixes 2043322.asashour

fix

HtmlElement: asText() respects hidden visibility style attribute. Fixes 2042339.asashour

fix

Add missing equals() methods to the PluginConfiguration and PluginConfiguration.MimeType classes.sdanig

fix

WebClient.expandUrl doesn't handle references correctly. Fixes 2027723. Thanks to Martin Tamme.sudhan_moghe

fix

Attribute values for cloned nodes were not available via JavaScript. Fixes 2024741.sdanig

add

JavaScript: add support for navigator.product (FF only). Fixes 2028071.asashour

update

Upgrade Commons Collections to 3.2.1asashour

fix

JavaScript: 'window.event' should be preserved after another event firing.asashour

Release 2.2 - Jul 24, 2008

TypeChangesBy

fix

JavaScript: fix endless recursion when innerHTML has script that modifies the innerHTML. Fixes 2022578.sudhan_moghe

fix

Accept \r and \n for HtmlTextArea.type(). Fixes 2019665.mguillem

fix

Avoid to perform multiple request for the same external stylesheet. Add facility to access referred content from HtmlLink.mguillem

fix

Fix memory leak of window objects when the windows contain long-running background JavaScript tasks scheduled via setInterval() or setTimeout(). Fixes 2014629.sdanig

fix

JavaScript: fix JavaScript error with form.element, when element is located before closing form tag but the tag balancing forces form to be closed earlier. Fixes 2019116.sudhan_moghe

add

HtmlFileInput: allow to load data from memory. Fixes 2001001. Thanks to Andrew_WOT.mguillem

add

JavaScript: add support for attribute.text and attribute.xml (IE only).sudhan_moghe

add

JavaScript: add support for document.activeElement and element.setActive() (IE only). Fixes 1990842.sudhan_moghe

update

Ensure to focus element on calling HtmlElement.type(). Fixes 1985241.asashour

add

JavaScript: add support for script.text. Fixes 2005930.asashour

fix

Fix exception when opening about:blank with Firefox. Fixes 2006861.asashour

add

Add classes AttachmentHandler, CollectingAttachmentHandler and Attachment to handle attachments outside of the normal page flow (disabled by default for backwards compatibility).sdanig

fix

JavaScript: postponed loading of frame content after script execution when src is set from a script.mguillem

fix

JavaScript: window.execScript() now accepts undefined 'language' (IE only).asashour

fix

Fix current window's computation when a window is closed by JavaScript during onload processing. Fixes 1995196. Thanks to Sudhan Moghe.mguillem

fix

ThreadManager: set BrowserVersion of HtmlUnitContextFactory of newly created threads. Fixes 1997280. Thanks to Rene Schwietzke.asashour

fix

JavaScript: fix variable scope after document.write. Fixes 1950004. Thanks to Sudhan Moghe.mguillem

fix

Parsing: handle quotes in comments correctly within script nodes. Fixes 1990198.mguillem

add

Cache compiled scripts and parsed stylesheets at the WebClient level.sdanig

update

INCOMPATIBLE CHANGE: HtmlElement.getPage() now returns SgmlPage instead of HtmlPage.asashour

add

JavaScript: add support for TextRange.duplicate() (IE only).mguillem

add

JavaScript: add support for property xml on XML DOM nodes (IE only).mguillem

remove

Remove ant build file.asashour

fix

Maintain CSS style attribute order, according to document definition.sdanig

fix

Style attributes in upper case are not recognized. Fixes 1990648. Thanks to Sudhan Moghe.mguillem

fix

JavaScript: fixed document.write(ln) handling of &lt;br&gt; and &lt;hr&gt;. Fixes 1678826.mguillem

fix

JavaScript: improved document.write(ln) support to add nodes to the right parent. Fixes 1990313. Thanks to Karel Kolman.mguillem

fix

JavaScript: HTMLDocument.ownerDocument is always null.mguillem

fix

Fix HtmlTextInput.type(), HtmlTextArea.type() and HtmlPasswordInput.type() to handle backspaces correctly.sdanig

fix

JavaScript: implemented a workaround for Rhino bug in number primitive resolution (Rhino bug 374918). Fixes 1822108.sdanig

add

Move proxy-related methods from WebClient to new class ProxyConfig. Fixes 1900452.sdanig

fix

JavaScript: value of form elements is set before triggering keyUp event (was after).mguillem

update

Be more tolerant while extracting charset from incorrect Content-Type header. Fixes 1964258.mguillem

fix

JavaScript: add optionElement.disabled and optionGroupElement.disabled attributes.sdanig

fix

HtmlOption.isDisabled() and HtmlOptionGroup.isDisabled() always return false when emulating IE. Fixes 1986764.sdanig

fix

Don't lose any custom request headers during redirection. Fixes 1987911.sdanig

fix

Allow PUT request with body content. Thanks to Andreas Hartmann.mguillem

fix

Fix extraneous load of frame contents cause by frame node cloning. Fixes 1954869.sdanig

add

JavaScript: add support for methods getAttribute(), setAttribute() and removeAttribute() on element.style and element.runtimeStyle (IE only). Fixes 1982331.sdanig

fix

Fix incorrect handling of conflicting return values in different event handlers during event bubbling. Fixes 1976960.sdanig

fix

Malformed HTML code: associate form elements located before closing form tag to the form even if tag balancing forced form to be closed earlier.mguillem

fix

Be more lenient about spurious whitespace in node attributes containing relative URLs (image.src, script.src, link.href, etc). Fixes 1977736.sdanig

fix

Fix document.cookie so that it works correctly when loading HTML pages from the local filesystem, when there is no real domain available.sdanig

fix

Allow calls to WebClient.openWindow() with null URLs. Fixes 1975445.sdanig

add

JavaScript: add support for onpropertychange event type (IE only). Fixes 1957900.asashour

fix

Fix HtmlPage.getHtmlElementsByIdAndOrName() returns same element twice. Fixes 1969664.mguillem

add

JavaScript: implement textRange.text setter (IE only).asashour

add

JavaScript: implement style.zIndex. Fixes 1955515. Thanks to Rodney Gitzel.asashour

fix

NamedNodeMap instances (element.attributes) are case-insensitive in HTML documents (but not XML documents).sdanig

fix

Invalid HTML: when the same attribute appears more than one time, consider the first value rather than the last one. Fixes 1968708.mguillem

fix

JavaScript: HtmlInput.type value is always lower case.mguillem

fix

Deprecated JavaScriptEngine.get/setTimeout(), added replacement methods WebClient.get/setJavaScriptTimeout(). Fixes 1643275.sdanig

fix

Fix serialization of HtmlPages (was broken in some scenarios). Fixes 1951047.sdanig

update

Change license to Apache 2.mguillem

fix

Fix IllegalStateException that occured using document.write assigned to a variable (IE only). Fixes 1950462.mguillem

add

HtmlPasswordInput: type() appends text to the value.asashour

update

JavaScript: XMLDocumet.getElementById retrieve elements with HTML namespace (FF only). Fixes 1964731.mguillem

update

Improved logic to detect the window with the focus.mguillem

add

JavaScript: improved behavior of XMLHttpRequest in network error handling. Added support for the onError callback (FF only). Fixes 1962847. Thanks to Stuart Begg.mguillem

fix

Fixed ClassCastException in CSS child selector processing. Fixes 1960512.mguillem

add

Allow to directly invoke URLs with javascript protocol.mguillem

add

Add facilities on HtmlImage to download the referenced image and read it. Fixes 1954183.mguillem

remove

Remove deprecated HtmlPage.executeJavaScriptIfPossible() and WebClient.assertionFailed().asashour

update

INCOMPATIBLE CHANGE: Replace SubmitMethod with HttpMethod (some methods with incompatible return types).asashour

add

HtmlPage: add refresh(), deprecate HttpWebConnection.newWebResponseInstance() (replaced with another method with different parameters), and deprecate one of WebResponseImpl constructors (with replacement). Fixes 1946000.asashour

update

WebRequestSettings: deprecate getURL() and setURL(), use getUrl() and setUrl().asashour

fix

JavaScript: don't store cookies when document.cookie is set and cookies are disabled. Fixes 1951179.sdanig

add

JavaScript: add support for the link.href, link.type and link.rel properties.sdanig

fix

JavaScript: initialize event.target correctly when using createEvent and dispatchEvent (FF only).sdanig

update

DomAttr: deprecate getHtmlValue() and setHtmlValue().asashour

remove

INCOMPATIBLE CHANGE: HtmlAttr and XmlAttr are no more used, use DomAttr instead.asashour

fix

JavaScript: fix XMLElement.attributes. Fixes 1942640.asashour

update

&lt;span&gt;: empty tag is expanded as required by browsers. Fixes 1947877. Thanks to Sudhan Moghe.asashour

add

JavaScript: add support for XMLElement.hasAttribute() (FF only).asashour

add

JavaScript: add support for HTMLAnchorElement.click(). Fixes 1948777. Thanks to Sudhan Moghe.asashour

fix

Any onload events specified on frames and iframes are executed each time the frame content changes -- not just the first time that the frame loads.sdanig

fix

Make UTF-8 the default encoding for all XMLHttpRequests.sdanig

fix

Encode and decode location.hash when emulating Firefox.sdanig

fix

HtmlPage: cloned page handles XPath. Fixes 1946994.asashour

add

JavaScript: Add select.multiple support.sdanig

add

JavaScript: Add initial support for CSSRule and CSSStyleRule.asashour

add

Add WebClient.setCssEnabled(boolean) and WebClient.isCssEnabled(). Fixes 1942334.sdanig

fix

JavaScript: object properties now returned in creation order.mguillem

update

Use HtmlUnit-core-js (which is a Rhino fork) instead of Rhino.mguillem

Release 2.1 - Apr 15, 2008

TypeChangesBy

update

Deprecate HtmlPage.getDocumentHtmlElement().asashour

add

Add support for DomNode.getTextContent() and setTextContent().asashour

add

JavaScript: add initial support for CSSRuleList.asashour

fix

HtmlTextInput and HtmlTextArea: fix type() space.asashour

update

HtmlPage.getReadyState() now synchronized with the information from the documentElement. Fixes 1592733.mguillem

update

CSS parsing optimization: avoid parsing CSS selectors multiple times.sdanig

update

Initialize mouse event coordinates lazily, in order to avoid unnecessary CSS processing overhead.sdanig

fix

JavaScript: window.open without URL provided returns blank window when simulating Firefox too. Fixes 1584437.mguillem

fix

JavaScript: clear existing events handlers when page's content is changed with document.write. Fixes 1794764.mguillem

fix

JavaScript: fixed document.location in pages created with document.write.mguillem

fix

JavaScript: fixed ClassCastException occurring when select() is called on form elements other than text inputs.mguillem

Release 2.0 - Apr 7, 2008

TypeChangesBy

update

Upgrade NekoHtml to 1.9.7.asashour

update

Deprecate DomNode non-DOM methods, i.e. getLastDomChild(), getParentDomNode(), getPreviousSibling(), getNextDomSibling(), getFirstDomChild() and cloneDomNode().asashour

update

Deprecate HtmlUnitXPath.asashour

update

DomNode: asXml() uses charset from HtmlPage.getPageEncoding(). Fixes 1931084.asashour

update

Upgrade Jetty to 6.1.9.asashour

update

Upgrade Commons Lang to 2.4.asashour

update

Deprecate popFirstWindow and pushClearFirstWindow on WebClient.mguillem

fix

Add element.offsetParent to FF emulation mode.sdanig

update

Upgrade CSS Parser to 0.9.5.sdanig

add

Add initial support for data protocol (Firefox only).mguillem

fix

Fix element.clientWidth, clientHeight, offsetTop, offsetLeft and offsetParent to reflect CSS configuration.sdanig

add

In BoxObject, add attributes element, firstChild, lastChild, nextSibling, previousSibling, x, y, width and height.sdanig

fix

Fix element.offsetWidth and element.offsetHeight to include padding.sdanig

add

Add DomNode.getCanonicalXPath().asashour

update

Deprecate HtmlPage.moveFocusToElement() and getElementWithFocus(), use setFocusedElement() and getFocusedElement().asashour

update

Meta Refresh: case-insensitive URL (#1924784). Fixes 1924784. Thanks to Dmitri Zoubkov.asashour

update

Upgrade Rhino to 1.7R1.asashour

add

JavaScript: add support for XMLElement.getElementsByTagNameNS() (FF only).asashour

add

JavaScript: add support for input.setSelectionRange() (FF only).asashour

update

HtmlSelect: if any HtmlOption is selected, focus is moved to HtmlSelect.asashour

add

JavaScript: add support for 'onfocusin' and 'onfocusout' (IE only).asashour

update

JavaScript: CSSStyleSheet added support for ownerNode (FF) and owningElement (IE).mguillem

update

JavaScript: allow direct access to nodes per id/name when simulating Firefox too.mguillem

update

JavaScript: fixed various issues with Node methods appendChild, insertBefore and replaceChild when involved nodes don't belong to the same document.mguillem

update

HtmlPage.asXml(): place scripts in CDATA sections with comments.mguillem

fix

JavaScript: fix window.location.hash so it always starts with '#'.asashour

update

Upgrade Jetty to 6.1.8, Commons IO to 1.4 and FileUpload to 1.2.1.asashour

remove

INCOMPATIBLE CHANGE: Remove KeyValuePair, and hide HtmlForm.getParameterListForSubmit() and .getSubmittableElements(), they shouldn't be directly called by users.asashour

fix

JavaScript: return undefined for out of bound element access on HtmlFormElement.mguillem

fix

JavaScript: custom RegExp proxy now accepts unescaped curly braces.mguillem

fix

JavaScript: ComputedCSSStyleDeclaration.getPropertyValue returns the same value as direct property access.mguillem

add

JavaScript: add support for HtmlElement.textContent (FF only).mguillem

remove

Remove Jaxen dependency.asashour

remove

Remove deprecated methods in HtmlPage: assertAllIdAttributesUnique(), assertAllAccessKeyAttributesUnique(), assertAllTabIndexAttributesSet() (use corresponding methods in WebAssert instead).sdanig

remove

Remove deprecated WebRequestSettings.setCookiePolicy() and getCookiePolicy().sdanig

fix

JavaScript: element.currentStyle returns calculated (rather than static) style (IE only).sdanig

add

Add method Cache.clear().sdanig

update

JavaScript: added support for (undocumented) method CollectGarbage (IE only).mguillem

update

DomNode.getByXPath(): when called with a string starting with slash, evaluation is relative to the root element, not to the DomNode. You can add initial dot.asashour

add

Add Xalan 2.7.0 as dependency.asashour

fix

JavaScript: fixed IndexOutOfBoundsException in processing of IE @elif pre processor instruction. Fixes 1904189.mguillem

fix

JavaScript: instanceof now works correctly with html elements (FF only).mguillem

fix

JavaScript: property ownerDocument now defined on node.mguillem

fix

JavaScript: ignore calls to document.open() during page parsing.sdanig

fix

JavaScript: calling document.write() after a page has finished parsing results in overwriting the entire page.sdanig

fix

Handle script elements with src attributes containing "javascript:..." URLs. Fixes 1782719.sdanig

fix

Correct the order of script element execution, deferred script element execution, script ready state changes, deferred script ready state changes, and onload handlers.sdanig

add

JavaScript: add support for document.fireEvent (IE only) and document.onXXX event handlers (elements already had these).sdanig

fix

Don't reload page from server if window.location.hash is modified.sdanig

fix

JavaScript: HTMLCollection.item and namedItem return null when element is not found.mguillem

update

JavaScript: avoid detection of document.all when simulating FF (property still available).mguillem

update

XPath: case-insensitive match for attribute names.asashour

fix

Add temporary body element when one is missing and document.write() is called.sdanig

fix

Add implicit body element when one is missing and there is no content to trigger addition by NekoHTML.sdanig

fix

When document is missing a body element, document.body returns null instead of undefined.sdanig

fix

Execute JavaScript when a script element's src attribute is set (always when emulating IE, only sometimes when emulating FF).sdanig

fix

Add test-scoped dependency on slf4j, in order to trigger correct logging in Jetty during the unit tests.sdanig

add

JavaScript: add support for document.importNode() (FF only). Fixes 1896964.asashour

update

Upgrade Jetty to 6.1.7 and JCL to 1.1.1.sdanig

fix

Fixed incorrect processing of multiple conditional compilation flags (IE only).mguillem

add

JavaScript: add empty implementation of HTMLElement.clientWidth and .clientHeight.asashour

fix

JavaScript: remove style attribute if it is empty.asashour

add

Add support of having XML inside Html (IE only).asashour

update

INCOMPATIBLE CHANGE: Rename UnknownHtmlElement to HtmlUnknownElement.asashour

update

Beautify asXml() by removing unnecessary blanks.asashour

fix

XmlPage: fix asText() and asXml().asashour

add

JavaScript: add basic support for document.queryCommandSupported and document.execCommand.mguillem

fix

XmlPage: correct XPath handling (#1883395). Fixes 1883395.asashour

update

Fixed User-Agent header for IE6.mguillem

update

JavaScript: changed simulated screen dimensions to 1024x768 (was 800x600).mguillem

add

JavaScript: add basic support for all missing style attributes.asashour

update

JavaScript: Node.replaceChild() correctly processes DocumentFragment.asashour

update

JavaScript: XMLHttpRequest should not call onreadystatechange handler if sync (FF only).asashour

add

JavaScript: add support for Range.createContextualFragment (FF only).asashour

update

JavaScript: <code>__proto__</code> is only defined for Firefox.asashour

fix

Handle line comments in multiline onXxxx events handlers declarations. Fixes 1464948.mguillem

update

Upgraded nekohtml to version 1.9.6.1mguillem

update

INCOMPATIBLE CHANGE: Change html package to implement W3C DOM API interfaces, though most methods are not yet implemented. Remove deprecated methods. Fix DomCData derivation to be from DomText. Rename getAttributes methods that conflict with W3C DOM API return type. (#1747878). Fixes 1747878.dktaylor

update

INCOMPATIBLE CHANGE: Rename HtmlHeader1 (to HtmlHeader6) to corresponding HtmlHeading1 (to HtmlHeading6).asashour

update

INCOMPATIBLE CHANGE: Rename HtmlTextDirection to the correct name (HtmlDirectory).asashour

update

JavaScript: XMLHttpRequest should not throw an exception when send() is called without args (for FF) and when send content is specified but method is GET.mguillem

update

JavaScript: correct toString() for properties in 'window' scope (FF only).asashour

update

JavaScript: detect encoding from XML declaration (#1876545). Fixes 1876545.asashour

fix

JavaScript: HTMLAnchor href attribute should be reachable even if the URL is malformed.mguillem

add

JavaScript: add support for XMLElement.getAttributeNode() (#1874624). Fixes 1874624. Thanks to Sudhan Moghe.asashour

fix

JavaScript: document.cookie separates cookies with '; ' and not ';'.mguillem

fix

Fixed ClassCastException occurring when a non HTML page is loaded with Firefox simulation (regression in 1.14).mguillem

remove

Remove Assert, use WebAssert instead.asashour

update

Upgrade JUnit to 4.4.asashour

add

JavaScript: Add support for HTMLHtmlElement.asashour

remove

HtmlForm: Remove deprecated .getRadioButtonInput() and .setCheckedRadioButton().asashour

remove

Remove deprecated HtmlForm.fakeCheckedRadioButton() and HtmlSelect.fakeSelectedAttribute().asashour

add

JavaScript: Add support for XPathResult.iterateNext() (FF only). Fixes 1873562.asashour

remove

Remove deprecated HtmlElement.MapEntryWrappingIterator.asashour

update

Deprecate HtmlElement.getAttributeEntriesIterator(), use .getAttributes() instead.asashour

fix

JavaScript: HTMLCollection should not have 'tags' property in Firefox (except for <code>document.all</code>).asashour

add

HtmlTextInput and HtmlTextArea: Add support for select(), and fix tabIndex JavaScript property.asashour

add

Add initial support for document.selection.createRange() (IE only).asashour

remove

Remove deprecated constants in BrowserVersion, in addition to HtmlForm.submit().asashour

update

Deprecate DomNode.getChildIterator(), use getChildren() instead.asashour

update

INCOMPATIBLE CHANGE: DomNode.getAllHtmlChildElements() returns Iterable instead of Iterator.asashour

remove

DomNode: remove unused EventHandler, and deprecated PropertyChange methods.asashour

update

Deprecate HtmlElement.getChildElementsIterator(), use getChildElements() instead.asashour

add

JavaScript: add support for input.selectionStart, input.selectionEnd, and input.textLength.asashour

remove

Remove deprecated DomNode.XXXX_NODE, use org.w3c.dom.Node instead.asashour

remove

Remove the public (deprecated) constructor of HtmlElement and its subclasses.asashour

Release 1.14 - Jan 9, 2008

TypeChangesBy

fix

JavaScript: allow script node's onreadystatechange handler to be set to null.mguillem

fix

Don't escape '+' in URL path. Fixes 1866448. Thanks to David Bylsma.mguillem

add

JavaScript: add support for 'Node' prototype.mguillem

add

JavaScript: add support for window.resizeBy.mguillem

update

JavaScript: StyleSheetList correctly loads CSS content (FF only).asashour

add

Correctly handle URLs with path starting with double slash.mguillem

add

JavaScript: add configurable support for supported plugins and mime types (FF only). Per default a Shockwave Flash plugin is "configured" for Firefox 2.mguillem

fix

JavaScript: XMLHttpRequest.responseXML.getElementById should always return null (#1854975). Fixes 1854975.asashour

add

JavaScript: add support for "for (i in collection)" (#1862054). Fixes 1862054.asashour

add

JavaScript: XSLT support (ActiveXObject 'Msxml2.XSLTemplate') (IE only).asashour

update

XPath: is now namespace aware for XmlElements.asashour

add

JavaScript: add initial support for XPathResult, and XSLTProcessor (FF only).asashour

update

JavaScript: activate document.all for Firefox too.mguillem

add

Add DomElement with its JavaScript 'Element' prototype.asashour

fix

XPath: DomCharacterData is treated as text node.asashour

add

XMLDocument: add support for .parseError property (IE only), createElement(), createNSResolver() (FF only), evaluate() (FF only), and 'xml:space' attribute (IE only).asashour

update

XMLPage handles qualified tag names.asashour

update

JavaScript: added 'HTMLEvents' to the event types supported by document.createEvent (Firefox).mguillem

update

JavaScript: use custom JDK based regular expression evaluation for String.match to avoid Rhino problems (speed and wrong evaluation).mguillem

update

HtmlTextInput and HtmlPasswordInput: type('\n') submits the enclosing form.asashour

update

&lt;frame&gt; and &lt;iframe&gt; should trim values in 'src' attribute.asashour

update

JavaScript: element.dispatchEvent() exactly behaves as calling ClickableElement.click() and .dblClick() and returns correct value (based on event.preventDefault()) (#1813007). Fixes 1813007.asashour

add

JavaScript: add initial support for event.preventDefault() (anchor, checkbox, text input, textarea, others to follow) (#1813007). Fixes 1813007.asashour

add

HtmlTextInput: type() appends text to the value.asashour

add

JavaScript: cache parsed JavaScript responses. Fixes 1716540.mguillem

update

JavaScript [internal]: removed ScriptEngine, use JavaScriptEngine directly.mguillem

add

XMLPage: add support for comment node.asashour

update

Deprecate FocusableElement.asashour

add

JavaScript: add support for label.htmlFor (#1835550). Fixes 1835550.asashour

fix

JavaScript: fix removeChild() for XML elements (#1836922). Fixes 1836922.asashour

add

JavaScript: Add style.borderBottom[Color,Style,Width], .borderLeft[Color,Style,Width], .borderRight[Color,Style,Width], and .borderTop[Color,Style,Width] (#1835836). Fixes 1835836.asashour

add

Parse CSS files and use the result in window.getComputedStyle(), as well as providing accurate values for document.styleSheets.length. All CSS file downloading and parsing occurs lazily. NOTE: Adds a dependency on cssparser 0.9.4.sdanig

fix

JavaScript: Tolerate empty string for DOMParser.parseFromString() (FF only), and ActiveXObject('Microsoft.XMLDOM').loadXML() (IE only) (#1835090). Fixes 1835090.asashour

fix

JavaScript: &lt;iframe&gt; src is now correctly handled via setAttribute() (#1828914). Fixes 1828914.asashour

fix

JavaScript: add support for getAttributeNS and setAttributeNS on node (Firefox).mguillem

fix

JavaScript: don't encode xml special characters for innerHTML property on script nodes.mguillem

fix

Ignore &lt;script&gt; src that starts with "javascript:".asashour

fix

Handle file URLs with query portions (file://my/path?a=b) and ref portions (file://my/path#ref) without breaking.sdanig

fix

Fixed possible ConcurrentModificationException and dead lock with HtmlAttributeChangeListener and DomChangeListener.mguillem

add

Add support for deferred script elements (IE only).sdanig

fix

Avoid leaving the DOM in an inconsistent state when DomNode.replace(DomNode) is called and the target node is used as the parameter.sdanig

fix

JavaScript: delegate select.options.xxx property modifications to the parent select element (property accesses were already being delegated correctly; IE only).sdanig

add

Add basic support for document.getBoxObjectFor() (FF only) (#1815602). Fixes 1815602. Thanks to Sam Hough.asashour

update

HtmlTextArea.asXml() now preserves content and expands empty tag to make generated xml interpretable as html by browsers.mguillem

add

Add WebAssert utility class for domain-specific assertions. INCOMPATIBLE CHANGE: Deprecate assertion methods in HtmlPage in favor of using WebAssert. The exceptions thrown are now java.lang classes instead of junit classes, though they still function as before.sdanig

update

HtmlForm: on submitting a form without parameters, URL should not end with a question mark (IE7 only).asashour

add

JavaScript: getElementsByTagName now returns empty collection when called with 'incorrect' name.mguillem

add

JavaScript: add support for hasAttribute and hasAttributeNS on node (Firefox), getNamedItem on NamedNodeMap.mguillem

add

Add a popup blocker (WebClient.setPopupBlockerEnabled(boolean)).sdanig

fix

Use browser-compatibility cookie handling by default, deprecate unnecessary cookie settings in WebRequestSettings, ensure cookie policy used during HTTP communication matches the cookie policy used by the document.cookie attribute, use a single cookie header during HTTP communication.sdanig

add

HtmlFileInput: add support for non-ASCII name of uploaded files (#1818569). Fixes 1818569.asashour

add

JavaScript: accept ECMA reserved keywords like 'float' as normal identifier.mguillem

add

JavaScript: added support for DOMContentLoaded event (Firefox). Fixes 1812960. Thanks to Sam Hough.mguillem

add

Add possibility to configure the mime type used when uploading a file.mguillem

add

JavaScript: add support for the htmlElement.attributes collection.sdanig

add

Add WebClient.setUseInsecureSSL(boolean): forces the client to trust all hosts, regardless of their certificates. Makes it easy to work around servers with expired or misconfigured certificates.sdanig

add

JavaScript: make focus and blur available on HtmlElement. Fixes 1815275. Thanks to Sam Hough.mguillem

fix

Don't use custom RetryHandler anymore to allow standard retry when server drops the connection which caused NoHttpResponseException. (see http://jakarta.apache.org/httpcomponents/httpclient-3.x/exception-handling.html). Fixes 1753734.mguillem

fix

Make the loading of external .js files referenced via script tags listen to WebClient.getPrintContentOnFailingStatusCode() and WebClient.isThrowExceptionOnFailingStatusCode().sdanig

add

Add support for CDATA sections of xml documents.mguillem

add

Add facility method DomNode.getFirstByXPath(xpathExpr).mguillem

add

JavaScript exceptions: line number information now relative to the page.mguillem

add

Add HtmlPage.executeJavaScript to inject JavaScript code in a page.mguillem

add

JavaScript: add support for element.dispatchEvent(event) (Firefox only).sdanig

add

Cache JS server responses to avoid useless requests (script caching will come later). Fixes 1716540.mguillem

fix

Don't load the originally specified source of a frame, when its location has already been changed by JavaScript. Fixes 1518195.mguillem

add

Add primitive support for document.styleSheets (#1805817). Fixes 1805817.asashour

add

Add support of setExpression and removeExpression for element and style (#1809522). Fixes 1809522.asashour

update

Update window.frames so it does not throw ClassCastException (#1802836). Fixes 1802836.asashour

update

JavaScript: document.all('notExistingElement') now returns null as IE does. Fixes 1802969.mguillem

fix

Fix loading content containing 'Content-Type' header with quoted charset (#1797235). Fixes 1797235.asashour

update

Upgrade Jetty to 6.1.5.asashour

fix

JavaScript: XMLDocument should not ignore descendants non-empty DomText in IE.asashour

fix

JavaScript: loadXML() supports relative URLs in ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE only).asashour

add

Add basic support for attributes of XML elements.asashour

add

Added FalsifyingWebConnection, a WebConnection wrapper that provides facility methods to provide other content than the "real" one.mguillem

add

JavaScript: added backgroundImage to allowed style properties.mguillem

add

JavaScript: added Document.createRange() and basic support for Range (Firefox only).mguillem

add

JavaScript: add selectNodes() and selectSingleNode() (IE only), getElementsByTagName() and .tagName property for XML elements.asashour

add

JavaScript: add basic support of setProperty() function and .preserveWhiteSpace property for ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE only).asashour

update

DomNode.getByXPath() with 'id()' function should return empty list instead of throwing an exception (#1790308). Fixes 1790308.asashour

add

WebClient.loadWebResponse should not be final. Fixes 1790312.mguillem

add

JavaScript: add UIEvent.initUIEvent() (FF only).sdanig

add

Allow HTTP methods DELETE, HEAD, OPTIONS, PUT and TRACE (in WebClient.getPage(WebRequestSettings) and in XMLHttpRequest).mguillem

add

JavaScript: add XMLSerializer (FF), and .xml property for ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE).asashour

add

JavaScript: add DOMParser, with implementation of parseFromString() (FF only).asashour

add

JavaScript: add loadXML() and selectNodes() for ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE only).asashour

update

JavaScript: ignore text nodes of loaded XML by ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE).asashour

update

Move getWebClient() from HtmlPage to SgmlPage.asashour

update

JavaScript: correctly handle 'documentElement' property for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE).asashour

add

JavaScript: add load() and getElementsByTagName() for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE).asashour

add

JavaScript: add support for function element.fireEvent() (IE only). Thanks to Rob Di Marco.sdanig

add

JavaScript: add support for function mouseEvent.initMouseEvent() (FF only). Thanks to Rob Di Marco.sdanig

update

ActiveXObject (XmlHttp): should not be created by case-sensitive string. (#1784330). Fixes 1784330. Thanks to Dan Fabulich.asashour

update

Add support for keypress and keyup events (keydown is already supported). Deprecate HtmlElement.keyDown() methods in favor of HtmlElement.type() methods which simulate user typing rather than a single event type.sdanig

add

Add SgmlPage: moving towards having fully fledged XmlPage.asashour

fix

Regular Expressions: allow 'undefined' pattern, and tolerate improper patterns (trigger warning).asashour

update

Upgrade Rhino to 1.6R7.asashour

add

JavaScript: add support for function event.initEvent() (FF only). Thanks to Rob Di Marco.sdanig

fix

Fix document.createEvent() and document.createEventObject(): set event prototypes correctly.sdanig

add

JavaScript: add 'async' property for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE).asashour

add

JavaScript: add support for read-only attributes uiEvent.detail and uiEvent.view (FF only). Thanks to Rob Di Marco.sdanig

update

JavaScript: fixed bug in String.replace (due to custom RegExp proxy) when first arg is a String with special characters and not a RegExp. Fixes 1780089.mguillem

add

JavaScript: add basic support for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE).asashour

update

JavaScript: select.size is used when only needed.asashour

update

Upgrade HttpClient to 3.1.asashour

add

JavaScript: document.createElement() to accept html as a valid parameter (IE only).asashour

add

JavaScript: Make event.shiftKey, event.ctrlKey and event.altKey IE-only attributes; add mouseEvent.shiftKey, mouseEvent.ctrlKey, mouseEvent.altKey and mouseEvent.metaKey FF-only attributes.sdanig

add

JavaScript: add support for read-only attributes event.timeStamp, event.bubbles and event.cancelable and event.eventPhase (FF only). Thanks to Rob Di Marco.sdanig

add

JavaScript: document.createElement() to accept "&lt;tagName&gt;" as a valid parameter.asashour

update

JavaScript: element.setAttribute() sets corresponding event handler onXXX if found (FF only).asashour

add

JavaScript: add primitive support for document.elementFromPoint (IE only).asashour

add

Add namespace support for attributes: DomNode.getnamespaceURI, getLocalName, getPrefix, setPrefix, hasAttributes, HtmlElement.getAttribute, getAttributeNS, hasAttributes, hasAttribute, hasAttributeNS, setAttribute, setAttributeNS, setAttributeValue(NS), and removeAttributeNS. (#1747878). Fixes 1747878.dktaylor

add

JavaScript: add support for element.uniqueID (IE only).asashour

update

Deprecate unused class MapEntryWrappingIterator. (#1747878). Fixes 1747878.dktaylor

update

Deprecate String-to-String attribute map for HtmlElement. Add initial support for namespaces for attributes. (#1747878). Fixes 1747878.dktaylor

update

Deprecate HtmlAttr implementing Map.Entry that conflicts with W3C DOM API. Replace uses of Map.Entry with HtmlAttr. Add HtmlAttr.getName. (#1747878). Fixes 1747878.dktaylor

add

New interface com.gargoylesoftware.htmlunit.OnbeforeunloadHandler with associated WebClient getter and setter, to support 'onbeforeunload' event (#1498419). Fixes 1498419.asashour

add

JavaScript: document.getElementById() must not return elements added to newly created ones (not yet added to document).asashour

add

JavaScript: add support for 'onunload' event handler.asashour

Release 1.13 - Aug 17, 2007

TypeChangesBy

update

Add document.createEvent() and document.createEventObject(). Thanks to Rob Di Marco.sdanig

update

HtmlElement.asXml(): separate lines for empty element and the one after.asashour

fix

JavaScript: element.appendChild() and insertBefore() must recursively maintain document.getElementById() contract.asashour

add

WebRequestSettings: add getter and setter of CookiePolicy.asashour

update

JavaScript: for element.appendChild(), .insertBefore(), .innerHTML, and .innerText: if the element parentNode is null, create a DocumentFragment to be the parentNode (IE only).asashour

update

Deprecated methods that conflict with W3C DOM API: DomTest.splitText, HtmlPage.getDocumentElement, createElement, createElementNS, HtmlAttr.getValue, setValue, DomNode.getLastChild, getParentNode, getPreviousSibling, getNextSibling, getFirstChild, cloneNode, appendChild, HtmlElement.cloneNode. Added replacement Dom or Html methods. Renamed HtmlPage.createDocumentFragment to createDomDocumentFragment. (#1747878). Fixes 1747878.dktaylor

update

Deprecated DomNode.XXXX_NODE.asashour

update

Change DomNode.ATTRIBUTE_NODE to be 2 in order to match W3C DOM Node.ATTRIBUTE_NODE.asashour

add

JavaScript: add support for document.createDocumentFragment().asashour

add

JavaScript: add basic support for element.getBoundingClientRect() and element.getClientRects().asashour

add

JavaScript: add support for node.isSameNode().asashour

remove

WebClient: Remove deprecated moveFocusFromElement(), moveFocusToElement(), and getElementWithFocus().asashour

update

HtmlTitle.asXml(): empty tag is expanded as required by Internet Explorer.asashour

update

JavaScript: if window object could not find a property or function, it returns 'undefined' instead of null (#1771549). Fixes 1771549.asashour

Release 1.12 - Aug 10, 2007

TypeChangesBy

add

Add method HtmlPage.getHtmlElementsByName(String).sdanig

fix

HtmlSelect (in single-selection mode) selects the first option if none is selected.asashour

add

JavaScript: add basic support for element.runtimeStyle.mguillem

update

JavaScript: add basic support for document.createStyleSheet (when emulating IE only).mguillem

update

JavaScript: implemented a workaround for Rhino bug in string primitive resolution (Rhino bug 374918).mguillem

update

Deprecate HtmlForm.submit().asashour

update

Deprecate HtmlForm.fakeCheckedRadioButton().asashour

update

The method element.style.getPropertyValue('foo') should expect property names to be delimiter-separated (ie 'font-size') rather than camel case (ie 'fontSize').sdanig

add

Basic document.implementation: hasFeature().asashour

update

Add support for oncontextmenu event type.asashour

update

Fix element.innerHTML, element.innerText, element.outerHTML: uppercase tag names when emulating IE; don't quote attributes when they don't contain whitespace and we're emulating IE; always use separate open and close tags (even if the tag is empty); escape XML characters inside text nodes.sdanig

add

HtmlElement: add rightClick().asashour

update

JavaScript added minimal support for MouseEvent properties clientX, clientY, pageX, pageY, screenX, screenY coherent with position of event's target.mguillem

update

Set Referer header for requests from XMLHttpRequest.mguillem

update

First option in a single-selection select input gets selected by default.sdanig

update

Add implementation of element.style.filter attribute (when emulating IE only).sdanig

add

JavaScript: added support for properties "button" and "which" on mouse events.mguillem

add

Add initial support for IE conditional compilation @if, @elif, @else, @end and @set instructions as well as for conditional compilation variables.mguillem

update

Fix getElementsByTagName('*') at the document level (it was returning an empty collection).sdanig

add

JavaScript: add support for style.getPropertyValue() (#1759750). Fixes 1759750.asashour

update

JavaScript: fixed eval scope bug when used within function. Fixes 1727599.mguillem

add

Add an optional (disabled by default) debugger implementation which can make it easier to debug complex interactions between HtmlUnit and JavaScript.sdanig

add

Deprecate BrowserVersion constants for Mozilla 1.0, Netscape 4.7.9 and Netscape 6.2.3; add MSIE 7 and Firefox 2.sdanig

add

JavaScript: add basic support for element.currentStyle and window.getComputedStyle. Fixes 1756277.asashour

update

BrowserVersion: add equals() and hashCode(). Fixes 1756617. Thanks to Matt Ryall.asashour

add

HtmlElement: add mouseOver(), mouseMove(), mouseOut(), mouseDown(), and mouseUp().asashour

update

JavaScript: implement navigator.cookieEnabled to match WebClient#isCookiesEnabled().asashour

add

Add empty implementation for table.refresh() (#1742662). Fixes 1742662.asashour

update

HTMLCollection: cache getElements() for better performance (#1751756). Fixes 1751756.asashour

add

Experimental: added AjaxController and NicelyResynchronizingAjaxController.mguillem

update

JavaScript: added support for window.captureEvents (FF). Fixes 1225021.mguillem

update

JavaScript: fixed addEventListener cannot be called twice. Fixes 1716129.mguillem

update

JavaScript: added support for event capturing and bubbling phases.mguillem

update

JavaScript: added support for Event.stopPropagation() (FF) and Event.cancelBubble() (IE).mguillem

update

JavaScript: added support for window.onclick and window.ondblclick.mguillem

update

Ignore &lt;base&gt; if inside &lt;body&gt; (#1579707). Fixes 1579707.asashour

fix

FailingHttpStatusCodeException is thrown for failing frame (#1065041). Fixes 1065041.asashour

update

JavaScript: use custom JDK based regular expression evaluation for String.replace to avoid Rhino problems (speed and wrong evaluation).mguillem

update

Elements inside &lt;noscript&gt; are ignored if isJavaScriptEnabled() (#1186639). Fixes 1186639.asashour

update

Version: add getProductName(), getProductVersion() and getCopyright() (#1748672). Fixes 1748672.asashour

add

DomNode: add/remove DomChangeListener.asashour

remove

Remove deprecated WebClient.getThrowExceptionOnFailingStatusCode and BaseFrame.FrameWindow.asashour

update

HtmlImageInput, HtmlResetInput and HtmlSubmitInput can be clicked if exist outside an enclosing form. (#1747454). Fixes 1747454.asashour

add

JavaScript: allow FormField.onchange, form.onsubmit and frame.onload to be set to null (#1745024). Fixes 1745024.asashour

add

JavaScript: Add table.cellSpacing and table.cellPadding.asashour

add

HtmlElement and HtmlPage: add/remove HtmlAttributeChangeListener (#1124781). Fixes 1124781.asashour

add

JavaScript: Implement insertAdjacentElement().asashour

update

HtmlSubmitInput: setting value to "Submit Query" if not specified, associated with asText(), asXml(), and submitValue changes.asashour

add

HTMLElement.scrollIntoView() is added as an empty implementation (#1740086). Fixes 1740086. Thanks to Bruce Chapman.asashour

fix

DomNode.asText() now correctly handles style elements (e.g. &lt;i&gt;, &lt;b&gt;, and &lt;font&gt;) (#1731042). Fixes 1731042. Thanks to Rodney Gitzel.asashour

fix

HtmlPage.clone() doesn't share idMap_ with original (#1708397). Fixes 1708397. Thanks to Bruce Chapman.asashour

add

ClickableElement: Add dblClick() (#1385295). Fixes 1385295.asashour

add

JavaScript: Add document.createElementNS(), element.namespaceURI, element.prefix, and element.localName (#1521790). Fixes 1521790.asashour

add

HtmlPage supports Serialization (#1685311). Fixes 1685311.asashour

add

Add partial support for IE Conditional Compilation (#1680026). Fixes 1680026.asashour

update

Meta Refresh: tolerate spaces before the semicolon (#1549916). Fixes 1549916. Thanks to Andre Soereng.asashour

update

Allow setChecked of &lt;input type="radio"&gt; which is outside any &lt;form&gt; (#1587962). Fixes 1587962.asashour

update

Deprecated HtmlForm#getRadioButtonInput(String,String) and HtmlForm#setCheckedRadioButton(String,String). Use #getByXPath instead.asashour

fix

Allow HtmlFileInput to handle values starting with "file:/" (#1513928). Fixes 1513928.asashour

update

Align node types numeric values to W3C values.mguillem

fix

JavaScript: allow comment nodes to be retrievedmguillem

update

HtmlSelectElement: ignores setting 'selectedIndex' to more than or equal to options size.asashour

add

HtmlForm: #getTextAreaByName and #getButtonByName (#1713515). Fixes 1713515. Thanks to Philip Graf.asashour

add

Add UTF-16BE, and UTF-16LE charset detection (#1729467). Fixes 1729467. Thanks to Karel Kolman.asashour

update

Use WebRequestSettings#getCharset() as the encoding of pages instead of "ISO-8859-1" (#1483301). Fixes 1483301.asashour

fix

Proper handling of &nbsp; in DomNode#asText() (#1549745). Fixes 1549745. Thanks to Kristian Muntau.asashour

update

JavaScript: Simulate browser behavior for comments that have last line of "statement--&gt;", but not "statement//--&gt;".asashour

add

JavaScript: Add support for location.toString() (#1725742). Fixes 1725742.asashour

update

asXml() now expands tags for div, iframe and script to make generated xml interpretable as html by browsers.mguillem

add

Add support for table.width (#1691024). Fixes 1691024.asashour

update

HtmlInput (HtmlCheckBoxInput and HtmlRadioButtonInput): #setChecked now returns Page (#1724889). Fixes 1724889.asashour

fix

Javascript: Correct handling of comments (#1725162). Fixes 1725162.asashour

update

JavaScript [internal]: use Context.call(ContextAction) for faster JavaScript execution.mguillem

update

Meta Refresh empty URL is handled (#1722665). Fixes 1722665.asashour

add

JavaScript: add support for textarea.selectionStart, textarea.selectionEnd, and textarea.textLength (#1714772). Fixes 1714772.asashour

update

DomNode#getAllHtmlChildElements() now returns Iterator.asashour

update

Fixed exception occurring handling script tag with one line content starting with &lt;!-- and without closing --!&gt;. Fixes 1714762.mguillem

update

JavaScript: allow function named onload. Fixes 1609944.mguillem

update

JavaScript: made equality tests on functions working.mguillem

update

JavaScript: don't allow usage of write(ln) detached from document object when simulating Firefox.mguillem

update

JavaScript [internal]: large refactoring for a better Rhino usage.mguillem

add

JavaScript: Add support for event.shiftKey, event.ctrlKey, and event.altKey. Fixes 1168346.asashour

update

Tolerate URL starting with http:/ and http: in Firefox. Fixes 1714767.asashour

update

Added IncorrectnessListener to get notified of things that HtmlUnit cope with but that don't respect standards.mguillem

update

JavaScript: provide the event object to onreset handlers.mguillem

update

Added ScriptException.printScriptStackTrace to retrieve the stack trace of the script execution.mguillem

add

WebClient can now enable/disable cookies support.asashour

update

JavaScript: allow to set window.onload to something else than a function. Fixes 1201561.mguillem

update

DomNode.DescendantElementsIterator.remove() now throws UnsupportedOperationException (previous behavior was not correct). Fixes 1705521. Thanks to Bruce Chapman.mguillem

update

JavaScript: added support for label property on Option objects.mguillem

update

JavaScript: added support for defaultSelected property on Option objects. Thanks to Bruce Chapman.mguillem

update

JavaScript: allow selected and defaultSelected attribute in Option constructor. Fixes 1705517. Thanks to Bruce Chapman.mguillem

update

INCOMPATIBLE CHANGE: Remove HtmlOption#getValue() (deprecated nearly two years ago), remove FailingHttpStatusCodeException#FailingHttpStatusCodeException(int, String) (deprecated over a year ago), remove ScriptException#getEnclosedException() (deprecated over a year ago).sdanig

update

JavaScript: Add support for script.src, script.type, script.readyState and script.onreadystatechange.sdanig

update

When cloning nodes, clone the id attribute as well. Fixes 1707726. Thanks to Bruce Chapman.sdanig

update

Avoid NPEs for responses with null bodies (ie 304 Not Modified responses). Fixes 1706505. Thanks to Martin Tamme.sdanig

update

JavaScript: Cloning a script node should not execute the script. Fixes 1707788. Thanks to Bruce Chapman.sdanig

update

JavaScript: Don't run scripts after the window location changes. Fixes 1706237.sdanig

update

Verify correct behavior of HtmlSelect#asText() with multiple selections, fix JavaDoc. Fixes 1634051.sdanig

update

JavaScript: add support for frameset.rows and frameset.cols properties. Fixes 1705559. Thanks to Bruce Chapman.sdanig

update

JavaScript: ignore invalid script.src attribute used by jQuery ("//:"). Fixes 1695279.sdanig

update

Trim whitespace off of anchor href attributes. Fixes 1658064.sdanig

update

JavaScript: add support for event.type property.sdanig

update

Fixed NPE exception triggered by invalid iframe/frame src attribute. Fixes 1699119.sdanig

update

Fixed infinite loop triggered by recursive iframe/frame src attribute. Fixes 1699125.sdanig

update

JavaScript: fixed set innerHTML uses 8bits for all chars and ignores some HTML. Fixes 1541150. Thanks to Sam Hough and Ahmed Ashour.mguillem

update

JavaScript: handle out of bound indexes on options as browsers do (undefined when too high and exception when negative).mguillem

update

Added (limited) support for client side map. Fixes 799817. Thanks to Ahmed Ashour.mguillem

update

Don't execute JavaScript in &lt;noframes&gt; and &lt;iframe&gt;. Fixes 1689214. Thanks to Ahmed Ashour.mguillem

update

Set Referer header on outgoing requests. Fixes 1693423. Thanks to Ahmed Ashour.mguillem

update

JavaScript: setting innerHTML to null shouldn't create any text node for Firefox. Fixes 1692811. Thanks to Ahmed Ashour.mguillem

update

JavaScript: fixed remaining problem of submitted select values when select.selectedIndex = -1 has been used before setting an other value. Fixes 1684652.mguillem

update

JavaScript: setting innerHTML to empty string shouldn't create any text node. Fixes 1692572. Thanks to Ahmed Ashour.mguillem

update

JavaScript: added support for property parentElement on DOM nodes (IE specific). Fixes 1690203. Thanks to Ahmed Ashour.mguillem

update

JavaScript: configure correctly the prototype hierarchy on created host objects.mguillem

update

JavaScript: fixed non executed scripts added with document.write. Fixes 1613119. Thanks to Karel Kolman.mguillem

update

JavaScript: "this" should be the window and not the current node in JavaScript href of link and area as well as in JavaScript action of forms. Fixes 1689798.mguillem

update

Fixed wrong parsing order of comment and text nodes. Fixes 1686412. Thanks to Karel Kolman.mguillem

update

JavaScript: added support for following properties on HtmlAnchor: hash, host, hostname, pathname, port, protocol, search and target. Fixes 1686412. Thanks to Bruce Chapman.mguillem

update

Handle correctly anchors (alias reference) in URLs after form submission.mguillem

update

JavaScript: XMLHttpRequest now encodes post body in UTF-8. Fixes 1681779.mguillem

Release 1.11 - Mar 15, 2007

TypeChangesBy

update

Respect non proxy hosts in redirects from a host using proxy. Fixes 1669097.mguillem

update

JavaScript: resolve relative locations from the originating page for Location's href, replace and assign.mguillem

update

Renamed frame host class to avoid conflict when a frame has 'Frame' as name. Fixes 1562872.mguillem

update

Form should not send push buttons on submit. Fixes 1676667.mguillem

update

Added facility method DomNode.getByXPath(xpathExpr).mguillem

update

JavaScript: Option.setAttribute now works even if option has not yet been added to a select. Fixes 1672048.mguillem

update

Parse as html all responses with content type ending with "xhtml+xml" like XHTML mobile profile documents (application/vnd.wap.xhtml+xml). Fixes 1672392.mguillem

update

Improved HtmlPage.getAnchors's javadoc. Fixes 1665629.mguillem

update

Added support for server side map (HtmlImage.click(int, int)). Fixes 799815.mguillem

update

Allow redirections to the same URL with a maximal number of 20. Fixes 1619765.mguillem

update

Fixed HtmlHtml.getXmlLangAttribute().mguillem

update

Upgraded dependencies to Jaxen 1.1, commons-lang 2.2, rhino 1.6R5, commons-io 1.3.mguillem

update

Changing element id should not impact child nodes. Fixes 1658273. Thanks to Karel Kolman.mguillem

update

JavaScript: provide event object as argument when calling onload listeners attached with attachEvent (Internet explorer).mguillem

update

JavaScript: provide the event object to onsubmit handlers. Fixes 1648014.mguillem

update

Set cookies defined in meta tags with http-equiv equals to set-cookie.mguillem

update

Fixed NullPointerException occurring while submitting a from which onsubmit handler returns null. Fixes 1628521. Thanks to Andre Soereng.mguillem

update

JavaScript: fixed bad initialisation of JavaScript context when window content changes (was introduced since last release in fixed for bug 1040244). Fixes 1627983.mguillem

update

JavaScript: ensure that script execution is synchronized on the owning html page (for instance using XMLHttpRequest asynchronously). Fixes 1508377.mguillem

update

JavaScript: made ThreadManager thread safe. Fixes 1584525. Thanks to Karel Kolman.mguillem

update

JavaScript: perform correct setup of context for asynchronous execution of XMLHttpRequest. Fixes 1619727. Thanks to Deryk Sinotte.mguillem

update

JavaScript: don't wrap JavaScript primitive types when returned from a Java method. Fixes 1611097.mguillem

update

Fixed Non-html reply in window.open() doesn't create window object by restricting initialization of windows and pages. Added line/column numbering of HTML elements for embedded script names that are easier to debug. Fixes 1040244.dktaylor

update

JavaScript: fixed regression introduced in 1.10 on window.eval for local scope. Fixes 1608555.mguillem

update

JavaScript: provide the event object to onfocus and onblur handlers.mguillem

update

Moved focus related methods from WebClient to HtmlPage and deprecated them on WebClient.mguillem

update

Fixed AREA elements can't handle JavaScript hrefs by copying code from anchor element. Fixes 1605997.dktaylor

update

Fixed frames[i] return null for frames generated by document.write by allowing JavaScript Window object to be properly initialized with JavaScriptEngine. Fixes 1192854.dktaylor

update

Fixed document.write problem when &lt;a...&gt; written in 2 times by checking for complete HTML tags before parsing. Fixes 1124613.dktaylor

update

Fixed document.write() does not keep ending spaces by reducing text of adjacent text nodes as a whole instead of separately. Fixes 1493455.dktaylor

update

JavaScript: handle comments in event handlers. Fixes 1601754. Thanks to Andre Soereng.mguillem

update

JavaScript: if window with name 'myOldWin' exists, window.open('', 'myOldWin') should retrieve it rather than opening a new one. Fixes 1592723.mguillem

update

Fixed asText() for style node. Now returns an empty string.mguillem

update

JavaScript: fixed select.selectedIndex = -1 should not be irreversible. Fixes 1592726.mguillem

update

JavaScript: setting option's selected status to false when it is already false shouldn't reset the whole select. Fixes 1592728.mguillem

update

JavaScript: fixed java.util.ConcurrentModificationException occurring when some onload event is removed during execution of an onload event. Fixes 1596926.mguillem

update

JavaScript: second argument DOM node's insertBefore is now optional when simulating Internet Explorer. Fixes 1409087.mguillem

update

Added support for comments: &lt;!-- some comment --&gt;. Patch from Karel Kolman. Fixes 1591212. Thanks to Karel Kolman.mguillem

update

JavaScript: added XMLHttpRequest.overrideMimeType. Fixes 1204628.mguillem

update

JavaScript: fixed bug preventing to set non String style properties. Fixes 1592299.mguillem

update

JavaScript: allow to add options to a select with an index as second argument when simulating Internet Explorer. Fixes 1570478.mguillem

update

Ignore invalid URLs specified in &lt;base href="..."/&gt;. Fixes 1579511.mguillem

Release 1.10 - Nov 03, 2006

TypeChangesBy

update

Fixed asText() for script node. Now returns an empty string. Fixes 1587246.mguillem

update

Removed ":" in project id to avoid problems on Windows with plugins like idea. Fixes 1575783.mguillem

update

Upgraded jaxen to 1.1-beta-11 (even if it's a "beta", this is the version recommended by jaxen developers).mguillem

update

Added Maven compliant scopes in project.xml. Fixes 1559903.mguillem

update

JavaScript: added minimal support for navigator.mimeTypes (Firefox).mguillem

update

Fixed select's faked selections are ignored, if select is empty. Fixes 1570484.mguillem

update

Fixed asText() for hidden input. Now returns an empty string. Fixes 1570567.mguillem

update

JavaScript: only style's built in properties are of type String (with empty string as default value)mguillem

update

Use MultiThreadedHttpConnectionManager (avoids problems with requests started asynchronously from JavaScript). Fixes 1472606.mguillem

update

JavaScript: property "all" now available on all html element (Internet explorer). Fixes 1570597.mguillem

update

Fixed incorrect handling of web connections (missing call to releaseConnection()).mguillem

update

JavaScript: item(xx) method now works correctly on node list.mguillem

update

JavaScript: improved support for addEventListener on DOM nodes (Mozilla) and added support for attachEvent (Internet explorer). Thanks to Daniel Gredler.mguillem

update

JavaScript: build XMLHttpRequest for all ActiveX names starting with "Msxml2.XMLHTTP".mguillem

update

JavaScript: fixed bug in table.insertRow with empty tbody. Fixes 1562461.mguillem

update

Follow redirection to the same Url if original method was a POST. Handle redirections like browsers do rather than according to the RFC. Fixes 1531821.mguillem

update

JavaScript: allow script to set a "javascript:..." location. Fixes 1345136.mguillem

update

JavaScript: use of HTMLElement.innerHTML should not cause registration of a WebWindow. Fixes 1495132.mguillem

update

JavaScript: window.eval now evaluates in the right window scope.mguillem

update

JavaScript: added basic support for addEventListener on DOM nodes (Mozilla).mguillem

update

JavaScript: added support for window.createPopup (Internet Explorer).mguillem

update

Added FrameWindow.getFrameElement and support for Javascript's frameElement property on windows.mguillem

update

Parser: automatically add an &lt;head&gt; element if none present in html source (as done by Internet Explorer and Firefox).mguillem

update

JavaScript: Location.replace wrongly loaded new URL in top window. Fixes 1491743.mguillem

update

XPath: fixed wrong behavior with following axis. Fixes 1527799.mguillem

update

JavaScript: fixed double execution of external JavaScript files occurring when text contained between &lt;script src=...&gt; and &lt;/script&gt;. Fixes 1552746.mguillem

update

JavaScript: allow to specify a maximal script execution time. Fixes 1525269. Thanks to Andre Soereng.mguillem

update

INCOMPATIBLE CHANGE: OK button is now simulated for JavaScript confirm calls when no ConfirmHandler is installed (it was was the Cancel button previously).mguillem

update

Removed Jelly support.mguillem

update

Updated doc to reflect migration from CVS to SVN. Fixes 1545598.mguillem

update

Do not submit reset buttons in forms.bradclarke

update

Transparently decompress server response if gzipped for transfer. Fixes 1244810. Thanks to Daniel Gredler.mguillem

update

JavaScript: fixed default String conversion of objects (like table, table row, table cell, collection). Fixes 1538136.mguillem

update

JavaScript: XMLHttpRequest.responseXml NodeList elements now accessible by index. Fixes 1415496.mguillem

update

JavaScript: take expiration date into account when creating cookies. Fixes 1525234. Thanks to Andre Soereng.mguillem

update

JavaScript: cells collection for rows now takes th into account. Fixes 1528024.mguillem

update

JavaScript: table/tbody.deleteRow(-1) will now delete the last rowbradclarke

Release 1.9 - Jun 27, 2006

TypeChangesBy

update

Upgraded commons-collections to version 3.2bradclarke

update

Upgraded commons-logging to version 1.1bradclarke

update

Upgraded commons-io to version 1.2bradclarke

update

JavaScript: added support IE style of events (window.event). Fixes 1439904.mguillem

update

Added possibility to configure NTLM credentials for the DefaultCredentialsProvider. Fixes 1472307.mguillem

update

Added facility method WebClient.getPage(String).mguillem

update

Upgraded jaxen to 1.1-beta-9 (even if it's a "beta", this is the version recommended by jaxen developers).mguillem

update

JavaScript: set form as parent scope for form fields (allows handlers to call directly form methods like submit()).mguillem

update

XmlPage: parse xml pages namespace aware.mguillem

update

JavaScript: ensure that the page being loaded has not already been replaced in its window by a new one through JavaScript before executing onload handlers. Fixes 1494421.mguillem

update

Use Byte Order Mark to recognize UTF-8 content when no charset header is provided.mguillem

update

JavaScript: added addEventListener/attachEvent, removeEventListener/detachEvent to Window, allowing to register load events on a window.mguillem

update

Upgraded commons-httpclient to version 3.0.1.mguillem

update

JavaScript: added support for properties defaultView (Mozilla) and parentWindow (IE) on Document.mguillem

update

JavaScript: added support for property ownerDocument on HtmlElements.mguillem

update

DomText.asText() now cleans up &nbsp; and multiple blanks as other DomNodes do.mguillem

update

Added facility methods HtmlOption.getEnclosingSelect() and HtmlLabel.getReferencedElement().mguillem

update

Fixed HtmlTable.getCellAt when table contains a rowspan. Fixes 1455390. Thanks to Julien Henry.mguillem

update

Proxy settings now respected to load external JavaScript files. Fixes 1460444.mguillem

update

HtmlCheckBoxInput.setChecked() now fires the JavaScript onchange event.bradclarke

update

Implemented window.setTimeout(function, int) and window.setInterval(function, int)bradclarke

update

HtmlOption.asText() now respects the label attribute as browsers do.bradclarke

update

Encode path part of URLs containing illegal characters. Fixes 1437068.mguillem

update

Added support for firing onkeydown events. Fixes 1436102. Thanks to Brad Murray.mguillem

update

HtmlElement.getAttributeEntriesIterator now returns the attributes in the order in which they appear in the html source code. Fixes 1419050.mguillem

update

HttpWebConnection now allows extensions to simply override HttpClient creation. Fixes 1438216.mguillem

update

Use configured proxy when performing a request after a redirection. Fixes 1439464.mguillem

update

Allow &lt;button...&gt;s located outside of a form to be clicked and their onclick handler to be called.mguillem

Release 1.8 - Feb 17, 2006

TypeChangesBy

update

Cookies can now be shared between HTTP and HTTPS. Fixes 1280422.mguillem

update

HttpWebConnection now uses a single instance of HttpClient (as it can now handle multiple connections).mguillem

update

Throw ScriptException (unless WebClient.isThrowExceptionOnScriptError() is false) when the source of an external script can't be loaded.mguillem

update

Deprecated ScriptException.getEnclosedException. Use getCause instead.mguillem

update

Added URL of the failed request in message of FailingHttpStatusCodeException.mguillem

update

Fixed a bug that could cause a ConcurrentModificationException when navigating away from a page with JavaScript running in the background.bradclarke

update

DefaultPageCreator now builds an XmlPage and not a TextPage for responses with content type "text/vnd.wap.wml".mguillem

update

JavaScript: fixed parent scope wrongly set on Style object.mguillem

update

FailingHttpStatusCodeException now contains the failing WebResponse.mguillem

update

Modified XmlHttpRequest to use new thread management API for async requests.bradclarke

update

JavaScript: fixed exception in access to a DOM node when the page contains a custom object with the same name as the one used by htmlunit for the host object (caused error like: "Form" is not a constructor).mguillem

update

Fixed bad handling of comma in Location header of redirections (30x) Fixes 1105226.mguillem

update

Implemented setInterval/clearInterval and thread management for setTimeout and setInterval threads. Thanks to Steven Grimm and Daniel Gredler for patches that were helpful in the implementation.bradclarke

update

JavaScript: added support for properties target and srcElement on events. Fixes 1281651. Thanks to Stefan Anzinger.mguillem

update

Upgraded commons-httpclient to version 3.0.mguillem

update

Fixed NPE thrown when JS error occurs on click when ThrowExceptionOnScriptError is false. Fixes 1385864. Thanks to Paul King.mguillem

update

Added HtmlAnchor.openLinkInNewWindow()bradclarke

update

JavaScript: changes on form's action attribute in onSubmit were ignored. Fixes 1382013.mguillem

update

Allow external scripts to be loaded using file protocol. Fixes 1381734.mguillem

update

JavaScript: added support for property cellIndex on td and th eleements. Fixes 1369052. Thanks to Mark van Leeuwen.mguillem

update

BaseFrame.FrameWindow has been deprecated and replaced with a top level FrameWindow class.bradclarke

update

JavaScript: fixed exception occurring when addBehavior is called twice for the same behavior.mguillem

update

JavaScript: Implement add() method for OptionsArray to avoid TypeError. Fixes 1378925. Thanks to Bruce Faulkner.mguillem

update

JavaScript: added the full URL of the file containing the script being executed in the exception message when a script error occurs.mguillem

update

JavaScript: made Location properties writable. Fixes 1238429. Thanks to Daniel Gredler.mguillem

update

Added possibility to bypass configured proxy for some hosts. Fixes 1224239. Thanks to Daniel Gredler.mguillem

update

Fixed support for NTLM proxy. Fixes 1224239. Thanks to Vikram Shitole and Daniel Gredler.mguillem

update

JavaScript: setting options' length to a value greater than current. size fills option array with empty options. Fixes 1370484.mguillem

update

Fixed mangled binary files loaded with the file protocol for non ISO-8859-1 default system file encoding. Fixes 1370049. Thanks to Paul King.mguillem

update

Upgraded commons-io to 1.1.mguillem

update

Form's name now writable (both in DOM and in Javascript). Fixes 1370468.mguillem

update

Javascript: getElementsByTagName now returns an ElementArray (instead of a NativeArray) for html elements allowing expressions like "myForm.getElementsByTagName('input')['one']". Fixes 1369514.mguillem

update

JavaScript: when simulating IE, options collection delegates to select when the requested property/method doesn't exist. Fixes 1111597. Thanks to Daniel Gredler.mguillem

update

Consider inputs with invalid type as text inputs.mguillem

update

JavaScript: responses to XMLHttpRequest don't disturb window contents anymore. Fixes 1357412.mguillem

add

All code deprecated prior to 1.6 has been removedbradclarke

add

JavaScript: added implementation of IE behavior "#default#download". Fixes 1343212. Thanks to Stefan Anzinger.mguillem

update

Fixed HtmlSelect.getSelectedOptions to return an empty list if select has no option. JavaScript: fixed select.value to return an empty string when select has no option.mguillem

update

HtmlOption.click() now returns correctly the page loaded by an onchange event. Fixes 1334150.mguillem

update

Fixed requested URL for post form with empty action and original page containing a query string or action containing only a query string. Fixes 1334541. Thanks to Ian Lovejoy.mguillem

update

Upgraded jaxen to 1.1-beta-8 (even if it's a "beta", this is the version recommended by jaxen developers).mguillem

update

JavaScript: added support for property contentWindow on (i)frames.mguillem

update

Upgraded rhino JavaScript library to 1.6R2. Noteworthy is that the JavaScript stack trace is now added in the normal Java stack trace (bug 274467 reported by Daniel Gredler, see http://www.mozilla.org/rhino/rhino16R2.html for full change log).mguillem

update

Fill frame windows with about:blank when the declaring tag is found to allow JavaScript to run on it before the real content is loaded. Fixes 1239285.mguillem

update

Upgraded commons-httpclient to version 3.0rc4 in ant as well. Made HtmlForm.submit(SubmittableElement) public to simulate keyboard submits (more to come later).bradclarke

update

JavaScript: XMLHttpRequest.send now accepts null as parameter and fails when simulating Mozilla if called with no parameter like the browser does.mguillem

update

Upgraded commons-httpclient to version 3.0rc4.mguillem

update

Javascript: allow to set current node's property within onclick event handler. Fixes 1260369.mguillem

update

Javascript: XMLHttpRequest now accepts non xml responses. Fixes 1209682.mguillem

update

Javascript: allow to change selected attribute of options created with document.createElement('option') and not yet added to a select. Fixes 1323425.mguillem

update

Load frames content first after the page is loaded to allow access to the whole page for scripts contained in the frames. Fixes 1289060.mguillem

update

JavaScript: added support for document.frames (specific to IE).mguillem

update

JavaScript: when simulating IE, second parameter in Select.add can be omitted. Fixes 1304741.mguillem

update

JavaScript: in a frameset, document.body returns the frameset node.mguillem

update

JavaScript: added dummy implementation of the properties scrollHeight, scrollLeft, scrollTop and scrollWidth for html elements.mguillem

update

JavaScript: added document.anchors. Fixes 1280127.mguillem

update

JavaScript: XMLHttpRequest now accepts relative urls. Fixes 1209692.mguillem

update

JavaScript: allow creation of XMLHttpRequest as new ActiveXObject('Microsoft.XMLHTTP') when simulating Internet Explorer.mguillem

update

JavaScript: default conversion of host objects to string is now "[object Xxxx]" like what Mozilla doesmguillem

update

DomNode.asXml() now produces correct xml encoding special characters. Fixes 1289462. Thanks to Lothar M�rkle.mguillem

update

JavaScript: implemented property offsetParent. Fixes 1267106. Thanks to Bruce Faulkner.mguillem

Release 1.7 - Aug 23, 2005

TypeChangesBy

update

JavaScript: img nodes can be accessed by id or name within a form. Fixes 1153775.mguillem

update

Click on a JavaScript link loading a page containing frames now return the main loaded page and not a frame anymore. Fixes 1265410. Thanks to Stefan Anzinger.mguillem

update

Trim the text of HtmlOption when it is used as initial value attribute (when no attribute is found as defined in HTML 4.01).mguillem

update

JavaScript: fixed problem occurring while reading properties of nodes retrieved with childNodes(). Fixes 1264271. Thanks to Bruce Faulkner.mguillem

update

When posting a form as multipart/form-data don't send Content-Transfer-Encoding headers for the parts and send Content-Type headers only for files like browsers do. Fixes 1210726.mguillem

update

When posting a form, use encoding from accept-charset attribute if any else from page to encode the posted parameters. Fixes 1119937.mguillem

update

Fixed infinite loop when DefaultCredentialsProvider provides invalid credential. Ensure that the web connection uses the CredentialProvider configured for the WebClient.mguillem

update

Handle port correctly when handling a redirection to an other port on the same host. Fixes 1195099.mguillem

update

JavaScript: fixed properties text, value and selected for Option objects created from JavaScript and not yet added to a select. Fixes 1151593.mguillem

update

Added WebResponse.getRequestMethod(). ImmediateRefreshHandler now accepts a refresh to the same URL if the first request was a POST. Fixes 1211980.mguillem

update

JavaScript: added support for window.closed.mguillem

update

HtmlOption's value attribute initial value is the text of the option if no attribute is found as defined in HTML 4.01. Deprecated HtmlOption.getValue().mguillem

update

JavaScript: fixed execution of onchange handlers to really return "The page that occupies this window after this method completes" as defined by the javadoc. Fixes 1159709.mguillem

update

JavaScript: fixed behavior of table.insertRow and table.rows.length for tables containing nested tables. Fixes 1244839.mguillem

update

Improved the way getHtmlElementById handle pages containing multiple elements with the same id. Fixes 1244959.mguillem

update

JavaScript: made input.setAttribute("type", xxx) behave the same than input.type = xxxx. Fixes 1244923.mguillem

update

JavaScript: fixed double execution of script inside &lt;table&gt;. Fixes 1210751.mguillem

update

Set state of radio button before executing onclick handler. Fixes 1241739. Thanks to Bruce Faulkner.mguillem

update

Upgraded nekohtml to version 0.9.5mguillem

update

Load responses which content type matches regular expression "application/.*\+xml" as XmlPage (rather than UnexpectedPage).mguillem

update

Children of removed nodes were erroneously still available by id using HtmlPage.getElementById. Fixes 1233519.mguillem

update

Upgraded commons-jelly to version 1.0bradclarke

update

Upgraded commons-httpclient to version 3.0rc3bradclarke

update

Added method for setting HttpClient's virtual host Fixes 1195509. Thanks to dlevine004.bradclarke

update

INCOMPATIBLE CHANGE: HtmlElement.getAttributeEntriesIterator now return an iterator on HtmlAttr (and not Map.Entry) allowing XPath expressions that return a list of node attributes. Fixes 1221161. Thanks to Denis N. Antonioli.mguillem

update

Don't perform server request when a link is clicked if href is just an anchor (like "#"). Fixes 1220522.mguillem

update

JavaScript: resolve relative locations from the originating page. Fixes 1101525.mguillem

update

JavaScript: use the Window as the top scope in Rhino JavaScript engine. Fixes 1213455. Thanks to Daniel Gredler.mguillem

update

JavaScript: Fixed bug with onchange handler being fired for all input type="file" on creation.bradclarke

update

JavaScript: handle position in insertAjacentHTML as case insensitive as IE does. Fixes 1210742.mguillem

update

HtmlOption.click() now selects the option. Fixes 1216267.mguillem

update

Handle content types in a case insensitive way (as of RFC 2045). Fixes 1215621.mguillem

update

Implemented form reset, defaultValue and defaultChecked. Fixes 1209947. Thanks to Daniel Gredler.mguillem

update

JavaScript: Added window.print() as unimplemented method.bradclarke

update

Javascript: document.getElementsByTagName and document.getElementsByName now return an ElementArray (instead of a NativeArray) allowing expressions like "document.getElementsByTagName('a').item(0)". Fixes 1204922.mguillem

update

In a script tag &lt;script type="..."&gt;, the value of the type attribute is case insensitive. Thanks to Ray Suliteanu.mguillem

update

Send headers added with WebClient.addRequestHeader to the server again (bug introduced in release 1.6).mguillem

update

Upgraded jaxen to 1.1-beta-6 (even if it's a "beta", this is the version recommended by jaxen developers and it fixes the element order bug).mguillem

update

A click on a &lt;label ...&gt; is now propagated to the referenced element.mguillem

Release 1.6 - May 10, 2005

TypeChangesBy

update

Added XMLHttpRequest support. Patch submitted by Daniel Gredler. Fixes 1194006. Thanks to Daniel Gredler.bradclarke

update

Deprecated and renamed getAll&lt;Something&gt;s methods to get&lt;Something&gt;s to make them easier to find. Fixes 1080774. Thanks to Daniel Gredler.bradclarke

update

More refactoring and deprecation to use WebRequestSettings. WebRequestSettings now has get/setAdditionalHeaders, patch submitted by Daniel Gredler. INCOMPATIBLE CHANGE: Third party extenders of WebConnection will need to implement getResponse(WebRequestSettings) in place of other getResponse methods, which have been deprecated and given default implementations that call this method.bradclarke

update

Javascript: fixed exception occurring while changing type of input created via document.createElement(). Fixes 1183971. Thanks to Bruce Faulkner.mguillem

update

Upgraded commons-httpclient to version 3.0rc2bradclarke

update

Javascript: insertRow now accepts the number of rows as parameter value. Fixes 1188143. Thanks to Bruce Faulkner.mguillem

update

Javascript: the onchange event handler of a radio button is now invoked when its state is changed. Fixes 1183019. Thanks to Chris Eldredge.mguillem

update

Javascript: implemented property contentDocument for frames and iframes on Mozilla.mguillem

update

Javascript: fixed error occurring in NodeImpl insertBefore() with null reference child object. Fixes 1180352. Thanks to George Murnock.mguillem

update

Now load the mapping of html classes to their respective JS classes from the configuration file.cerskine

update

Javascript: when simulating IE, window.open("") handles empty string as "about:blank". Fixes 1179134.mguillem

update

Reworked the processing of the JavaScript functions and properties. Names have all changed to start with jsxXXX and now the functions and properties are registered with the prototypes when they are defined.cerskine

update

INCOMPATIBLE CHANGE: replaced WebClient.setValidateHtml(boolean) with WebClient.setHTMLParserListener(HTMLParserListener) allowing to programmatically catch parser messages.mguillem

update

Javascript: fixed infinite loop caused by onblur. Fixes 1161705.mguillem

update

The URL of a page resulting of a form submission with the GET method now contains the query parameters (which are encoded when needed according to the page's encoding).mguillem

update

Javascript: added navigator.language for Mozilla.mguillem

update

Javascript: added dummy implementation of Mozilla's window properties innerHeight, innerWidth, outerHeight, outerWidth.mguillem

update

Added to the JavaScript configuration page a column showing if a function is not implemented.cerskine

update

Reworked the JavaScript configuration. Configuration file is now used and supports the browser constraints on the properties and functions.cerskine

update

Javascript: navigator properties now depend from used BrowserVersion.mguillem

add

Javascript: added dummy implementation for read only properties offsetHeight, offsetLeft, offsetTop and offsetWidth.mguillem

add

Javascript: added support for multiple arguments for document.write and document.writeln. Fixes 1150208.mguillem

add

Added WebResponse.getResponseHeaders(). Fixes 1150208. Thanks to Daniel Gredler.mguillem

update

Fixed NPE in loadWebResponse for responses with status code 204 (No Content). Fixes 1166652. Thanks to Alfred Nathaniel.mguillem

update

Javascript: form's onsubmit property is now a function and can be assigned. Fixes 1166781. Thanks to Kent Tong.mguillem

add

Javascript: added support for new Image() and changing src attribute. Fixes 1153758. Thanks to George Murnock.mguillem

Release 1.5 - March 13, 2005

TypeChangesBy

update

Determine content-type of uploaded files. Fixes 976077.mguillem

add

Javascript: implemented method removeAttribute for DOM nodes. Fixes 1153758. Thanks to George Murnock.mguillem

update

Javascript: Added support for document.scriptsbradclarke

update

Javascript: fixed getAttribute() to return null if the requested attribute is not defined. Fixes 1157936.mguillem

add

Javascript: implemented property childNodes. Fixes 1153693. Thanks to George Murnock.mguillem

update

Fixed bug where document.write-ing a frame was causing an attempt to load an invalid URL starting with http://firstbradclarke

update

Fixed node reference problem occurring when the text of a textarea is changed. Fixes 1155063.mguillem

update

Javascript: document.links doesn't return tags with empty href anymore. Fixes 1153710. Thanks to George Murnock.mguillem

update

A RefeshHandler can now throw IOExceptions instead of handling them. Updated ImmediateRefeshHandler and ThreadedRefeshHandler to make refresh failures exceptions instead of just log messages. Added WaitingRefeshHandler for waiting real time on the current thread.bradclarke

update

Javascript: the type property of input elements can now be changed.mguillem

update

Fixed bug occurring when submitting from JavaScript a form with a JavaScript action. Fixes 1145773. Thanks to George Murnock.mguillem

update

HtmlElement's getHtmlElementsByAttribute, getHtmlElementsByTagName, and getHtmlElementsByTagNames were all updated to ignore the case of the passed in tag name as they're always compared with a lowercase version. Fixes 1151184.bradclarke

update

JavaScript: Implemented location.reload(). Fixes 1145916. Thanks to Daniel Gredler.bradclarke

update

Fixed bug with meta refresh that only contained a number. Fixes 1143982. Thanks to Daniel Gredler.bradclarke

update

INCOMPATIBLE CHANGE: RefeshHandler interface changed and they must now do the refresh themselves. DefaultRefreshHandler was replaced with ImmediateRefreshHandler (the new default) and ThreadedRefreshHandler. Fixes 1145869. Thanks to Daniel Gredler.bradclarke

update

INCOMPATIBLE CHANGE: com.gargoylesoftware.htmlunit.CredentialProvider has been removed. You should now use org.apache.commons.httpclient.auth.CredentialsProvider instead. This patch should allow support for NTLM and Digest authentication as well as proxy authentication. Fixes 1144103. Thanks to Daniel Gredler.bradclarke

update

JavaScript: Pick up behaviors defined in style attribute when simulating IE. Fixes 1110768. Thanks to Daniel Gredler.mguillem

update

JavaScript: expressions like myForm.myField now look for form fields with "myField" as id or name. Fixes 1118222.mguillem

update

Clicked image button without name sends parameter x and y. Fixes 1118877.mguillem

update

Submit form elements in the same order that they appear in the HTML form. Fixes 1093017. Thanks to David D. Kilzer.mguillem

update

Upgraded commons-httpclient to version 3.0rc1bradclarke

update

JavaScript: fixed document.domain setter for domains like d1.d2.d3.d4.com. Fixes 1115259. Thanks to Michael Ottati.mguillem

update

JavaScript: fixed document.myForm.myField should not retrieve the field if it is an input of type image. Fixes 1115091.mguillem

update

JavaScript: added empty implementation of type setter for input fields (already allowing some scripts to run).mguillem

add

Added HtmlElement.getEnclosingElement(String tagName).mguillem

update

JavaScript: added properties rowIndex and cells and function insertCell for table rows.mguillem

add

JavaScript: fixed insertRow when asked to insert at the end of the rows collection (was inserted one position before).mguillem

update

Guess content type for file content and file name when loading a file URL. Fixes 1113487.mguillem

update

Parse responses of type "application/xml" as XmlPage.mguillem

update

Fixed wrong URLs expansion with "#". Fixes 1101525. Thanks to Hans Donner.mguillem

update

JavaScript: improved window.execScript to execute JavaScript code. Fixes 1106319. Thanks to Daniel Gredler.mguillem

update

Use commons-codec's Base64. Marked custom Base64 as deprecated. Fixes 1109224. Thanks to Hans Donner.mguillem

update

Fixed NullPointerException thrown in JavaScript by createElement('input') Fixes 1002140. Thanks to Daniel Gredler.mguillem

update

Javascript: implemented innerText for html elements (read/write). Fixes 1107432. Thanks to Hans Donner.mguillem

update

Fixed ClassCastException occurring when unloading a frameset that contained a frame which content wasn't html.mguillem

update

Implemented WebRequestSettings parameter object. Created new WebClient.getPage() methods and deprecated old ones.bradclarke

update

Stopped httpclient from automatically retrying failed connections 5 times.bradclarke

update

A failure when setting a location from JavaScript now throws an exceptionbradclarke

update

Added support for misc table methods in JavaScript Fixes 1104522. Thanks to Daniel Gredler.bradclarke

update

JavaScript: added dummy implementation of window.setInterval and window.clearInterval doing nothing.mguillem

update

synchronized JavaScript execution for multi-threaded testing Fixes 976471. Thanks to David D. Kilzer.bradclarke

update

parse application/xhtml+xml content type into HtmlPage Fixes 1088709.bradclarke

update

JavaScript: use js object Input for &lt;input type="image" .../&gt; and &lt;input type="button" .../&gt; Fixes 1104028.mguillem

update

JavaScript: default conversion to string of an anchor returns the fully qualified URL specified by the href.mguillem

update

JavaScript: the DOM node of a &lt;frame&gt; or &lt;frame&gt; is now visible to the contained page while loading.mguillem

update

JavaScript: when simulating IE, a variable named after the id of a DOM node represents this DOM node. Fixes 1084226.mguillem

add

Made window.name writable. Fixes 1099235. Thanks to David D. Kilzer.mguillem

update

JavaScript: document.xxx now retrieves DOM node with name xxx only if it's an img or a form (input should not be retrieved). Fixes 1100975.mguillem

update

JavaScript: Fixed bug in window.frames[i] (was introduced in 1.4).mguillem

update

JavaScript: Fixed bug with frames.length not working.cerskine

add

JavaScript: Implement writable document.location. Fixes 1100321. Thanks to Daniel Gredler.mguillem

update

JavaScript: added window.status and removed erroneous document.status. Fixes 1100089.mguillem

update

Fixed window.frames['frameName'] causes ClassCastException. Fixes 1099644. Thanks to Chris Eldredge.mguillem

update

JavaScript: document.getElementById("") now returns null.mguillem

Release 1.4 - January 9, 2005

TypeChangesBy

add

Fixed platform specific encoding problem in test WebClientTest.testLoadPage_EncodeQueryString() Fixes 1098981. Thanks to David D. Kilzer.mbowler

add

JavaScript: added window.clearTimeout. Fixes 1090094. Thanks to Daniel Gredler.mguillem

update

JavaScript: dynamically compiled function runs in the scope of their creation. Fixes 949691.mguillem

update

JavaScript: fixed problem occurring for &lt;script for="window" event="onload()"&gt; with event value ending with "()".mguillem

add

JavaScript: added document.domain.mguillem

add

JavaScript: added implementation of IE behavior "#default#clientCaps". Fixes 1096789. Thanks to Daniel Gredler.mguillem

update

JavaScript: added support to get/set the onload property as a function for window and for frames.mguillem

update

INCOMPATIBLE CHANGE: HtmlFrame and HtmlInlineFrame don't implement WebWindow anymore but now contain a WebWindow accessible by getEnclosedWindow(). JavaScript handling of frames works better due to the distinction between frame element and contained window.mguillem

add

Added HtmlPage.getFrameByNamemguillem

update

asText() now returns "checked" or "unchecked" for HtmlRadioButtonInput and HtmlCheckBoxInput Fixes 1083336. Thanks to Mike Bresnahan.mguillem

add

JavaScript: added dummy implementation of window.execScript doing nothing.mguillem

add

JavaScript: added attribute support. Fixes 1096133. Thanks to Daniel Gredler.mguillem

add

Added WebClient.setThrowExceptionOnScriptError(boolean) and isThrowExceptionOnScriptError() to allow script errors to stop only execution of current script as browsers do.mguillem

update

JavaScript: document.write(ln) writes directly in DOM which allows access to DOM nodes in the same script code.mguillem

add

Added WebClient.setTimeout(int) and WebClient.getTimeout()bradclarke

update

JavaScript: all elements can now be accessed by name with syntax document.foo (like what was already working for forms).mguillem

update

JavaScript: setting the value attribute of a select object now selects the corresponding option.mguillem

update

document.images is now a "live" collection.mguillem

update

Added DebuggingWebConnection, a web connection that saves the received responses and builds an overview. Sometimes useful at conception time to understand what is "browsed".mguillem

update

Extended JavaScript event handler to most common events: ondblclick, onmousedown, onmouseup, onmousemove, onmouseover, onmouseout, onkeypress, onkeydown, onkeyup, onfocus, onblur. Fixes 1090438. Thanks to Chris Eldredge.mguillem

update

Added JS support for outerHTML.mguillem

update

Upgraded commons-httpclient to version 3.0beta1mguillem

update

Added dependency to commons-codec 1.3mguillem

update

Possibly incompatible change: Removed fix trying to mimic browser kludge for non-RFC2019-compliant cookies as it causes new problems. Fixes 1058846.mguillem

update

Possibly incompatible change: Don't set httpclient's cookie policy to COMPATIBILITY anymore what lets user configure it directly or use the default (RFC2109).mguillem

add

Added support for setting cookies from JS (like document.cookie = "foo=something").mguillem

add

Added dependency to commons-langmguillem

update

Trying to set a JS property configured with writable="false" now generates a JS runtime error.mguillem

add

Added conversion to string and method toString on event handler functions.mguillem

add

Added support for JS document.links.mguillem

update

IFrames can now be seen in JS as an html element too. Expressions like window.myIFrame.style.display now work. Fixes 1067396.mguillem

update

document.forms is now a "live" collection and forms can be accessed with document.forms["myFormId"] where "myFormId" is the id of a form. Fixes 1088353.mguillem

update

Collections like document.all or form.elements now use xpath expressions and are "live" (thanks to Daniel Gredler for the idea).mguillem

update

Added the possibility to evaluate xpath expressions relatively to a particular node of a the html document.mguillem

update

Added node.children.mguillem

update

Fixed bug for JS wrapped in HTML comments on one line. Fixes 1088655. Thanks to Daniel Gredler.mguillem

update

Allow to set commons-httpclient cookie policy using system property.mguillem

update

Added support for insertAdjacentHTML.mguillem

update

Fixed DomNode.replace() fails to set previousSibling on newNode and other problems when changing DomNode. Fixes 930846.mguillem

update

Allow onclick event handler to be set by JavaScript. Fixes 1080365. Thanks to Chris Eldredge.mguillem

update

Added logic to WebClient to allow messages from parsing the HTML to be displayed on the on the console.cerskine

update

Fixed bug changing "//" to "/" in query parameters of URLs called from a page. Fixes 1085612. Thanks to Sergey Gorelkin.mguillem

update

When simulating IE, nodes can now be accessed directly by their name (ex: window.form1).mguillem

update

Improved ElementArray: fix for empty collection and addition of method namedItem(). Fixes 1085878. Thanks to Daniel Gredler.mguillem

update

Fixed bug with setTimeout: a timeout is now only executed if the page that placed it is always "alive".mguillem

update

Fixed html element property access in JS: attributes are case sensitive. Fixes 1085378.mguillem

update

Improved JS innerHTML to allow complex html code to be set.mguillem

update

Refactored different arrays of html elements in a generic ElementArray. Expressions like "document.all.tags('s').item(y)" can now be evaluated. Fixes 1085224. Thanks to Daniel Gredler.mguillem

update

Upgraded rhino js to 1.6R1. Fixes 1082098.mguillem

update

Fixed NullPointerException tossed by HtmlSelect.asText() if no option is selected. Fixes 1083330. Thanks to Mike Bresnahan.mguillem

update

Improved Refresh meta tag support: Take care of enclosing &lt;noscript&gt; tags and correctly interpret quoted urls.mguillem

update

Implemented IE specific behavior related methods as well as default behavior "#default#homePage". Fixes 1081544. Thanks to Daniel Gredler.mguillem

update

Implemented screen methods. Fixes 1081544. Thanks to Daniel Gredler.mguillem

update

Added missing (for IE) methods/properties of window.navigator. Fixes 1082509. Thanks to Daniel Gredler.mguillem

update

Added support for window.location.replace(...).mguillem

update

Fixed problem with pages where body's onload contains a return statement. Fixes 1082259. Thanks to Daniel Gredler.mguillem

update

Fixed bug in JS accessing form elements through syntax like myForm[i] and don't count inputs with type=image in form.length as browsers do.mguillem

update

Automatically add value="on" for radio buttons and checkboxes without value attribute (available for JS access and used when submitting a form as browsers do). Fixes 1081557.mguillem

update

Added support for methods moveBy, scroll, scrollBy, scrollByLines, scrollByPages and scrollTo for JS window object. Fixes 1075526. Thanks to Daniel Gredler.mguillem

update

Fixed bug where encoded "&", "=", "+", ",", and "$" in URLs would be decoded before sending to the server.bradclarke

update

getTypeAttribute now returns "text" for input without specified type attribute as it is the default value.mguillem

update

Added support for item function in JavaScript like "document.all(...).item(...). Fixes 1081554.mguillem

update

Onchange script handlers not executed anymore if the field value is changed by JavaScript. This should for instance avoid infinite loops when field A changes field B and field B changes field A.mguillem

update

Upgraded nekohtml to version 0.9.4bradclarke

add

Automatically encode query string part of requested URLs if needed as browsers do (for instance change "http://first?a=b c" to "http://first?a=b%20c").mguillem

add

Response of type "text/xml" are now represented as an XmlPage (rather that a TextPage) which gives access to the Document object if the xml is well formed.mguillem

update

Fixed bug for JS location.protocol (was missing a ":", e.g. "http:" and not "http"). Fixes 1075690. Thanks to Michael Ottati.mguillem

add

Added support for getting and setting option.selected in JavaScript. Fixes 1072996.mguillem

update

Fixed bug where a NullPointerException is thrown when leaving a page containing an iframe without src attribute.mguillem

add

Added support for window.resizeTo. Fixes 1068672. Thanks to Dierk Koenig.mguillem

update

Fixed wrong values of window.opener: now null (instead of undefined) when no opener and null when a link opens in "_top". Fixes 1068667.mguillem

update

Upgraded commons-httpclient to version 2.0.2mbowler

update

Added support for function syntax on document.all(). Fixes 1067471. Thanks to Marc Guillemot.mbowler

update

Added support for InnerHTML(). Fixes 1065797. Thanks to Chris Erskine.mbowler

update

Added support for enabling the errors from NekoHtml by setting a value on the WebClient. Fixes 1065797. Thanks to Chris Erskine.mbowler

update

Previously, if you clone an element, and set an attribute in either the old or the new, the new setting appears in the other one as well. This was because cloneNode just left the attributemap alone, so the clones wound up using the same ones as the old. Fixes 1065797. Thanks to Mike Gallaher.mbowler

Release 1.3 - November 12, 2004

TypeChangesBy

update

Upgraded commons-jelly to version 1.0-beta-4mbowler

update

Upgraded commons-jelly-tags-log to version 1.0mbowler

update

Upgraded commons-jelly-tags-xml to version 1.0mbowler

update

Upgraded commons-jelly-tags-junit to version 1.0mbowler

update

Upgraded commons-jexl to version 1.0mbowler

update

Upgraded commons-cli to version 1.0mbowler

update

Upgraded dom4j to version 1.5mbowler

add

Added dependencies to jaxen 1.0 and saxpath 1.0 as they are needed by the latest dom4j. It would appear that saxpath will be rolled into jaxen in future releases but for now it is a separate dependency.mbowler

update

Upgraded commons-collections to version 3.1mbowler

update

Upgraded commons-beanutil to version 1.7.0mbowler

update

Upgraded commons-httpclient to version 2.0.1mbowler

update

Upgraded xercesImpl to version 2.6.2mbowler

update

Upgraded nekohtml to version 0.9.1mbowler

update

Upgraded commons-logging to version 1.0.4mbowler

update

Upgraded gsbase to version 2.0.1mbowler

update

Updated server names for cvs access. Fixes 1033055. Thanks to Chris Erskine.mbowler

update

Added support for the JavaScript document.images and also for getting and setting the page title. Fixes 1032913. Thanks to Chris Erskine.mbowler

update

Patch for JS frames.length. Fixes 1006472. Thanks to Marc Guillemot.mbowler

update

Fixed inconsistencies in the handling of isDisabled. Fixes 975675. Thanks to David D. Kilzer, Mike Bresnahan.mbowler

update

Initial support for Active X objects. Fixes 940981. Thanks to Ben Curren.mbowler

update

INCOMPATIBLE CHANGE: The common browsers will automatically insert a tbody tag inside tables if there isn't one already there. Now HtmlUnit does that as well. Fixes 930539.mbowler

update

Fixed bug where calling document.body from JavaScript before the body tag had been parsed was causing an exception.mbowler

update

Added support for JavaScript table.rows. Fixes 930069. Thanks to David D. Kilzer.mbowler

update

The common browsers always return uppercase values for the JavaScript nodeName property. Now HtmlUnit does as well. Fixes 930531.mbowler

update

Added support for the IE attribute document.readyState. Also added the js.log custom logger to aid in debugging JavaScript errors. Thanks to Chris Erskine.mbowler

update

Added support for onchange handlers in textareas Fixes 1045243. Thanks to Marc Guillemot.mbowler

update

Stubbed out window.moveTo(x,y) Fixes 1049797. Thanks to Marc Guillemot.mbowler

update

Added dependency to commons-io Fixes 1053811. Thanks to Marc Guillemot.mbowler

update

Initial support for file urls. There is a bug in commons-io that will break this when trying to read file URLs on another drive under windows: http://issues.apache.org/bugzilla/show_bug.cgi?id=31884 Fixes 1053811. Thanks to Marc Guillemot.mbowler

update

Fixes for buggy link management in DomNode.basicRemove() Fixes 1051885. Thanks to Mike Williams.mbowler

update

Fix for bug where HttpWebConnection.getStateForUrl() fails with localhost URL Fixes 1028314. Thanks to David D. Kilzer.mbowler

update

Added IE specific behaviour for getElementById() Fixes 1056744. Thanks to Chris Erskine.mbowler

update

Made WebTestCase abstract Fixes 1056376. Thanks to David D. Kilzer.mbowler

update

Changed HtmlElement.getOneHtmlElement() to match the documented behaviour in the case where multiple matches were found. Fixes 1044768.mbowler

add

Added getElementsByTagName(), getClassName() and setClassName() to HTMLElement Fixes 1058238. Thanks to Chris Erskine.mbowler

update

getAttribute() and setAttribute() missing on HTMLElement. Fixes 930546. Thanks to David D. Kilzer.mbowler

update

Mimic browser kludge for non-RFC2019-compliant cookies. Fixes 1058846. Thanks to David D. Kilzer.mbowler

update

Fixed bug where the getAttribute() and setAttribute() methods were not ignoring the case of the attribute name when getting and setting. Fixes 939639. Thanks to David D. Kilzer.mbowler

update

Fixed bug where a colon in a relative URL causes MalformedURLException in WebClient.expandUrl() Fixes 1009817.mbowler

update

If the type attribute isn't specified on a button attribute then the default value according to the spec is "submit". Internet Explorer doesn't obey the spec and returns "button". HtmlUnit now does what the browsers do, depending which BrowserVersion is specified.. Fixes 1050643.mbowler

update

Fixed bug in handling of onclick handlers for an HtmlCheckBoxInput. When an onclick handler is specified on a HTML checkbox that causes a new page to be displayed, the function HtmlCheckBoxInput.click() was not returning the new page. Rather it was returning the original page. Fixes 974447. Thanks to Mike Bresnahan.mbowler

update

Fixed bug where HtmlImageInput.click() was not including the name.x and name.y attributes in the submitted request. Fixes 977759. Thanks to Mike Bresnahan.mbowler

update

If form.submit() is called from JavaScript then the forms onsubmit handler should not get executed. Fixes 1008707.mbowler

update

Fixed OutOfMemoryError when submitting a form many times from the same HtmlPage Fixes 1061234. Thanks to David D. Kilzer.mbowler

update

Clean up memory use in HttpWebConnection.makeWebResponse(). Fixes 1062388. Thanks to David D. Kilzer.mbowler

Release 1.3-pre2 - September 26, 2004

TypeChangesBy

update

Added support for setting input.name in JavaScriptbradclarke

update

Added support for JavaScript document.bodybradclarke

update

Changed HtmlSelect.getSelectedOptions() to not auto-select the first option if the list size > 1. Fixes 972822. Thanks to Mike Bresnahan.bradclarke

update

Refactored HtmlFileInput submission to include the filename even when there is no file submitted. Fixes 974966. Thanks to David D. Kilzer.bradclarke

update

Added support for JavaScript Window.close() Fixes 956964. Thanks to David D. Kilzer.bradclarke

update

INCOMPATIBLE CHANGE: WebClient.moveFocusToElement() now takes a FocusableElement as it's parameter instead of an HtmlElement. FocusableElement is derived from HtmlElement. Added framework for focus() and blur() as well as JavaScript support for them on anchors and inputs. Fixes 913740. Thanks to David D. Kilzer.bradclarke

update

Added support for JavaScript Element.setAttribute()bradclarke

update

Added support for JavaScript Node.hasChildNodes()bradclarke

update

Fix for Bug 916316 - this.form inside onclick should work nowbradclarke

update

Implemented JavaScript document.getElementsByName()bradclarke

update

Added support for setting select.selectedIndex from JavaScriptbradclarke

update

Changed HtmlSelect.fakeSelectedAttribute() to use an empty string as no value at all (nothing submitted)bradclarke

update

Fixed bug where a select option with no value attribute was not submitted with it's contentsbradclarke

update

DefaultPageCreator can now be easily extended to add custom content type handling without affecting the default handlers.bradclarke

update

INCOMPATIBLE CHANGE: PageCreator.createPage() no longer takes a WebClient as a parameter. If you have an existing PageCreator you can get the WebClient from the WebWindow parameter. This change also occurred in DefaultPageCreator.bradclarke

update

Deprecated HtmlPage(WebClient, URL, WebResponse, webWindow) in favor of HtmlPage(URL, WebResponse, webWindow)bradclarke

update

Deprecated HTMLParser() as you should never need an instancebradclarke

update

Deprecated HTMLParser.parse(WebClient, WebRespose, WebWindow) in favor of static HTMLParser.parse(WebRespose, WebWindow).bradclarke

update

Updated HtmlRadioButtonInput.click() to select the clicked radio buttonbradclarke

update

Fixed bug where the JavaScript value of a select list was always empty. It should now correctly be the value of the selected option.bradclarke

update

Fixed bug where the JavaScript value of an option element was empty if the value attribute was not defined. The value should now correctly be the contents of the element.bradclarke

update

Added HtmlOption.getValue() that returns the value of the option as it should be submittedbradclarke

update

Fixed bug where submitting a form with a submit control that had no name would submit an invalid name/value pair instead of ignoring the controlbradclarke

update

Fixed bug where submitting a form containing a select that had no options caused a NullPointerException.bradclarke

update

INCOMPATIBLE CHANGE: Changed HtmlPage so it is no longer derived from HtmlElement. It is now derived from DomNode and a new HtmlHtml element represents the root element of the document. Similarly, Document in JavaScript is no longer derived from HTMLElement, but is derived from NodeImpl instead.dktaylor

add

Add HtmlPage.getDocumentElement() and Document.documentElement in JavaScript.dktaylor

update

Improved speed of getElementById().dktaylor

update

Change the node type and node name for HtmlPage and Document in JavaScript.dktaylor

update

Nested input elements, i.e. those that were not immediate children of the enclosing form, were not handled. Thanks to Christian Sell.mbowler

update

Changed the behaviour of single select lists to match the common browsers. When multiple items have the selected attribute then the last one is returned to the server. When no items have been selected, the first one is sent to the server. Thanks to Christian Sell.mbowler

update

Deprecated MockWebConnection.setContent() in favour of setDefaultResponse() which is more descriptive. Changed all tests to use the new method.mbowler

update

Changed all tests to use MockWebConnection instead of FakeWebConnection. The FakeWebConnection class has been deprecated and will be removed for the next major release of HtmlUnit after 1.3.mbowler

update

The same hard coded URLs were being used over and over again throughout the tests. Defined constants for the most frequently used URLs in WebTestCase and changed tests to use these constants. This will reduce the number of temporary objects during tests runs and will decrease the chance of making a typo in the urls.mbowler

update

Fixed bug where forms without names were not being returned by document.forms Fixes 831453.mbowler

add

Added support for the following attributes on Document.Location: hash, host, hostname, href, pathname, port, protocol and search. Fixes 831456.mbowler

add

Added support for Anchor.href and Anchor.getAttribute(). Fixes 856885. Thanks to Alexei Goussev.mbowler

update

Fixed bug where getting the style attribute should return an empty string instead of NOT_FOUND. Fixes 871620. Thanks to Alexei Goussev.mbowler

update

Fixed bug where calling select() on an HtmlInput from JavaScript caused an exception about select being a function and a property (it's only a function)bradclarke

update

Added initial support for refresh handlers. They will be invoked from meta tag refreshes and response header refreshes but not currently from JavaScript refreshesmbowler

update

Added serialVersionUID to all classes that are Serializable but didn't already have one of these.mbowler

update

Fix for performance problem in JavaScript handling. Fixes 1034897. Thanks to Darrell DeBoer.mbowler

update

If the server returns an unsupported encoding type then the browsers assume ISO-8859-1. Now HtmlUnit does the same. Fixes 856797.mbowler

Release 1.3-pre1 - November 7, 2003

TypeChangesBy

update

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

update

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

update

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

update

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

update

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

update

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

update

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 803233. Thanks to Brad Clarke.mbowler

update

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

update

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

update

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 802285.mbowler

update

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

update

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

update

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

add

Added WebClient.getWebWindows() Fixes 799760.mbowler

update

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

update

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

update

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

update

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

update

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 805051.dktaylor

add

Added method HtmlArea.click()mbowler

add

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 799865.dktaylor

update

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

add

Stubbed out Window.onerrormbowler

update

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

update

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

update

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

add

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

update

Added support for the format of &lt;script&gt; defined by DOM Level 2. Patch submitted by Jun Chen Fixes 824842. Thanks to Jun Chen.mbowler

update

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

update

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 824069.mbowler

update

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

update

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 753776.dktaylor

update

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

add

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

add

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

add

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

add

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

update

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

update

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

update

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

update

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

add

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

update

Upgraded commons-httpclient.jar to 2.0-rc2mbowler

add

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

add

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

add

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

add

New method TopLevelWindow.close() Fixes 799757.mbowler

add

Added "type" attribute to WebWindowEvent to make testing easiermbowler

update

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

add

Added support for window.status Fixes 650924.mbowler

add

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

add

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

update

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

add

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

update

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

add

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

add

Add HtmlElement.getId and setId.dktaylor

update

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

update

Added support for jelly wrappersmbowler

update

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

update

Upgraded NekoHTML to 0.8.1mbowler

update

Added MockWebConnection in the deployable tree and changed FakeWebConnection (in the test tree) to subclass that.mbowler

Release 1.2.3 - July 31, 2003

TypeChangesBy

add

Initial support for Mavenmbowler

update

Fixed bug where checkboxes weren't getting properly mapped to the JavaScript Checkbox object which resulted in incorrect behaviour. Add some additional tests to prevent this kind of problem happening again.mbowler

update

Fixed bug in the setup of JavaScript form variables which resulted in situations where input elements may not show up in the form depending on what had happened during page load.mbowler

add

Refactored some logic out of Form into FormElementsArray for easier maintenancembowler

update

Many classes had their own assertNotNull() method. Created an assert class and changed all classes to use Assert.notNull() rather than separate methods.mbowler

update

Fixed bug in character encoding. Patch supplied by Noboru Sinohara. Fixes 716568. Thanks to Noboru Sinohara.mbowler

update

Enhanced HtmlElement.asText() to behave more like a browser. Patch supplied by Mike J. Bresnahan. Thanks to Mike J. Bresnahan.mbowler

update

Updated NekoHTML to 0.7.7mbowler

update

Changed the JavaScriptEngine to use weak references for HtmlPage objects. Previously HtmlPage objects were never being garbage collected resulting in excessive memory usage. Fixes 721008. Thanks to Noboru Sinohara.mbowler

update

Fixed bug where the JavaScript textarea object was not properly getting and setting the 'value'. Fixes 729266.mbowler

update

Fixed bug where URL expansion wasn't obeying the base element as defined in the html. Fixes 717021. Thanks to XuefengHe.mbowler

update

Fixed bug where JavaScript form elements were not always being initialized correctly.. Fixes 727718. Thanks to jin kim.mbowler

update

Fixed typo in two of the samples in the getting started document. Fixes 732952. Thanks to Matt Ho.mbowler

update

Moved all tests under src/test/javambowler

update

Fixed bug where onload handler would not execute a function if the brackets weren't specified. Patch submitted by David K. Taylor. Fixes 713646. Thanks to David K. Taylor.mbowler

update

Fixed bug "document.write of script element does not load script". Patch submitted by David K. Taylor. Fixes 715379. Thanks to David K. Taylor.mbowler

update

Fix for bug 740636 "getElementsByTagName should be case insensitive". Patch submitted by David K. Taylor Fixes 740636. Thanks to David K. Taylor.mbowler

update

Fix for bug 740605 "External script is executed before script element added". Patch submitted by David K. Taylor Fixes 740605. Thanks to David K. Taylor.mbowler

update

Fix for bug 740665 "Script attributes undefined when script executes". Patch submitted by David K. Taylor Fixes 740665. Thanks to David K. Taylor.mbowler

update

Fix for bug 742902 "document.location prints as object reference instead of URL". Patch submitted by David K. Taylor Fixes 742902. Thanks to David K. Taylor.mbowler

update

Fix for bug 743241 "document.write from external script is not added to document". Patch submitted by David K. Taylor Fixes 743241. Thanks to David K. Taylor.mbowler

update

Partial fix for RFE 741930 "document.createElement(...) and form.appendChild(...)". This fix adds document.createElement for most element types. It does not support input tags. Fixes 741930.dktaylor

update

Add support for setting window.onload within a script. Window.onload may be set to the name of a function, e.g., window.onload=initFunc;dktaylor

update

Partial fix for RFE 741930 "document.createElement(...) and form.appendChild(...)". This fix adds HTMLElement.appendChild. Fixes 741930. Thanks to Barnaby Court.dktaylor

update

Add support for getting HTMLElement.parentNode. HTMLElement.parentNode returns the node above the current node. It returns null if there is no parent or the parent node type is not supported (not HTML).dktaylor

update

Fixed broken behaviour in Input.onclick. Previously, if the onclick handler for a submit input didn't return true then the form would not be submitted. The html spec doesn't seem clear on this but Internet Explorer and Mozilla both allow the form to be submitted no matter what is returned from Input.onclick.mbowler

update

Moved all logic from the HtmlInput subclasses up into HtmlInput itself. Patch provided by Barnaby Court. Thanks to Barnaby Court.mbowler

update

Added instructions for the "how to compile from cvs" document. Patch provided by Barnaby Court. Thanks to Barnaby Court.mbowler

update

Changed HtmlTextArea.setText() to actually modify the DOM Patch provided by Barnaby Court. Fixes 759217. Thanks to Barnaby Court.mbowler

update

Fix for bug 738548 - "Form values are not Posted Properly to Server" Fixes 738548.mbowler

add

Added support for the property Window.namembowler

add

Added read-only support for Document.cookie.mbowler

add

Added support for the JavaScript method Window.setTimeout() Fixes 675597.mbowler

update

Upgraded the rhino engine to 1.5R4.1mbowler

update

Upgraded the xerces to 2.4mbowler

add

New method HtmlPage.getAllForms() Fixes 742515.mbowler

update

Fixed bug where inputs would not submit properly if the type attribute wasn't lowercase.mbowler

update

Changed behaviour of HtmlImageInput submission to be consistent with what the browsers do. If the input's name was foo we would previously send the following values to the server: foo, foo.x and foo.y. The browsers only send foo.x and foo.y. Fixes 744381.mbowler

add

Added docs on configuring JSSE - contributed by Tom Hamiltonmbowler

Release 1.2.2 - March 29, 2003

TypeChangesBy

add

Started tracking more information about changesmbowler

update

Fixed bug where the checked attribute wasn't always returning the correct value. Fixes 705703. Thanks to Jean-Luc Vaillant.mbowler

update

Fixed bug where checkboxes were returning the wrong value if they hadn't explicitly been set by the server. Fixes 705693. Thanks to Jean-Luc Vaillant.mbowler

add

Added support for JavaScript Document.getElementsByTagName() Fixes 705951.mbowler

update

Fixed bug where document.all wasn't being initialized correctly until after the entire page had loaded. This meant that JavaScript that executed during page load would blow up when trying to access document.all. Fixes 707750. Thanks to Mabel Chow.mbowler

add

Added support for location.hostname which fixed all but one of the tests in the sanity check. Thanks to Teo Kian Lee.mbowler

add

Added support for document.all[index]mbowler

update

Changed the JavaScript tagName attribute to return uppercase values according to specmbowler

update

Updated configuration file with more functions/propertiesmbowler

add

Added support for document.all.tags() Thanks to Mabel Chow.mbowler

update

Fixed bug in expansion of relative URLs Thanks to Dominique Broeglin.mbowler

add

Added support for setting the src attribute on an iframe via JavaScript. Setting this attribute will cause the iframe to be reloaded with new content. Fixes 709740. Thanks to David K. Taylor.mbowler

update

Improved the documentation for WebWindowEvent handling as the behaviour wasn't really self explanatory. Fixes 707343.mbowler

Release 1.2.1 - March 20, 2003

TypeChangesBy

add

Added method HtmlButtonInput#click().mbowler

update

Fixed a bug in JavaScript loading where external scripts were being loaded after the page was fully parsed rather than as each &lt;script&gt; tag was being handled. This resulted in situations where JavaScript that was executed during the parsing of the page would not be able to access functions declared in the external JavaScript files.mbowler

update

Fixed bug in HtmlForm.getRadioButtonsByName() where it would not match elements with an uppercase value for "radio"mbowler

update

Fixed a bunch of places that were declared to throw ElementNotFoundException but never actually did.mbowler

Release 1.2 - March 10, 2003

TypeChangesBy

update

Fixed bug where redirection didn't happen correctly if the location header contained multiple entries separated by commasmbowler

update

Fixed bug where some success status codes (not 200) were being reported as errorsmbowler

update

Upgraded NekoHTML to version 0.7.4mbowler

update

Upgraded commons-httpclient to 2.0beta3mbowler

update

Upgraded xerces to 2.2.1mbowler

update

Upgraded the rhino JavaScript engine to version 1.5b3mbowler

add

Added support for the Window.opener propertymbowler

update

Fixed bug where JavaScript that was enclosed in html comment tags would blow upmbowler

add

Initial support for keyboard navigationmbowler

add

Initial draft of a howto for keyboard navigationmbowler

add

New method: HtmlButton#isDisabled()mbowler

update

The click() method on buttons now do nothing if that element is disabledmbowler

update

Fixed bug where JavaScript Form.elements was not returning radio buttonsmbowler

update

Refactored the interface between WebClient and WebConnection to make it easier to add custom implementations of WebConnection.mbowler

add

Added support for the JavaScript Style objectmbowler

update

Fixed bug where comments on the same line of an opening html comment inside a script tag were being treated as JavaScript rather than as commentmbowler

update

Fixed bug where clicking on a checkbox would submit the form.mbowler

update

Fixed bug where form.submit() was always loading into the default WebWindow, not the current one.mbowler

add

Added support for indexed properties in JavaScript formsmbowler

update

Changes in the latest versions of commons-httpclient are reusing buffers that they previously weren't. This results in a situation where trying to get the content out of a WebResponse after the initial load would result in no content. Buffering is now done within HtmlUnit to avoid this problem.mbowler

add

New method WebResponse#getLoadTimeInMilliSeconds() to measure load times of specific pages. This is intended for performance tuning of web applicationsmbowler

update

Moved submission guidelines into their own document (submittingPatches.html).mbowler

update

Fixed bug where the variable "this" in an onclick handler was a Window rather than the appropriate component.mbowler

add

Added support for onchange handlers in input tagsmbowler

add

Added support for JavaScript document.referrermbowler

add

Added support for JavaScript document.URLmbowler

add

Added initial support for JavaScript document.write(). Calling document.write() to add content while the page is loading is working. Using it to write to a different frame is not.mbowler

Release 1.1 - November 25, 2002

TypeChangesBy

update

Fixed bug where loading of external JavaScript files would not follow redirects.mbowler

update

Fixed bug where accessing radio buttons by name wasn't working correctlymbowler

update

Stubbed out Window.close()mbowler

update

If there is only one radio button with a given name then JavaScript should be returning the radio button, not an array of buttons. The code was always returning an array.mbowler

update

Fixed bug where the JavaScript Option.text was returning the wrong valuembowler

Release 1.1-rc2 - November 16, 2002

TypeChangesBy

update

Fixed bug where calling WebClient.open() would open a new top level window every time.mbowler

update

Fixed bug where javascript:Window.open() was not returning the new window objectmbowler

add

Added support for onchange handler in HtmlSelect Thanks to Mike J. Bresnahan.mbowler

update

Cleaned up some javadoc warningsmbowler

add

New method WebClient#loadWebResponse(URL, SubmitMethod, List)mbowler

update

Removed the need for HiddenWebWindow - JavaScript files are now loaded via WebClient#loadWebResponse(URL, SubmitMethod, List). This should fix an intermittent bug where an UnsupportedOperationException was being called from the HiddenWebWindow if a JavaScript file was returned with a content type of "text/html"mbowler

update

Fixed bug where javascript:option.getValue() was returning the text, not the valuembowler

update

Improved some error handling when secondary pages are being loaded by framesmbowler

Release 1.1-rc1 - October 29, 2002

TypeChangesBy

update

Upgraded commons-logging.jar to 1.0.2mbowler

update

Upgraded commons-httpclient.jar to Oct 20/2002 gump buildmbowler

add

Added support for javascript:Input.disabledmbowler

update

Upgraded NekoHTML to version 0.6.8 + patches from the authormbowler

update

Changed window.open() to understand the magic name _selfmbowler

add

Added HtmlOption#setSelected(boolean)mbowler

add

Completed support for reset buttonsmbowler

update

Page load was blowing up if the name of an input was the same as the name of a predefined property in Form (ie id or action). Fixed so that if the input has the same name as a predefined property, the input wins.mbowler

add

Added support for the JavaScript method Window.confirm()mbowler

add

New interface ConfirmHandlermbowler

add

New method WebClient#setConfirmHandler(ConfirmHandler) and WebClient#getConfirmHandler()mbowler

add

Added support for the JavaScript method Window.prompt()mbowler

add

New interface PromptHandlermbowler

add

New method WebClient#setPromptHandler(PromptHandler) and WebClient#getPromptHandler()mbowler

add

New method HtmlForm#getParameterListForSubmit(). This method is intended as a debugging aid.mbowler

update

Page load would blow up if no body tag found. Framesets aren't required to have body tagsmbowler

add

Added support for JavaScript URLs in Frame and IFrame src tagsmbowler

update

Improved some error messages during initializationmbowler

add

New class ObjectInstantiationExceptionmbowler

add

Added protocol package for URL protocols and added protocol/javascript package for code that supports JavaScript URLsmbowler

update

Removed deprecated method WebClient.setBrowserVersion(BrowserVersion). No replacement for this method - browser versions must be set in the constructor of the WebClient.mbowler

update

Removed deprecated method HtmlPage.executeJavascriptIfPossible(String,String). Use HtmlPage.executeJavaScriptIfPossible(String,String,boolean) instead.mbowler

update

Removed deprecated method HtmlPage.getTitle(). Use HtmlPage.getTitleText() instead.mbowler

update

Added support for manipulating the disabled attribute of any element via JavaScript. This is incorrect according to the html specification but Internet Explorer supports it so we have to as well. This will print a warning if it is used.mbowler

update

Fixed bug where script tags that loaded external files would cause the new script to overwrite the existing page in the windowmbowler

update

Fixed bug where a redirect called from JavaScript in the page load would not replace the page.mbowler

Release 1.1-pre5 - September 24, 2002

TypeChangesBy

update

Changed html parser from JTidy to CyberNeko. CyberNeko is better at parsing really bad html but this now gives us a dependency on the xerces parser from apache.mbowler

update

The directory structure has undergone a significant change and is now checked in under a single module ("htmlunit") in cvs. This should only affect those people who are checking out code directly from cvs.mbowler

update

Upgraded checkstyle to version 2.4mbowler

add

Added support for document.location (an alias for window.location)mbowler

update

Changed initialization order in HtmlPage so that the enclosing window is initialized before the JavaScript is runmbowler

update

BEHAVIOUR CHANGE: WebClients may no longer change browser versions after creation. This is required because some of the JavaScript bits initialize differently depending on which browser is in use. If we allowed the browser version to change then behaviour would be very unpredictable.mbowler

add

Added method HtmlPage#getFirstAnchorByText(java.lang.String)mbowler

update

First steps towards having property/function information in a configuration filembowler

add

Added method HtmlPage#getHtmlElementsByAccessKey(char)mbowler

add

Added support for javascript:document.getElementById()mbowler

add

Added support for javascript:document.all[string]mbowler

update

Fixed bug where relative URLs were not being expanded in certain situationsmbowler

update

Fixed bug in relative URL expansion that was blowing up on URLs like //foo.commbowler

update

Upgraded commons-httpclient.jar and commons-logging.jar to the Aug 30 gump buildmbowler

add

Added HtmlElement#asXml()mbowler

add

Added WebClient#expandUrl(URL, String)mbowler

update

Fixed bug where relative URLs in redirects were not being expanded.mbowler

update

Fixed bug in HtmlSelect#getOptionByValue(String) where searching for the option would start at the top of the page instead of at the select.mbowler

update

Applied patches to NekoHTML to fix problems with script tags and isindex tags. Thanks to Andy Clark (author of NekoHTML) for extremely quick responses to bug reports.mbowler

add

Added support for HtmlImageInput#click() and HtmlImageInput#click(int, int)mbowler

update

Changed redirect logic so that on a 302 or 303 status, if the method changes from post to get, the parameters will be thrown away for the second request. The HTTP spec is unclear on this exact behaviour but the common browsers seem to do it this way.mbowler

add

Added the constant BrowserVersion.NETSCAPE_6_2_3mbowler

Release 1.1-pre4 - August 23, 2002

TypeChangesBy

update

Changed the license used by HtmlUnit to an apache style onembowler

update

Changed default value of WebClient.isRedirectEnabled() to false to be consistent with pre2mbowler

update

Updated look of documentationmbowler

add

Started migrating System.out.println calls over to commons-logging. Refer to the logging tutorial (logging.html) for information on customizing this.mbowler

add

Support for onClick handlers in HtmlSubmitInputmbowler

update

Support for onClick handlers in HtmlButtonmbowler

update

Fixed bug where NullPointerException would be thrown if window.alert() was called and no AlertHandler had been registeredmbowler

add

Support for onload handler on the body tagmbowler

add

Support for customizing the page types. See WebClient.setPageCreator()mbowler

add

Added HtmlElement.hasHtmlElementWithId()mbowler

update

Renamed DefaultAlertHandler to CollectingAlertHandlermbowler

update

Fixed NullPointerException in HtmlForm during submission of a form containing a radio buttonmbowler

add

Stubbed out the following methods on Input: click(), focus(), blur(), select()mbowler

add

Added support for inherited functions to SimpleScriptable. Previously only getters and setters were supported.mbowler

update

Changed SimpleScriptable.getLog() to create a new log object each time. This is necessary since in rhino, functions don't know who their object is. A way for functions to learn about their objects will have to be determined.mbowler

add

Added a JavaScript style objectmbowler

add

Added new method HtmlElement.isAttributeDefined()mbowler

update

Changed HtmlElement.getAttributeValue() to return constants indicating whether the attribute was defined with an empty value or just not defined. Both of these constants are empty strings so the behaviour of this method hasn't changed.mbowler

add

Added a tutorial section on the main page and added a link to the table tutorialmbowler

add

Started writing the table tutorial - still needs a lot of workmbowler

add

Added support for the JavaScript function Form.submit()mbowler

update

Fixed bug where javascript:document.forms[formName] was blowing upmbowler

update

Changed logic behind anchor onClick() handler to abort the click if JavaScript returns falsembowler

update

Changed logic behind form onSubmit() handler to abort the submit if JavaScript returns falsembowler

update

Fixed WebConnection so that it now passes the query string through on post requestsmbowler

add

Added HtmlFrame class. Loading a page containing frames will cause those frames to be automatically loaded as well.mbowler

update

Added support for loading iframesmbowler

add

Added HtmlFrameSet classmbowler

add

Added a coding conventions document (codingConventions.html)mbowler

add

Added a "how to get the latest code from cvs" document (buildingFromCvs.html)mbowler

update

Renamed WebWindow.getPage() and setPage() to getEnclosedPage() and setEnclosedPage() to avoid conflict with getPage in HtmlElementmbowler

add

Added WebClient.getWebWindowByName()mbowler

add

New class WebWindowNotFoundExceptionmbowler

update

When checking to see if a script is JavaScript we previously assumed that the script was not and then looked for proof that it was. This gives us behaviour that is different from browsers in some situations. The logic has been changed so that now it assumed that any script IS JavaScript unless there is proof otherwise.mbowler

add

New method HtmlPage.getFrames()mbowler

add

Initial support for resetting forms. None of the elements actually revert to their previous values yet but onReset handlers will be run if specified.mbowler

add

New method HtmlTable.getCaptionText()mbowler

update

Deprecated HtmlPage.getTitle() to be replaced with HtmlPage.getTitleText(). This will be removed before the final release of 1.1mbowler

add

Added support for the JavaScript properties: Select.options, Select.selectedIndex, Select.length and Option.valuembowler

Release 1.1-pre3 - July 23, 2002

TypeChangesBy

add

Added HtmlElement.getParent()mbowler

add

Added HtmlElement.getNextSibling()mbowler

add

Added HtmlElement.getPreviousSibling()mbowler

update

Changed WebConnection so that cookies will be shared among servers in the same domainmbowler

add

Added support for redirection - WebClient.setRedirectEnabled(boolean)mbowler

add

Added method on WebResponse to access the response headersmbowler

add

Many new JavaScript objects - this will be transparent to users of HtmlUnitmbowler

update

Lots of refactoring in the JavaScript portionmbowler

update

Fixed a NullPointerException if the server doesn't return a content-type headermbowler

update

Fixed HtmlElement.childrenAsText() so that it ignores commentsmbowler

add

Added support for Input.checkedmbowler

add

Added some constants to BrowserVersion for various browsersmbowler

update

Upgraded gsbase.jar to version 1.8mbowler

update

Replaced js.jar with a version that has been compiled with debug supportmbowler

update

Upgraded commons-httpclient.jar to the July 27 gump build.mbowler

add

Added commons-logging.jar (July 27 gump build) which is needed by httpclientmbowler

add

Support for proxy server and ssl togethermbowler

Release 1.1-pre2 - July 10, 2002

TypeChangesBy

update

Fixed NullPointerException due to a bug in JTidy - thanks to Mike J Bresnahan for tracking this one right into the JTidy source.mbowler

add

HtmlAnchor now supports JavaScript URLs and onClick handlersmbowler

add

Ability to set the emulated browser via WebClient.setBrowserVersion(BrowserVersion)mbowler

add

Stubbed out a bunch of JavaScript methods that are used by the popular websites. Each stubbed out method will print a diagnostic message when it is called to alert the user to the fact that it was called. This is just a temporary measure to ensure that HtmlUnit doesn't blow up when hitting common sites. These methods *will* be implemented properly at some point.mbowler

add

Added WebWindowmbowler

add

Added TopLevelWindowmbowler

add

Added WebWindowListenermbowler

add

Added WebWindowEventmbowler

add

Added WebWindowAdaptermbowler

add

Added initial support for javascript:open(). Does not currently support features or browser historymbowler

update

Fixed some cases in HtmlPage.getFullyQualifiedUrl() that weren't expanding properlymbowler

add

Added HtmlTitlembowler

add

Added HtmlPage.getTitle()mbowler

add

Added JavaScript window.location="some url"mbowler

add

Stubbed out the JavaScript history objectmbowler

add

Added support JavaScript URLs in HtmlForm submissionmbowler

add

Added support for HtmlForm.onSubmit()mbowler

update

Rewrote logic for handling relative URLsmbowler

update

Fixed bug in HtmlRadioButtonInput that was causing isChecked() to return false in some cases even if the checked attribute was there.mbowler

Release 1.1-pre1 - July 2, 2002

TypeChangesBy

add

Added initial JavaScript supportmbowler

update

Lots of bug fixesmbowler

Release 1.0 - May 22, 2002

TypeChangesBy

add

Initial releasembowler