| Version | Date | Description |
|---|---|---|
| 2.12 | Mar 6, 2013 | Bugfixes, CSS3 Selectors |
| 2.11 | Nov 6, 2012 | Bugfixes, Java 6, HtmlPage.getElementById(), .type() special keys, initial WebSocket support, initial SVG support, primitive Geolocation support, SOCKS proxy for https, CORS |
| 2.10 | Jul 21, 2012 | Bugfixes, SSL client certificate |
| 2.9 | Aug 9, 2011 | Bugfixes, performance improvements |
| 2.8 | Aug 5, 2010 | Bugfixes, (large) binary download, single thread for JavaScript background tasks, HttpClient 4, SOCKS proxy, initial support for FF 3.6, support for GoogleAppEngine |
| 2.7 | Feb 9, 2010 | Bugfixes, initial IE8 support, HttpClient 4 migration preparation |
| 2.6 | Sep 2, 2009 | Bugfixes, add HtmlPage.save(), better XHTML support, Proxy Auto-Config, improved cache |
| 2.5 | Apr 21, 2009 | Bugfixes, MooTools support, support all HTML elements and various JavaScript properties |
| 2.4 | Dec 30, 2008 | Bugfixes, ActiveX support, JQuery & MochiKit support, minimal applet support, IE conditional comments |
| 2.3 | Sept 16, 2008 | Bugfixes, better generics, add Firefox 3 emulation, GWT 1.5 support |
| 2.2 | Jul 24, 2008 | Numerous bugfixes (handling of ill formed HTML code, document.write, ...), speed improvements, and move to HtmlUnit-core-js (Rhino fork) |
| 2.1 | Apr 15, 2008 | Performance improvements in CSS processing and a few bug fixes |
| 2.0 | Apr 7, 2008 | Migration 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.14 | Jan 9, 2008 | Enormous improvements particularly in JavaScript support and execution speed |
| 1.13 | Aug 17, 2007 | Fixes bad maven packaging of version 1.12 + different improvements |
| 1.12 | Aug 10, 2007 | Enormous improvements particularly in JavaScript support and execution speed |
| 1.11 | Mar 15, 2007 | |
| 1.10 | Nov 03, 2006 | |
| 1.9 | Jun 27, 2006 | |
| 1.8 | Feb 17, 2006 | |
| 1.7 | Aug 23, 2005 | |
| 1.6 | May 10, 2005 | |
| 1.5 | March 13, 2005 | |
| 1.4 | January 9, 2005 | |
| 1.3 | November 12, 2004 | |
| 1.3-pre2 | September 26, 2004 | |
| 1.3-pre1 | November 7, 2003 | |
| 1.2.3 | July 31, 2003 | |
| 1.2.2 | March 29, 2003 | |
| 1.2.1 | March 20, 2003 | |
| 1.2 | March 10, 2003 | |
| 1.1 | November 25, 2002 | |
| 1.1-rc2 | November 16, 2002 | |
| 1.1-rc1 | October 29, 2002 | |
| 1.1-pre5 | September 24, 2002 | |
| 1.1-pre4 | August 23, 2002 | |
| 1.1-pre3 | July 23, 2002 | |
| 1.1-pre2 | July 10, 2002 | |
| 1.1-pre1 | July 2, 2002 | |
| 1.0 | May 22, 2002 |
| Type | Changes | By |
|---|---|---|
| BrowserVersion: support FF17, deprecate FF3.6. | mguillem |
| JavaScript: add support for window.onchange handler (FF10+ and Chrome). Fixes 1484. Thanks to Hartmut Arlt. | mguillem |
| Fixed synchronization problem causing a task triggered by setTimeout to be executed to early, before event handlers. | mguillem |
| CookieManager: changed getCookies to return a copy of the current set of cookies to avoid ConcurrentModificationException. | mguillem |
| JavaScript: add empty implementations of CanvasRenderingContext2D methods createImageData, createPattern, createRadialGradient, fillText, getImageData, getLineData, isPointInPath, measureText, putImageData, rect, rotate, setTransform, strokeText, and transform (FF). | mguillem |
| Support for CSS pseudo selector ':target' added. | rbri |
| JavaScript: add DocumentFragment.querySelectorAll()/DocumentFragment.querySelector(). | rbri |
| JavaScript: move method contains to Node, throw runtime exception on invalid argument. Fixes 1480. | mguillem |
| Method innerHTML does not encode entities for style tags. | rbri |
| Initial support for HtmlMeter (FF 17). | mguillem |
| JavaScript: fixed exception occurring while testing window or document == "some string". Fixes 1479. | mguillem |
| Support for CSS pseudo selector ':focus' added. Fixes 1478. | rbri |
| When simulating IE, the initial focus for a page is on the html element. | rbri |
| JavaScript: fixed hanging problem (infinite loop) after Object function was called with a window as parameter. | mguillem |
| JavaScript: determine default path for cookies set with document.cookie from current URL. Fixes 1458. | mguillem |
| JavaScript: place document before window in scope chain for event handlers defined in HTML attributes. Fixes 898. | mguillem |
| JavaScript: added basic support for SVGAngle and SVGMatrix. | mguillem |
| JavaScript: HTMLDocument.createElementNS can create SVG elements. | mguillem |
| JavaScript: add support for SVGSVGElement's style property and basic support for methods createSVGMatrix and getScreenCTM. | mguillem |
| JavaScript: add support for CanvasRenderingContext2D.quadraticCurveTo (FF). | mguillem |
| JavaScript: execute onload handler of pages loaded in a frame, replacing a previous content. Fixes 1443. | mguillem |
| Upgrade Apache HttpClient to 4.2.3. | rbri |
| JavaScript: elements nested within an element with "display: none" have offsetHeight = offsetWidth = 0. | mguillem |
| JavaScript: fixed wrong trigger of focus event in special cases when field loses focus. | mguillem |
| JavaScript: ignore invalid indexes for History.go. | mguillem |
| Some more elements to close "p": address, center, dd, dir, dl, dt, fieldset, listing, li, menu, ol, pre, ul and xmp. | asashour |
| Set max number of simultaneous connections per server to 6. | mguillem |
| Handle pages with "application/javascript" content type as JavaScriptPage. Fixes 1471. | asashour |
| CSS: support Selectors Level 3. | asashour |
| JavaScript: fix document/element . querySelectorAll()/querySelector() (IE8). | asashour |
| JavaScript: add document.documentMode (IE). | asashour |
| Fix URL handling of local files in Windows, if they have folders starting with dot. | asashour |
| JavaScript: add document.implementation.createDocument for Chrome. | asashour |
| UrlUtils: deprecate encodeUrl(URL, boolean). | asashour |
| Fix the encoding of clicked links to match the enclosing page (FF). Fixes 1402. | asashour |
| Upper-case the charset detected from "meta" tag. | asashour |
| JavaScript: adjust availability of window.console (Firefox 4+, IE9+ and Chrome). | mguillem |
| Fixed typo in method names of com.gargoylesoftware.htmlunit.WebConsole.Formatter. | mguillem |
| JavaScript: add document.charset, .characterSet, .defaultCharset and .inputEncoding. | asashour |
| CSS: fix DirectAdjacentSelector (E + F). | asashour |
| JavaScript: fix the value of "(i in x)" for NodeList, HTMLCollection and CSSRuleList. Fixes 1456. | asashour |
| HtmlElement: deprecate getElementById() and hasHtmlElementWithId(). | asashour |
| 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 |
| JavaScript: fix Date.toLocaleDateString() and .toLocaleTimeString(). Fixes 1467. | asashour |
| Add BrowserVersion.clone(). | mguillem |
| Fix a potential ConcurrentModificationException, on calling WebClient.getWebWindows(). | asashour |
| WebClient.closeAllWindows() to delete all temporary created big files. Fixes 1344. | asashour |
| JavaScript: .outerHTML of "basefont", "col", "embed" and "wbr" have forbidden end tag (FF). | asashour |
| Escape "%%" in query string to avoid IllegalArgumentException. | mguillem |
| JavaScript: initial support for HTMLBGSoundElement (IE). | asashour |
| JavaScript: HTMLElement.outerHTML use lower case for unknown, "spacer" and "multicol" elements (IE). | asashour |
| Fix URL manipulation (UrlUtils) for file URLs containing drive letter. | rbri |
| JavaScript: fix handling relations of document type comment with <html> element (IE). | asashour |
| JavaScript: properties of Array.prototype should be defined in standards mode (IE). | asashour |
| JavaScript: correctly process null function handlers. | asashour |
| JavaScript: correct select.value after enclosing form.reset(). | asashour |
| JavaScript: XML: element.removeAttribute() is case-sensitive. | asashour |
| Correctly handle local file URL if it is in a separate driver (Windows). Fixes 1464. | asashour |
| JavaScript: fix the return value of element.getAttribute() in standards mode (IE). | asashour |
| JavaScript: element.set/getAttribute() should fix the name (e.g. "className") only in quirks mode (IE). | asashour |
| Cookies: use 1970 as two digits year start for the expiration date. | mguillem |
| Cookies: accept more non standard date formats for the expiration date. | mguillem |
| 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 |
| JavaScript: element.outerHTML should throw an error if the provided value closes the parent. Fixes 1452. | asashour |
| JavaScript: element.outerHTML should not print end tag if it is forbidden. | asashour |
| Change default RefreshHander to a NiceRefreshHandler(2). Fixes 1126. | mguillem | |
| Support Internationalized Domain Name (IDN). Fixes 1459. | asashour |
| Change default network timeout from infinite wait to 90 seconds. | mguillem | |
| JavaScript: function name referenced before its declaration should be visible (IE). | asashour |
| JavaScript: function name referenced before its declaration should throw an exception (FF). | asashour |
| JavaScript: prevent infinite loop during adding a DomNode to itself. Fixes 1253. | asashour |
| JavaScript: don't enumerate function properties "arguments" and "caller". | mguillem |
| JavaScript: handle definition of "function object.property() {}" (IE). | asashour |
| JavaScript: implement property HTMLElement.dataset (FF10). | asashour |
| JavaScript: remove "constructor" property of host objects (IE). Fixes 1420. | asashour |
| Cookie: remove deprecated (String name, String value) constructor. | asashour |
| Type | Changes | By |
|---|---|---|
| Upgrade NekoHtml to 1.9.17. | mguillem |
| JavaScript: remove unneeded global properties ("java", "Packages" and "getClass") (FF). | asashour |
| JavaScript: implement "constructor" property of all host objects (FF). Fixes 1420. | asashour |
| Properly handle spaces after "strong", "b", "i" and "u" elements. Fixes 1451. | asashour |
| JavaScript: node.outerHtml not allowed for body and head nodes. | rbri |
| JavaScript: "this === window" should be true. | asashour |
| CSS: cssparser updated to 0.9.8. | rbri |
| Avoid double form submission when the onclick handler of a submit button calls form.submit() and the submission is answered by a redirect. | mguillem |
| JavaScript: implement window.dispatchEvent() (FF only). Fixes 1439. | asashour |
| JavaScript: Some more fixes for correct calling of the Image onload handler. Fixes 1339. | rbri |
| In some cases the javascript execution context was overwritten. This produces side effects like the one in this issue. Fixes 1433. | rbri |
| Handle NoHttpResponseException like an HTTP error and ignore it when option throwExceptionOnFailingStatusCode is set to true. | mguillem |
| Handle 'deflate' Content-Encoding with content compressed using GZip compatible mode. | mguillem |
| JavaScript: setting iframe.src to 'about:blank' should not load the page. Fixes 3577737. | asashour |
| JavaScript: iframe.src should point to the related page. Fixes 3577737. | asashour |
| HtmlEmbed: add saveAs(File). Fixes 2817642. | asashour |
| JavaScript: XMLHttpRequest: support Cross-Origin Resource Sharing (CORS). Fixes 3432380. | asashour |
| JavaScript: Image onload not called after src change (using setAttribute('src', ) instead of src property). Fixes 3567013. | rbri |
| DomNode: make .querySelectorAll() and .querySelector() public. Fixes 2781954. | asashour |
| JavaScript: 'focus' and 'blur' event is triggered for 'document' descendants (FF and Chrome). Fixes 3388308. | asashour |
| Cookies: fix year with two digits. | asashour |
| IE Conditional comments: handle "downlevel revealed" conditional cases. Fixes 3567961. | asashour |
| JavaScript: allow re-declaration of undefined, NaN and Infinity. Fixes 3529411. | mguillem |
| JavaScript: allow assignment to undefined, NaN and Infinity (FF3.6 and IE). | mguillem |
| JavaScript: implement Typed Arrays, namely ArrayBuffer, DataView, Float32Array, Float64Array, Int16Array, Int32Array, Int8Array, Uint16Array, Uint32Array, Uint8Array and Uint8ClampedArray. Fixes 3564695. | asashour |
| JavaScript: document.domain now allows the change from localhost to a different domain. Fixes 3411548. | rbri |
| JavaScript: exception.stack should not be defined in IE. | asashour |
| JavaScript: WebWindow: add getters and setters for window width and height. | asashour |
| JavaScript: add support for HTMLMediaElement.canPlayType(). | asashour |
| Fixed NPE in HtmlPage.getTitleText() and WebClient.closeAllWindows() occurring when document.documentElement has been removed. Fixes 3039471. | mguillem |
| JavaScript: add support for CSSFontFaceRule (Firefox). | mguillem |
| JavaScript: ensure that property "argument" of a function is null outside of it's scope. | mguillem |
| JavaScript: add support for getAttributeNS, hasAttributeNS, removeAttributeNS, and setAttributeNS on Element (Firefox). Fixes 2856746. Thanks to lexicore. | rbri |
| Missing synchronization in StorageImpl fixed. Fixes 3570500. | rbri |
| NPE fix for Range.htmlText. | rbri |
| NPE fix for Range.parentElement(). | rbri |
| Empty responses marked as GZip encoded no longer throwing an error. Fixes 3566999. | rbri |
| UrlUtils: fix an infinite loop when base URL is relative. Fixes 3566348. | asashour |
| JavaScript: ClassCastException in Window.jsxFunction_open() fixed. Fixes 3566814. | rbri |
| Timeout configuration changes are now taken into account. | mguillem |
| WebClient: deprecated setTimeout() and getTimeout(). Use webClient.getOptions() instead. | mguillem |
| JavaScript: HTMLTableElement.refresh is only available when simulating IE. | rbri |
| JavaScript: HTMLTableElement.moveRow, HTMLTableSectionElement.moveRow, Tfoot.moveRow, and THead.moveRow are only available when simulating IE. | rbri |
| INCOMPATIBLE CHANGE: WebResponseDate.getInputStream(), BinaryPage.getInputStream(), UnexpectedPage.getInputStream(), WebResponse.getContentAsStream(), and WebResponseWrapper.getContentAsStream() are throwing an IOException now. | rbri |
| JavaScript: fixed namespace handling for nodes imported from an xml document via document.importNode(). Fixes 3560821. | rbri |
| DebuggingWebConnection: fixed IOException occurring while working with gzip encoded JavaScript responses. | mguillem |
| JavaScript: disabled (limited) JavaScript execution in HtmlPage instances that are not "active" anymore. | mguillem |
| JavaScript: improved verifications to avoid that background tasks continue to run when page has been unloaded. | mguillem |
| Google App Engine support: don't follow redirects automatically in UrlFetchWebConnection. Fixes 3557486. | mguillem |
| Add SOCKS proxy support for HTTPS. Fixes 3107078. | mguillem |
| HttpWebConnection: removed setUseInsecureSSL. Settings is now read from WebClientOptions. | mguillem |
| INCOMPATIBLE CHANGE: The interface HTMLParserListener is enhanced to be able to handle the html source when parsing a snippet. | asashour |
| WebClient: getWebConnection() and setWebConnection() are part of the public APIs. | asashour |
| JavaScript: remove customized "eval", and depend on core-js. Fixes 3028476. | asashour |
| BackgroundJavaScriptFactory is now configurable. Fixes 3555655. | rbri |
| JavaScript: function.arguments can be read-only (Chrome). | asashour |
| JavaScript: align property support added to heading elements | rbri |
| JavaScript: setting script.text re-executes the script (IE) (in IE mode). Fixes 2993940. | rbri |
| JavaScript: fix various problems with re-execution of script Fixes 3542056. | rbri |
| JavaScript: event handler functions should have a name. | asashour |
| JavaScript: implement function.arguments, and correct Arguments default value. Fixes 3545244. | asashour |
| JavaScript: let event.type and .button, .clientX, .clientY to have setters. | asashour |
| JavaScript: fix cases when trying to set a read-only attribute. Fixes 3547364. | asashour |
| Add support for "Do Not Track" feature (FF10 only). | asashour |
| 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 |
| JavaScript: implement navigator.buildID, .oscpu, .vendor and .vendorSub. | asashour |
| JavaScript: fix document.bgColor, .fgColor, body.aLink, .bgColor, .link, .text and .vLink. | asashour |
| JavaScript: implement document.getSelection(), .head, .alinkColor, .linkColor, .vlinkColor, and window.dump(). | asashour |
| DOM: implement text.getWholeText(). | asashour |
| JavaScript: fix navigator.appMinorVersion, .cpuClass, .systemLanguage and .userLanguage values. | asashour |
| Geolocation: primitive support (FF only). Fixes 3403601. | asashour |
| Implement WebConsole and JavaScript Console (FF only) Fixes 3518475. Thanks to Andrea Martino. | asashour |
| JavaScript: implement element.classList (FF only). | asashour |
| JavaScript: add element.children (FF), it was implemented for only IE. | asashour |
| JavaScript: separate NodeList from previously existing HTMLCollection. | asashour |
| JavaScript: add node.attributes and element.baseURI. | asashour |
| JavaScript: incompatible objects with the respective BrowserVersion should be HTMLUnknownElement. | asashour |
| Initial support for HtmlProgress (FF 10). | asashour |
| JavaScript: implement document.scripts for FF 10 (in addition to already implemented IE). | asashour |
| JavaScript: implement node.parentElement (FF 10). | asashour |
| Initial SVG support. | asashour |
| INCOMPATIBLE CHANGE: rename IElementFactory to ElementFactory, and change the return type of its methods from HtmlElement to DomElement. | asashour |
| HtmlPage: cloneNode() should clone the underlying ScriptObject. | asashour |
| HtmlElement: support special keys for .type(int). | asashour |
| BaseFrame: is now deprecated, please use BaseFrameElement instead. | asashour |
| BaseFrameElement: create a WebWindow for the new clone instance. Fixes 3083847. | asashour |
| Cookies: enable cookies after being disabled, should work. Fixes 3159440. | asashour |
| DomElement: now implements ElementTraversal, with the corresponding JavaScript getters (FF only). Fixes 3030792. | asashour |
| JavaScript: implement more Range methods. Fixes 3107238. Thanks to James Phillpotts. | asashour |
| JavaScript: document.getElementById() finds non-HTML elements. Fixes 3313921. | asashour |
| HtmlPage: deprecate .getElementByAccessKey(), use .getHtmlElementByAccessKey() instead. | asashour |
| INCOMPATIBLE CHANGE: change the return type of HtmlPage.getElementById(), .getElementByName(), .getElementsByName(), .getElementsByTagName(), .getElementsByIdAndOrName() and HtmlElement.getChildElements() from HtmlElement to DomElement. | asashour |
| Mandate Java 6 as a minimum requirement. | asashour |
| Delete temporary generated files on page.cleanUp(). Fixes 3414170. Thanks to Nicolas Belisle. | asashour |
| JavaScript: DocType is handled as Comment (IE only). | asashour |
| JavaScript: HTMLGenericElement instead of HTMLUnknownElement, and HTMLCommentElement instead of Comment (IE only). | asashour |
| JavaScript: object default value to contain the name, in strict mode (IE only). | asashour |
| JavaScript: Node should not define '.innerText'. | asashour |
| JavaScript: comments are elements, most properties implemented (IE8 only). | asashour |
| JavaScript: document.getElementById() should not search by name, with strict mode (IE8 only). | asashour |
| JavaScript: initial WebSocket support. | asashour |
| Remove deprecated BrowserVersion.FIREFOX_3. | asashour |
| Type | Changes | By |
|---|---|---|
| CSS: handling attributes which do not need explicit values, e.g. [disabled]. | asashour |
| Google App Engine support: allow frame loading. Fixes 3544647. | mguillem |
| Cookie: null path is treated as "/" in .equals() and .hashCode() | asashour |
| Upgrade Apache HttpClient to 4.2.1. | rbri |
| JavaScript: window.onhashchange support added. Fixes 3536790. | asashour |
| DomNode: fix potential NPE in DomNode.DescendantElementsIterator. Fixes 3532769. | asashour |
| JavaScript: add window.mozInnerScreenX, .mozInnerScreenY and .mozPaintCount (FF only). Fixes 3536790. | asashour |
| WebRequest: add default value for "Accept-Encoding" HTTP header. | asashour |
| Fixed error processing when the onerror handler throws an error. Fixes 3534371. Thanks to Hartmut Arlt. | rbri |
| JavaScript: add DocumentFragment.createAttribute(), createComment(), createDocumentFragment(), createElement() and createTextNode() (IE only) Fixes 3535811. | asashour |
| Some more style properties are now supported; IE8 simulation now supports the same set of properties like the real one. | rbri |
| Correct the formating of the opacity style value. Fixes 3534330. | rbri |
| Correct the handling of unsupported style properties when simulating IE. | rbri |
| Truncate file names in HtmlPage.savePage and DebuggingWebConnection to avoid exception due to too long file names. | mguillem |
| JavaScript: querySelector(All) throws for invalid selectors. | mguillem |
| Java 7: fix SSLPeerUnverifiedException for valid certificates when WebClient.setUseInsecureSSL(true) is used. | mguillem |
| Upgrade commons-codec to 1.6 | rbri |
| Upgrade Apache HttpClient to 4.2. | asashour |
| WebClient: add .setSSLClientCertificate() for client certificate authentication. Thanks to Martin Huber. | asashour |
| 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 |
| JavaScript: handle out of bound moves for TextRange (IE only). Fixes 3432442. Thanks to David Gileadi. | mguillem |
| Google App Engine support: added basic cookie support. Fixes 3407199. Thanks to Pieter Herroelen. | mguillem |
| Fix XHR.onreadystatechange now supplies an event argument if simulating FF. Fixes 3440181. | rbri |
| Unauthorized response should be received only once, and subsequent requests should have the Authentication string. | asashour |
| INCOMPATIBLE CHANGE: do not allow WebClient.addRequestHeader("Cookie", value) and Cookie must have a domain. | asashour |
| Fix default content encoding for XML files. Fixes 3385410. | rbri |
| JavaScript: don't restrict XMLHttpRequest to same origin for FF 3.6 and upper. Fixes 3496236. Thanks to James Phillpotts. | mguillem |
| Upgrade CSS Parser to 0.9.7. | asashour |
| Fix missing support for different handling of self closing tags in HTML and XHTML. Fixes 3112678. | rbri |
| Fixed cookie threading issue. Fixes 3496236. Thanks to James Phillpotts. | mguillem |
| 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 |
| Upgrade Apache commons-io to 2.2. | rbri |
| Check the onclick event for preventDefault/returnValue also when the handler produces no result. | rbri |
| Don't create a new Attr when setAttributeNode(Attr) is called. This fixes jQuery.attr for IE browsers. Fixes 3471467. | rbri |
| HtmlElement attributes collection returns an empty attr for 'class' if simulating IE. | rbri |
| Ignore gzip encoding problems when downloading external css content. Fixes 3498578. | rbri |
| Methods element.getElementsByTagName() and XMLDocument.getElementsByTagName() are now namespace aware. | rbri |
| Method element.querySelectorAll() now only selects descended nodes of the element. | rbri |
| Upgrade Apache HttpClient to 4.1.3. | rbri |
| Call onload event for frames in the correct order. Fixes 2873802. | rbri |
| Implement some more fixes for handling of '!important' rules. Fixes 3487948. | rbri |
| Avoid calling class.getPackage() because of broken class loader implementation in ColdFusion. Fixes 3487590. | rbri |
| JavaScript: CSSStyleDeclaration.removeProperty is now available in FF mode. | rbri |
| Some not needed exception declarations are gone. Fixes 3475974. | rbri |
| isDisplayed() has to return false for hidden form fields. Fixes 3471836. Thanks to Hartmut Arlt. | rbri |
| Cookies: add support for Set-Cookie attribute httpOnly. Fixes 3470364. | mguillem |
| JavaScript: fix strange return value 'net.sourceforge.htmlunit.corejs.javascript.UniqueTag.NOT_FOUND' of ComputedStyle.getPropertyValue. | rbri |
| JavaScript: make Element.getBoundingRect available when simulating FF too. | mguillem |
| If JavaScript is disabled, don't download the image even if an onload handler is defined. Fixes 3123380. | rbri |
| JavaScript: document.forms(0) is not valid in FF. Fixes 2902442. | rbri |
| JavaScript: Initialization of the popup window misses some steps. Fixes 3029277. | rbri |
| 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 |
| JavaScript: script.text works correct now for script nodes with more than one child node. | rbri |
| 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 |
| JavaScript: StyleSheet insertRule/addRule and deleteRule/removeRule exception handling fixed. Now we reporting syntax errors back to javascript. | rbri |
| CSS: cssparser updated to 0.9.7-SNAPSHOT. | rbri |
| Upgrade Apache commons-lang to 3.1. | rbri |
| JavaScript: document.getElementsByClassNameNS("*", "html") now returns the HTML tag for a page. Fixes 3438310. Thanks to Daniel Wagner-Hall. | rbri |
| JavaScript: concatenate all text nodes under a <script> tag when calculating the script code. Fixes 3438311. Thanks to Daniel Wagner-Hall. | rbri |
| JavaScript: No execution of javascript, if script tag imported (replaceChild) from different dom (xml). Fixes 3006858. | rbri |
| JavaScript: fix transformation of regular expressions like '{{something}}' into java regular expressions. Fixes 3434548. | rbri |
| HtmlScript.asXml(): don't insert CDATA if it is already present. Fixes 3414140. | mguillem |
| HtmlTable.getCellAt() now works in complex situations with colspan and rowspan. Fixes 3433589. | rbri |
| 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 |
| JavaScript: NPE when the event handler performs only preventDefault(). Fixes 3072010. | rbri |
| JavaScript: Selecting an option via javascript (e.g. sel.options[1].selected = true) no longer triggers the focus event. | rbri |
| JavaScript: JavaScriptExecutor had a memory leak; the list of jobs was never cleaned. Thanks to rmillet. | rbri |
| JavaScript: addEventListener/attachEvent are behaving like the browser if called with null event handler. | rbri |
| 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 |
| Upgrade Apache commons-io to 2.1. | rbri |
| JavaScript: fixed StackOverflowError occurring with onload handlers in documents created with document.write (IE only). Fixes 3418880. | mguillem |
| Better error message if browser configuration contains an unknown key. Fixes 3420124. Thanks to Marco Cova. | rbri |
| JavaScript: 'onload' handler for iframes was not called if an iframe without src attribute was added from javascript. Fixes 3406772. | rbri |
| JavaScript: 'onload' handler for iframes was called if an iframe was added to an document fragment. Fixes 3406772. | rbri |
| 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 |
| Malformed HTML code: handle nested forms. | mguillem |
| Add NiceRefreshHandler. Fixes 3026460. | mguillem |
| Click on a selected option in a multiple select element unselects it. | mguillem |
| JavaScript: StringIndexOutOfBoundsException when calling TextRange.text. | rbri |
| CSS: forward the URI of an style sheet to the CSS parser for better error messages. Fixes 3408437. Thanks to Anton Kozak. | rbri |
| JavaScript: IEConditionalCompilationScriptPreProcessor throws exceptions for some scripts. Fixes 3401043. Thanks to Adam Doupe. | rbri |
| JavaScript: document property 'activeElement' is now available in FF3.6 mode. Fixes 3405349. Thanks to Hartmut Arlt. | rbri |
| SSL: for web servers which support only SSLv3, try to explicitly reconnect with that version. | asashour |
| JavaScript: trim value of type attribute before to verify it (FF only). Fixes 3403860. | mguillem |
| CSS: support for @font-face fixed. Fixes 2984265. | rbri |
| JavaScript: document property 'readyState' is now available in FF3.6 mode. Fixes 3397538. Thanks to Hartmut Arlt. | rbri |
| Remove deprecated WebRequestSettings, WebResponseImpl, some BrowserVersion constants, DefaultCredentialsProvider.addProxyCredentials() and WebResponse.getContentAsBytes(). | asashour |
| Type | Changes | By |
|---|---|---|
| CSS: pseudo class 'disabled' now supported in FF mode. | rbri |
| JavaScript: properly handle XML inside frame. Fixes 3386186. | asashour |
| JavaScript: Wrong offsetHeight for elements with height set to 0px fixed. Fixes 3306325. | rbri |
| Initial support for css background shorthand added. Fixes 3308994. | rbri |
| JavaScript: avoid encoding of % in Location.href when set as part of Location.hash. | mguillem |
| HtmlPage.savePage: ensure that the right option is saved as selected. | mguillem |
| JavaScript: ensure that first cell off each row has the same offsetLeft. Fixes 3180939. | mguillem |
| Missing history update during window.location.replace(newUrl) fixed. Fixes 3354317. Thanks to Hartmut Arlt. | rbri |
| NullPointerException in css parser error handler fixed. Fixes 3325124. | rbri |
| JavaScript: Fix for null index handling when adding a select option. Fixes 3319397. | rbri |
| JavaScript: zIndex handling fixed in many ways. Fixes 3319448. | rbri |
| JavaScript: fixed IndexOutOfBoundsException when accessing the CSSRuleList. Thanks to Peter Wilkinson. | rbri |
| JavaScript: add support for CssStyleSheet removeRule & deleteRule. Fixes 3314489. Thanks to Peter Wilkinson. | rbri |
| JavaScript: add support for element.removeAttributeNode() for IE too. Fixes 3310121. | mguillem |
| In some cases a new window was not attached to the JavaScript background worker thread. | rbri |
| HtmlPage.save: fix exception occurring when a referenced image is not an image. | mguillem |
| JavaScript: fix string conversion of native functions. | mguillem |
| Parsing: accept self closing <iframe/> tags when simulating IE. | mguillem |
| Fix a NPE because of bugs in NamedAttrNodeMapImpl. Fixes 3306491. | rbri |
| CSS: support for media="all" added. Fixes 3306851. | rbri |
| Wrong DOM node generated for tables. Fixes 3241279. | rbri |
| CCS parsing not required for Page.getTitleText(). Fixes 3103101. | rbri |
| JavaScript: add support for NamedNodeMap.removeNamedItem. Fixes 3240867. | mguillem |
| NPE fixed when CSS style declarations are addressed from JavaScript. | rbri |
| 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 |
| JavaScript property mediaText and function item added to class MediaList. | rbri |
| JavaScript support for class CSSMediaRule added. | rbri |
| Avoid exception occurring when script's src attribute is only "http://". Fixes 3236689. | mguillem |
| Recursion in CSS import causes stack overflow. Fixes 3003087. | rbri |
| Fix order of steps during Window initialization to avoid NPE in later access. Fixes 3247986. Thanks to Kohsuke Kawaguchi. | rbri |
| DefaultCredentialsProvider: reactivate removed addNTLMCredentials and addNTLMProxyCredentials as HttpClient 4.1 now provides full support for NTLM authentication. | mguillem |
| Upgrade Apache HttpClient to 4.1.1. | mguillem |
| Use correct separator for 'src' and 'href' attributes. Fixes 3238326. | rbri |
| Follow hyperlink when click is performed on a nested element. Fixes 3232488. | rbri |
| XMLSerializer.serializeToString() generate lower case tags for FF 3.6. | rbri |
| XMLSerializer.serializeToString() generates self closing tags as defined by xhtml (only FF 3.6). Fixes 3139076. | rbri |
| Fix synchronization problem causing wrong page to be occasionally loaded into a window. Fixes 3193004. Thanks to Nikolai Avteniev. | mguillem |
| 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 |
| Improved memory handling of JavaScriptExecutor. Thanks to Kostadin Chikov. | rbri |
| Upgrade Apache commons-io to 2.0.1. | rbri |
| Calculation for the next execution time of jobs (setInterval) fixed for some cases. Thanks to Nikolai Avteniev. | rbri |
| JavaScript: fix exception in getComputedStyle occurring while evaluating child selector for node within a DocumentFragment. Fixes 3191431. | mguillem |
| Follow hyperlink when click is performed on a nested element. Fixes 3165159. | mguillem |
| IFrame created from javascript doesn't load source'. Fixes 3107075. | rbri |
| Initialization of iframes corrected, if content was written from javascript. Fixes 3046109. | rbri |
| Remove expired cookies. Fixes 3181695. Thanks to Nikolai Avteniev. | mguillem |
| Serialization support fixed for Pages with unfinished JavaScriptJob's. These jobs are NOT serialized. Fixes 3103703. | rbri |
| 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 |
| NPE if URL contains basic auth info without password. Fixes 3165357. | rbri |
| JavaScript: Use the right encoding for the implementation of the loadXML and parseFromString methods. Fixes 3166477. | rbri |
| JavaScript: un-selecting selected option in a (single) select causes the first option to be selected (FF) or is ignored (IE). Fixes 3171569. | mguillem |
| Send cookies ordered by more specific path attribute. Fixes 3107395. | mguillem |
| The script tag supports now the type 'application/x-javascript' in Firefox mode. Fixes 3167335. | rbri |
| Improved synchronization and sleep() replaced by wait() in JavaScriptJobManagerImpl. Fixes 3159858. | rbri |
| Upgrade Apache commons-lang to 2.6. | rbri |
| Upgrade Apache HttpClient to 4.1. | mguillem |
| File name is send to server if HtmlFileInput.setData was called. Fixes 3156627. | rbri |
| Url's like 'http://www.google.com/..' reduced to 'http://www.google.com/'. Fixes 3151939. | rbri |
| JavaScript: added support for CSSCharsetRule. Fixes 3128042. | mguillem |
| HtmlElement.type: respect maxLength (if any) for text and password input fields. Fixes 3060157. | mguillem |
| JavaScript: add dummy implementation of HTMLCanvasElement.toDataURL. Fixes 3126728. | mguillem |
| JavaScript: HTMLCanvasElement's width and height are of type Number not String. Fixes 3126728. | mguillem |
| 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 |
| Accept cookies set by server responses even if the path doesn't match the one of the requested content. | mguillem |
| NPE in XMLSerializer.save(page) if the page contains an image tag without src attribute or link without href. Fixes 3121315. | rbri |
| 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 |
| JavaScript: add support for HTMLElement.querySelector and querySelectorAll for FF3.6 and IE8. Fixes 3104700. | rbri |
| 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 |
| JavaScript: make window.top writable. | mguillem |
| JavaScript: octal support added to the regular expressions. | rbri |
| HtmlImage; reset image reader also if image is reloaded because of src attribute change. Fixes 3110733. | rbri |
| JavaScript: add support for HTMLDocument.querySelector and querySelectorAll for FF3.6 and IE8. | mguillem |
| JavaScriptErrorListener added (WebClient.setJavaScriptErrorListener(JavaScriptErrorListener)). Fixes 3055542. | rbri |
| JavaScript: fixed internal error occurring in XMLDocument.loadXML with ill formed XML code. | mguillem |
| JavaScript: HTMLElement.prototype.innertHTML should be undefined (FF). | mguillem |
| Don't trim class attribute for FF3.6. | mguillem |
| JavaScript: don't reduce multiple white spaces when reading innerHTML (FF only). | mguillem |
| XMLSerializer should expand empty 'textarea'. | asashour |
| JavaScript: location.href returns the right value after clicking on a link that jumps only to a different hash. | rbri |
| Fixed reload handling if only the hash part of a url changed. Fixes 3056617. | rbri |
| HtmlSelect.setSelectedAttribute now returns the page in the WebClient's current window. Fixes 3034581. | mguillem |
| Parsing: <ins> is an inline element. Fixes 3033189. | mguillem |
| JavaScript: don't escape "+" in hash value (FF). Fixes 3063896. | mguillem |
| Cookies: consider quotes surrounding the value as part of the cookie value. Fixes 2973040. | mguillem |
| JavaScript: allow "//" in argument string of "new Function(...)". Fixes 3076362. | mguillem |
| JavaScript: add support for function HTMLSelectElement.item. | mguillem |
| JavaScript: don't throw an exception when setting incorrect value to HTMLSelectElement.selectedIndex for FF3.6. | mguillem |
| Fix IE conditional compilation bug (IE only). Fixes 3076667. | mguillem |
| JavaScript: add support for RegExp.$1..9, RegExp.lastMatch, RegExp.lastParen, RegExp.leftContext and RegExp.rightContext. | rbri |
| JavaScript: add support for function HTMLOptionsCollection.remove (IE only). Fixes 3074641. | mguillem |
| Escape only <, & and " in attribute values where it was not yet the case (for instance HtmlSubmitInput). Fixes 3074609. | mguillem |
| Ignore leading and trailing spaces in namespace values. Fixes 3035213. | mguillem |
| HtmlTextArea.asXml(): don't append indent spaces before closing tag. Fixes 3058241. | mguillem |
| Fix exception when asking CookieManager for cookies of "about:blank". Fixes 3053526. | mguillem |
| JavaScript: add empty implementations of CanvasRenderingContext2D.translate and scale (FF). Fixes 3030203. | mguillem |
| Consider <noscript>'s body as plain text for FF and discard it totally for IE. | mguillem |
| ObjectInstantiationException: updated to expose the underlying 'cause' exception. Fixes 3053473. | asashour |
| Deprecate BrowserVersion.FIREFOX_3. | asashour |
| JavaScript: add support for anchor.rel, and .rev, and link.rev. Fixes 3040475. | asashour |
| Remove deprecated BrowserVersion.FIREFOX_2, DomNode.getAllHtmlChildElements() and WebResponse.getRequestUrl(). | asashour |
| Type | Changes | By |
|---|---|---|
| HtmlOptionGroup: add utility method getEnclosingSelect(). Fixes 3037585. | asashour |
| HtmlRadioButtonInput: trigger onchange event handler on losing focus with IE. Fixes 3018444. Thanks to Ronald Brill. | asashour |
| Configure JavaScript executor thread as daemon thread. Fixes 2985827. | mguillem |
| JavaScript: initial support for HTMLAudioElement, HTMLSourceElement and HTMLVideoElement. | asashour |
| Fix Content-Type header value on posting a form with "multipart/form-data" encoding. Fixes 3029611. | asashour |
| JavaScript: document.cookie should not return cookies that have expired since they have been set. Fixes 3032380. | mguillem |
| JavaScript: ignore expired cookies set by document.cookie. Fixes 3030247. | mguillem |
| JavaScript: XSLTemplate and XMLDOMParseError are not instantiable. | mguillem |
| HTTP headers: 'Host' to be the first (FF only). Fixes 3026349. | asashour |
| JavaScript: XMLHttpRequest.setRequestHeader ignores prohibited headers. | mguillem |
| JavaScript: fix 'typeof window'. Fixes 3026194. | asashour |
| JavaScript: add dummy implementation of window.pageXOffset and .pageYOffset. Fixes 3025318. | asashour |
| Add support for Google App Engine. Fixes 2962074. Thanks to Amit Manjhi. | mguillem |
| HtmlCheckBoxInput: trigger onchange event handler on losing focus. Fixes 3018437. Thanks to Ronald Brill. | asashour |
| Google App Engine support: WebClient uses per default UrlFetchWebConnection when Google App Engine is detected. | mguillem |
| WebResponse.getLoadTime(): take body download time into account. Fixes 2903223. | mguillem |
| Remove MemoryInputStream and BinaryPage introduced since release 2.7. Download large binary content to a temporary file. | mguillem |
| FileUpload: send Content-Type headers for file parts. Fixes 3019557. | asashour |
| JavaScript: allow access to lost elements per name from HTMLFormElement.elements in invalid HTML code. Fixes 2995968. | mguillem |
| XMLHttpRequest: post method to send query string. Fixes 3022242. | asashour |
| JavaScript: set a maximum for infinite recursion. Fixes 3004262. | asashour |
| Deprecate WebResponse.getContentAsBytes(). | asashour |
| JavaScript: make form elements only accessible by their original name (IE) or by all the names they have had (FF). | mguillem |
| Deprecated IsDescendantOfContextualFormFunction. | mguillem |
| JavaScript: fire onchange for <input type='password' ...> when field loses focus and value has been changed. Fixes 3019226. Thanks to Ronald Brill. | mguillem |
| Fix NullPointerExceptin occurring when for JavaScript submitting form with hash multiple times. Fixes 3012067. | mguillem |
| HtmlTextArea.asXml(): escape XML characters. Fixes 3004425. Thanks to Amit Khanna. | mguillem |
| JavaScript: events fired by HTMLOptionElement should have 'srcElement' of the enclosing Select. | asashour |
| JavaScript: fix event.button of click events with IE. Fixes 3017828. | asashour |
| JavaScript HtmlUnit RegExp proxy: use empty string for existing replacement groups without value. Fixes 3005485. Thanks to Ronald Brill. | mguillem |
| HtmlPage.save: add support for (i)frames. | mguillem |
| HtmlPage.save should not modify the current DOM. | mguillem |
| JavaScript: window.execScript returns undefined and not null (IE only). Fixes 3013799. | mguillem |
| JavaScript: add support for function HTMLDocument.clear. | mguillem |
| JavaScript: add support for globalStorage, localStorage and sessionStorage. Fixes 3009368. | asashour |
| Page: add .getUrl(). | asashour |
| Add support for SOCKS proxy (at WebClient and WebRequest levels). Fixes 3006350. | asashour |
| Add UrlFetchWebConnection, an experimental WebConnection with limited functionalities but that doesn't require HttpClient. | mguillem |
| HtmlArea: set 'Referer' header on clicking. | asashour |
| Don't send charset information in Content-Type header for application/x-www-form-urlencoded POST requests. | mguillem |
| Fix MemoryInputStream.read() for negative values. Fixes 3007121. | asashour |
| Upgrade HttpClient to 4.0.1. Fixes 2950332. Thanks to Nicolas Belisle. | asashour |
| Deprecate BrowserVersion static constants. | asashour |
| StringWebResponse: take care of provided charset for parsing. Fixes 2998004. | mguillem |
| JavaScript: support string.trim(), .trimLeft() and .trimRight() (FF 3.6 only). Fixes 2973509. | asashour |
| Initial support for FF 3.6. | asashour |
| Implement DomComment.getCanonicalXPath(). Fixes 2996583. Thanks to Philip Graf. | mguillem |
| INCOMPATIBLE CHANGE: WebResponse is now a class not an interface. WebResponseImpl is deprecated. | asashour |
| Fix asText() of HtmlCheckBoxInput and HtmlRadioButtonInput. Fixes 2993991. | asashour |
| JavaScript: fix document.getElementsByTagName() for elements with prefix. Fixes 2986384. | asashour |
| HtmlImageInput: fix submitted parameters. | asashour |
| BinaryPage: change threshold to 300 bytes, and handle chunked content. Fixes 2986782. | asashour |
| Deprecate WebRequestSettings, WebResponse.getRequestSettings() and MockWebConnection.getLastWebRequestSettings(). | asashour |
| Correctly handle URLs with '%'. | asashour |
| JavaScript: add support for KeyboardEvent.which (FF only). Fixes 2979275. | asashour |
| JavaScript: add support for navigator.productSub (FF only). Fixes 2981752. | mguillem |
| JavaScript: fix ClassCastException in window.open(). Fixes 2982020. | asashour |
| DomElement.asXml(): escape only <, & and " in attribute values. | mguillem |
| HtmlPage: add .isQuirksMode(), .querySelector() and .querySelectorAll(). | asashour |
| Remove StringScriptPreProcessor. | asashour |
| JavaScript: add empty implementation of window.stop (FF only). Fixes 2971861. | asashour |
| JavaScript: fire (i)frames onload event even for non-HTML pages. | mguillem |
| JavaScript: use a single Java thread for executing background JavaScript tasks. Fixes 2952960. Thanks to Amit Manjhi. | mguillem |
| WebRequestSettings: add support for basic authentication inside the URL. Fixes 2958709. | asashour |
| DomNode.isDisplayed() (and by extension, DomNode.asText()) should ignore CSS styling when CSS has been disabled. Fixes 2964137. | sdanig |
| 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 |
| JavaScript: add support for HTMLTableCellElement.width and .height attributes. Fixes 2892289. | asashour |
| JavaScript HtmlUnit RegExp proxy: don't escape unicode escape sequence in regular expression. Fixes 2822048. Thanks to Chris Frost. | mguillem |
| Fix exception on HTTP response with code 302 without Location header. Fixes 2822048. | mguillem |
| JavaScript: implement stack property on exceptions. Fixes 2885136. | mguillem |
| HtmlTable.asText(): display first thead at the top, even if it appears after some tbody. Fixes 2884462. | mguillem |
| 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 |
| JavaScript: offsetHeight and offsetWidth should be 0 for elements with display:none, regardless of their contents. Fixes 2959014. | sdanig |
| When applying CSS rules to elements, take the media type into account. Fixes 2958675. | sdanig |
| JavaScript: fixed exception when calling setTimeout during window unload. Fixes 2956550. | mguillem |
| Add BinaryPage to support download of large files. | asashour |
| 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 |
| JavaScript: add support for element.removeAttributeNode() (FF only). Fixes 2954288. Thanks to Benoit Heinrich. | sdanig |
| Add implementation of DomText.getCanonicalXPath(). Fixes 2952882. Thanks to Philip Graf. | sdanig |
| JavaScript: img.onload functions not always called when img.src modified. Fixes 2954910. Thanks to Benoit Heinrich. | sdanig |
| JavaScript: Dynamically-added frame.onload and img.onload functions were sometimes being ignored. Fixes 2955073. Thanks to Benoit Heinrich. | sdanig |
| Clicking an element should make enclosing window the current one. Fixes 2815614. | mguillem |
| Fixed ClassCastException occurring while accessing XMLHttpRequest.responseXML when content uses XHTML namespace and contains an (i)frame. Fixes 2952333. | mguillem |
| JavaScript: added simple implementation of TextRange.setEndPoint (IE only). | mguillem |
| JavaScript: implement window.scroll(x, y), window.scrollBy(x, y), window.scrollTo(x, y), window.scrollByLines(lines) and window.scrollByPages(pages). Fixes 2897457. | sdanig |
| Parser: place text located between </TD> and </TR> before the enclosing TABLE. Fixes 2940936. | mguillem |
| JavaScript HtmlUnit RegExp proxy: handle two digits replacement references. Fixes 2949446. | mguillem |
| JavaScript: allow to set HTMLTableColElement's width to null. Fixes 2948498. | mguillem |
| INCOMPATIBLE CHANGE: add an extra parameter (int lineNumber) to ScriptPreProcessor.preProcess(). | asashour |
| JavaScript: add dummy support for window.external.AutoCompletionSave() (IE only). Fixes 2899323. Thanks to Peter Faller. | asashour |
| JavaScript: fix document.getElementsByName() to handle empty and null values. Fixes 2898484. Thanks to Tomasz Kalkosinski. | asashour |
| Deprecation: remove DomText.splitDomText(), HtmlPage.getFirstAnchorByText(), WebClient.setIgnoreOutsideContent(), WebResponse.getRequestUrl, .getRequestMethod() and .getContentCharSet(), HTMLParser.parse() and WebRequestSettings.addAdditionalHeader(). | asashour |
| Type | Changes | By |
|---|---|---|
| JavaScript: allow access to a frame through document.frameName (IE only). | mguillem |
| JavaScript: better implementation of element.scrollLeft and element.scrollTop properties. Fixes 2889077. | sdanig |
| JavaScript HtmlUnit RegExp proxy: handle $&, $' and $` in replacement string. Fixes 2935350. | mguillem |
| Removed public method HtmlForm.submit(SubmittableElement) without replacement (method was marked as internal API). | mguillem |
| JavaScript: StringScriptPreProcessor to use Rhino AST. Fixes 2924097. | asashour |
| 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 |
| JavaScript: fix dynamically loading of external script when loading a page as result of a click. Fixes 2884585. | mguillem |
| JavaScript: resolve relative URLs from opener's URL when document.write is used in a window opened with window.open. Fixes 2921851. | mguillem |
| DomNode.asText(): don't include children of <noscript> if JavaScript is enabled. | asashour |
| JavaScript: empty implementation of CanvasRenderingContext2D.drawImage() (FF). | asashour |
| 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 |
| JavaScript: execute script with event attribute only when value is "onload" (FF). | mguillem |
| DomNode.asText(): H1, H2, H3, H4, H5 and H6 are blocks. Fixes 2930676. | mguillem |
| JavaScript: ensure that elements returned by Selection.getRangeAt are of the right type (FF only). | mguillem |
| JavaScript: document body is selection's start element when designMode='on' is set and body has no child element (FF only). | mguillem |
| Throw exception with explicit message when maximum of allowed HTTP redirects is reached. | mguillem |
| JavaScript: fix parseFloat for values like "40em". Fixes 2903514. | mguillem |
| JavaScript: add support for Function.caller. Fixes 2914283. | mguillem |
| Update htmlunit-core-js to Rhino head of 07.01.2010 + custom patches. | mguillem |
| Redirect limit should apply regardless of whether or not the redirects are to the same URL. Fixes 2915453. | sdanig |
| JavaScript: fix value of element.offsetTop attribute when element's position is relative. Fixes 2912255. | sdanig |
| JavaScript: fix format of document.lastModified attribute. Fixes 2919853. Thanks to Richard Eggert. | sdanig |
| JavaScript: fix XMLHttpRequest with empty body of 'PUT' method. Fixes 2903679. | asashour |
| JavaScript: allow setting element.width and .height to a value that ends with 'px'. | asashour |
| JavaScript: fix computed element widths and heights when percentages are involved in the CSS. | sdanig |
| Deprecated BrowserVersion.FIREFOX_2. | mguillem |
| Add WebClientUtils.attachVisualDebugger(WebClient). | sdanig |
| JavaScript: add support for "onerror" event handlers on script nodes (FF only). Fixes 2815823. | sdanig |
| JavaScript: better value for document.body.clientHeight. Fixes 2897473. | sdanig |
| WebClient.closeAllWindows: improved JavaScript threads termination. | mguillem |
| Add WebWindow.isClosed(). | mguillem |
| JavaScript HtmlUnit RegExp proxy: escape dollar after escaped backslash. Fixes 2906293. | mguillem |
| JavaScript HtmlUnit RegExp proxy: un-escape illegally escaped characters. Fixes 2879412. | mguillem |
| Change TopLevelWindow and DialogWindow constructors' visibility to protected. | mguillem |
| Don't pick invisible frame window as the current window. Fixes 2907515. | mguillem |
| CSS: don't override rules with a higher specificity. | mguillem |
| JavaScript: window.getSelection() returns null for frame windows that are not displayed (FF only). | mguillem |
| MetaTag: fix NPE in encoding detection. Fixes 2906062. | asashour |
| Don't skip form submission to same URL when triggered from an anchor with href="#". | mguillem |
| JavaScript: added support for functions ScriptEngine, ScriptEngineMajorVersion, ScriptEngineMinorVersion, and ScriptEngineBuildVersion (IE only). Fixes 2905890. | mguillem |
| JavaScript: keyCode of lower case characters is the same than upper case ones. Fixes 2905890. | mguillem |
| JavaScript: add support for HTMLTextArea.setSelectionRange (FF only). Fixes 2894952. | mguillem |
| JavaScript: enforce same-origin policy for XMLHttpRequest. Fixes 2891430. | mguillem |
| Use style sheets too to compute DomNode.isDisplayed. | mguillem |
| HtmlNoFrames.asText() returns empty string. Fixes 2899045. | mguillem |
| JavaScript: XMLHttpRequest.responseXML is null when send() has not been called. | mguillem |
| JavaScript: XMLHttpRequest.responseXML is accessible when no content type header is present. | mguillem |
| JavaScript: log exceptions thrown in background threads. Fixes 2900487. | asashour |
| IEConditionalCompilationScriptPreProcessor should ignore string literals. Fixes 2881627. | asashour |
| HtmlNoFrames: preserve inner XML content. | asashour |
| JavaScript: add support for ProcessingInstruction during parsing. Fixes 2899485. | asashour |
| JavaScript: better calculation of element.offsetTop and element.offsetHeight properties. Fixes 2892939. | sdanig |
| Implement setter and getter for textContent on DomAttr. | mguillem |
| JavaScript: fix exception accessing selectionStart and selectionEnd on inputs of type password. | mguillem |
| JavaScript: better calculation of element.offsetLeft property. Fixes 2888451. | sdanig |
| JavaScript: document.write() should have an affect (by implicit postponed call to close()). Fixes 2892533. | asashour |
| Empty frames added via JavaScript shouldn't ever really become the "current window". Fixes 2890847. | sdanig |
| JavaScript: fix attribute.setNodeValue(). | asashour |
| JavaScript: fix NPE when element.setAttributeNode() is called for non-existing attribute. Fixes 2887288. | asashour |
| JavaScript HtmlUnit RegExp proxy: escape "$" in replacement string for String.replace. Fixes 2891013. | mguillem |
| JavaScript HtmlUnit RegExp proxy: replace "$$" by "$" in replacement string for String.replace. Fixes 2890953. | mguillem |
| DefaultCredentialsProvider: addCredentials should overwrite previous values. | mguillem |
| JavaScript: fix setting of element.innerText and .textContent with empty string or null. Fixes 2889583. | asashour |
| Meta refresh: handle space as separator between delay and url. Fixes 2888604. | mguillem |
| JavaScript: events focus and blur don't apply to all kind of HTML elements. Fixes 2888289. | mguillem |
| JavaScript: add support for onerror handler. Fixes 2888342. | mguillem |
| Fix issue where WebClient.waitForBackgroundJavaScriptStartingBefore hangs (setInterval with short interval). | mguillem |
| HtmlScript: "for" and "event" attributes for 'window' are ignored by FF. | asashour |
| JavaScript: MouseEvent.initMouseEvent and KeyboardEvent.initKeyEvent initialize metaKey Fixes 2888366. | mguillem |
| Fixed StringIndexOutOfBoundsException occurring when typing in a cloned text input or textarea node. | mguillem |
| JavaScript: pre-process \xDD in string literals before IE conditional compilation. Fixes 2881627. | asashour |
| JavaScript: allow MouseEvent to have independent client coordinate values, if necessary. | sdanig |
| Fix the DomNodeList returned by DomNode.getChildNodes() so that it behaves correctly when children are removed from the DOM. | sdanig |
| Deprecate DomNode.getAllHtmlChildElements(); replaced by the more intuitively named DomNode.getHtmlElementDescendants(). | sdanig |
| JavaScript: implement range.extractContents() (Firefox only). | sdanig |
| JavaScript: properly handle body elements with qualified name. Fixes 2881794. | asashour |
| Fix Node.setTextContent() to set the text for comment, cdata, text and processing instruction nodes, rather than appending a new text node. | sdanig |
| JavaScript: mouse event 'ondblclick' should not trigger 'onclick' handler. | asashour |
| CSS: add support for rule priority. Fixes 2880057. | mguillem |
| JavaScript: properly escape XML entities in .xml property (IE) and XMLSerializer (FF). | sdanig |
| JavaScript: add support for HTMLDocument.lastModified. Fixes 2875273. | mguillem |
| JavaScript: support the serialization of comments in .xml property (IE) and XMLSerializer (FF). | sdanig |
| JavaScript: implement element.getAttributeNodeNS() (Firefox only). | sdanig |
| JavaScript: XMLHttpRequest.open throws an exception when the provided url is null or an empty string. | mguillem |
| Fix caching of page's document element even after the document element has been removed from the page. | sdanig |
| JavaScript: add support for XMLHttpRequest.onload (Firefox only). | sdanig |
| JavaScript: document.activeElement is the document body by default (IE only). | sdanig |
| JavaScript: add support for selection.addRange(), selection.removeAllRanges() and selection.removeRange() (FF only). | sdanig |
| JavaScript: add support for TextRange.htmlText and TextRange.moveToElementText (IE only). Fixes 2874300. | sdanig |
| JavaScript: handle namespaces when serializing XML. Fixes 2856764. | asashour |
| JavaScript: window.location should start with 'file:///' instead of just 'file:/' when dealing with a local file. | sdanig |
| JavaScript: HTMLTableCellElement.cellIndex, HTMLTableRowElement.rowIndex and sectionRowIndex (FF only) return -1 when the element is not added to the document. | mguillem |
| Don't allow JavaScript catch statements to catch HtmlUnit internal errors. | mguillem |
| JavaScript: fix how document.write() detects complete string. Fixes 2855731. | asashour |
| The default value of range.startContainer and range.endContainer is the document itself (Firefox only). Fixes 2873035. | sdanig |
| JavaScript: primitive support for xmlDocument.createNode() (IE only). Fixes 2856764. | asashour |
| JavaScript: implement attributes.setNamedItem(). | asashour |
| Avoid errors triggered by images with onload attributes and invalid src URLs. | sdanig |
| HtmlPage.getPageEncoding() was sometimes returning a different encoding than the encoding actually used to parse the page. Fixes 2860732. | sdanig |
| Implement DomAttr.getSpecified() and SgmlPage.createAttribute(). | asashour |
| JavaScript: HTMLElement.offsetWidth and offsetHeight are 0 when the element is hidden. | mguillem |
| DomNode.asText() considers UL content that is not within a LI too. Fixes 2868052. | mguillem |
| Fix HtmlHtml.getCanonicalXPath() when document contains a doctype declaration. Fixes 2865948. | mguillem |
| Form submission: don't send a Content-Type header when method is GET. | mguillem |
| FormEncodingType.getInstance returns URL_ENCODED if the requested encoding type doesn't exist. Fixes 2860721. | mguillem |
| 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 |
| Loading about:blank in an existing window resets the JavaScript scope for the window. | mguillem |
| JavaScript: window.opener is always writable for IE and only in special cases for FF. | mguillem |
| When a textarea receives focus its content is not selected and call to type(...) causes content to be appended. | mguillem |
| Click on a non form element removes focus from current element and triggers handlers if needed. | mguillem |
| JavaScript: respect headers set by XMLHttpRequest.setRequestHeader(). Fixes 2862553. | asashour |
| 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 |
| List returned by HtmlPage.getElementsByIdAndOrName is now mutable. | mguillem |
| JavaScript: delete operator should not walk property chain. Fixes 2834335. | mguillem |
| Upgrade HtmlUnit-core-js to 2.7-SNAPSHOT (corresponds to head of Rhino trunk from Sep 21, 2009 + minimal adaptations). | mguillem |
| 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 |
| JavaScript: properly handle element.textContent with null value (FF only). Fixes 2861623. | asashour |
| JavaScript: set the checked property of input of type 'radio' to defaultChecked when it is attached (IE only). | asashour |
| JavaScript: HTMLImageElement's height and width are numbers, not strings. Fixes 2861064. | mguillem |
| HTMLElement.offsetWidth tries to compute width depending on the content when CSS attribute float is set to "right" or "left". | mguillem |
| CSS: add support for CSS3 pseudo classes :root, :enabled, :checked. | mguillem |
| JavaScript: HTMLStyleElement.sheet parses all child nodes and not only the first one. | mguillem |
| JavaScript: fix style 'pixel' attributes. Fixes 2855470. | asashour |
| JavaScript: HTMLTableElement's properties caption, tHead and tFoot are writable (FF only) with right parameters, otherwise an exception is thrown. | mguillem |
| JavaScript: add support for HTMLTableRowElement.sectionRowIndex. | mguillem |
| JavaScript: add support for DOMException constants (FF only). | mguillem |
| JavaScript: HtmlDocument.createTreeWalker accepts function as filter (FF only). | mguillem |
| Fix memory leak when many different BrowserVersion instances used. Fixes 2854240. | sdanig |
| JavaScript: HtmlButtonElement.type falls back to default value ("submit" for FF, "button" for IE) when attribute "type" is removed. | mguillem |
| Add IE8 support. | asashour |
| JavaScript: appendChild, insertBefore and replaceChild throw exception (FF) or silently fail (IE) when parameter is the HTML node. | mguillem |
| HtmlAnchor: fix characters escaping if 'href' is a javascript. | asashour |
| Correctly clean up "/./" and "/../" sequences from URLs. Fixes 2854634. Thanks to Rodney Gitzel. | mguillem |
| JavaScript: fix button.type attribute. | asashour |
| JavaScript: perform delayed form submission with fields and target values at the moment where HtmlFormElement.submit is called. | mguillem |
| JavaScript: add primitive support for MutationEvent. | asashour |
| JavaScript: use KeyboardEvent in htmlElement.type() and add support for .charCode. | asashour |
| JavaScript: normal submit button action has priority over HtmlFormElement.submit() called in onclick handler. | mguillem |
| JavaScript: when link's onclick changes location the next page is still the one mentioned in href. | mguillem |
| JavaScript: avoid multiple form submissions when HtmlFormElement.submit() is called multiple times. | mguillem |
| BrowserVersion: remove deprecated methods related to JavaScript version. | asashour |
| Update JavaDoc of HtmlElement.click methods to reflect what already happens: click returns the page in the WebClient's current window. | mguillem |
| Remove deprecated ClickableElement and StyledElement. | asashour |
| Type | Changes | By |
|---|---|---|
| JavaScript: add basic support for element.scopeName and .tagUrn (IE only). Fixes 2848802. | asashour |
| JavaScript: HtmlFormElement.action returns the fully qualified URL (FF only). | mguillem |
| JavaScript: setting HtmlTextAreaElement's defaultValue changes the current value if it is still the initial one (FF only). | mguillem |
| JavaScript: add primitive support for KeyboardEvent. | asashour |
| Allow "javascript:..." URLs with encoded script code. Fixes 2847838. | sdanig |
| Use the browser language (from the BrowserVersion being used) to set the value of the "Accept-Language" HTTP header. Fixes 2812769. | sdanig |
| Don't treat 304 responses as if they were redirections. Fixes 2821888. | sdanig |
| JavaScript: node.insertBefore() handles undefined variable. Fixes 2846557. | asashour |
| Cache: use cache for all kinds of (cacheable) content. | mguillem |
| CSS: resolve relative URLs in @import rule from URL of current style sheet. | mguillem |
| JavaScript: HTMLSelectElement throw exception when invalid value is set to selectedIndex (FF only). | mguillem |
| DebuggingWebConnection: display received headers in generated report, added addMark method. | mguillem |
| CookieManager: handle cookies with null value. | asashour |
| JavaScript: handle empty code. | asashour |
| Upgrade commons-codec to 1.4 | asashour |
| JavaScript: document.getElementById() and document.getElementsByNames() trigger implicit document.close() calls (IE only). | sdanig |
| JavaScript: window.frames returns a reference to the window itself. Fixes 2824436. | sdanig |
| Force NekoHtml and Xalan to use xercesImpl 2.9.1 dependency. Fixes 2837819. | asashour |
| Add selection-related methods to HtmlPasswordInput. Fixes 2832735. | sdanig |
| JavaScript: fixed NPE calling inRange with selection range when nothing is selected (IE only). Fixes 2836591. | mguillem |
| Add TITLE to HEAD even if it is found in BODY. Fixes 2824134. | mguillem |
| Submit image button name too (FF only). | mguillem |
| Include caption in HtmlTable's asText() representation. Fixes 2833588. | mguillem |
| Fix DomNode.compareDocumentPosition() (FF only). | asashour |
| JavaScript: add support for the compact attribute on ul, ol, menu, dl and dir elements. | sdanig |
| JavaScript: implement node.normalize(). | asashour |
| JavaScript: support the serialization of CDATASection in .xml property (IE) and XMLSerializer (FF). | asashour |
| HtmlScript: fix the order of "type" and "language" attributes evaluation. | asashour |
| DomText: deprecate splitDomText(), use splitText() instead. | asashour |
| JavaScript: fix .prefix attribute of xml nodes. | asashour |
| JavaScript: fix text.splitText(). | asashour |
| JavaScript: implement xmlDocument.getElementsByTagName(), .getElementsByTagNameNS() and .nodeFromID(). | asashour |
| Fix many issues with WebClient serialization and deserialization. Thanks to Nick Kralevich. | sdanig |
| Load stylesheets referenced via @import. | sdanig |
| JavaScript: fix XMLSerializer for non-element nodes (FF only). | asashour |
| JavaScript: move .xml attribute from xmlElement to xmlNode (IE only). | asashour |
| INCOMPATIBLE CHANGE: rename DomCData to DomCDataSection. | asashour |
| JavaScript: node.appendChild() can be called inside xmlDocument. | asashour |
| XmlDocument: implement .createProcessingInstruction() and .createCDATASection(). | asashour |
| JavaScript: add support for map.areas attribute. | asashour |
| JavaScript: process scripts with 'application/javascript' type (FF only). | asashour |
| JavaScript: return collection if elements with duplicate IDs are found (IE only). | asashour |
| Properly handle unicode characters in requested URLs. Fixes 2818493. | asashour |
| Deprecate WebClient.setIgnoreOutsideContent and HTMLParser.setIgnoreOutsideContent. | mguillem |
| Set 'referer' header on loading pictures and CSS files. Fixes 2817634. | mguillem |
| JavaScript: add basic support for CSSValue, CSSPrimitiveValue, and CSSStyleDeclaration.getPropertyCSSValue (FF only). Fixes 2820873. | mguillem |
| JavaScript: set currentTarget on event when event handler is called after global event listener. Fixes 2820873. | mguillem |
| Cleanup "/./" and "/../" in URLs before to perform a request. Fixes 2819046. | mguillem |
| 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 |
| 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 |
| CSS: invalidate style of child elements when node attribute is changed. | mguillem |
| JavaScript: read only properties can't be written (FF3 only). | mguillem |
| JavaScript: parseFloat trim leading new line signs. Fixes 2815674. | mguillem |
| Incorrect HTML: move DIV within TABLE before the TABLE. Fixes 2766583. | mguillem |
| HtmlPage.asXml(): don't escape XML special characters when style node contains an XML comment. Fixes 2802096. | mguillem |
| Correctly fire load events attached to script nodes via addEventListener (FF only). Fixes 2815823. | sdanig |
| JavaScript: document.namespaces can be used as a function (IE only). Fixes 2815905. | sdanig |
| Fix NullPointerException thrown for script tags referencing a resource that returns a 204 (No Content) response. Fixes 2815903. | sdanig |
| JavaScript: add support for the window.onbeforeunload attribute. Fixes 2808901. | sdanig |
| JavaScript: add support for textarea.rows and textarea.cols attributes. | sdanig |
| Some CSS properties are inherited from parent elements (computed styles only). | sdanig |
| JavaScript: form submission should consider event.preventDefault() (FF only). Fixes 2811607. | asashour |
| JavaScript: make dummy implementation of HtmlDocument.elementFromPoint available for FF as well. | mguillem |
| JavaScript: add support for the colSpan, rowSpan, noWrap, axis and abbr attributes on td and th elements. | sdanig |
| JavaScript: add support for the bgColor attribute on table, tr, td and th elements. | sdanig |
| Add support for Proxy Auto-Config. Fixes 2799316. | asashour |
| JavaScript: call onbeforeunload handler when TopLevelWindow.close() is called. Fixes 2808520. | sdanig |
| JavaScript: reserve the duplicate ID attribute behavior on changing other attributes. | asashour |
| JavaScript: add support for attributes align, vAlign, ch and chOff for thead, tbody, tfoot, tr, td, and th elements. | sdanig |
| CSS: properly handle 'lang' condition. Fixes 2807135. | asashour |
| Handle HTML pages with empty 'Content-Type' HTTP header. | asashour |
| Handle 204 (No Content) HTTP responses correctly. Fixes 2803378. | sdanig |
| JavaScript: implement TextRange.inRange (IE only). | mguillem |
| Check meta tags inside HTML pages for encoding information. Fixes 2804850. | sdanig |
| JavaScript: add support for br.clear attribute. | sdanig |
| JavaScript: add support for option.form, legend.form, object.form and label.form attributes. | sdanig |
| Add better support for XHTML pages (new XHtmlPage class extends HtmlPage class). Fixes 2515806. | sdanig |
| JavaScript: add support for fieldSet.form and fieldSet.align attributes. | sdanig |
| JavaScript: add support for body.aLink, body.background, body.bgColor, body.link, body.text and body.vLink attributes. | sdanig |
| JavaScript: add support for attr.isId attribute (Firefox 3 only). | sdanig |
| Update page URL when navigating to a local anchor. Fixes 2794667. | sdanig |
| JavaScript: implement placeholder functions history.back(), history.forward() and history.go(). Fixes 1337174. | sdanig |
| JavaScript: fix setting select.value. | asashour |
| Extending NodeList to implement List<E extends DomNode>. Fixes 2129288. | asashour |
| JavaScript: fix document.referrer. Fixes 2800211. | asashour |
| JavaScript: fix document.createAttribute(). | asashour |
| HtmlObject: "classid" is supported (using Jacob). Fixes 2799550. | asashour |
| HtmlSelect: add .getOptionByText(). Fixes 2674431. | asashour |
| HtmlPage and HtmlImage: add .save(). Fixes 2486331. | asashour |
| Change default value for "Accept-Language" HTTP header to "en-us". | asashour |
| HtmlForm: properly handle 'action' which starts with a question mark. Fixes 2794061. | asashour |
| Deprecate WebRequestSettings.addAdditionalHeader() and HtmlPage.getFirstAnchorByText(). | asashour |
| Handle XmlPage with NO_CONTENT HTTP status. Fixes 2792033. | asashour |
| JavaScript: option.selected does not necessarily mean there is 'selected' attribute. | asashour |
| JavaScript: correct attribute .firstChild and .lastChild (FF only). | asashour |
| IE Conditional comments: handle comments with invalid expressions as plain text. Fixes 2789325. | mguillem |
| JavaScript: handle multiple conditional compilation comments (IE only). Fixes 2784679. | mguillem |
| JavaScript: document.getElementById() should be case insensitive (IE only). | asashour |
| JavaScript: body element of a frame has to be null while loading only as long as nothing has been loaded (IE only). | mguillem |
| JavaScript: initially implement properties of HTMLMetaElement. | asashour |
| JavaScript: add support for iframe.width and iframe.height properties. | sdanig |
| JavaScript: add element.document (IE only). | asashour |
| WebRequestSettings: add .removeAdditionalHeader() and make headers case-insensitive. | asashour |
| JavaScript: implement xmlDocument.createElementNS() (FF only). | asashour |
| JavaScript: 'class' attribute should be trimmed (FF only). | asashour |
| JavaScript: fix properties defined in super objects (IE only), and fix .getAttribute() and .getAttributeNode(). | asashour |
| Parser: don't recognize &prod as incomplete entity. Fixes 2783489. | mguillem |
| JavaScript: fix incorrect escaping of backslash in replacement for String.replace(String, String). Fixes 2783950. | mguillem |
| JavaScript: primitive implementation of canvas (FF only). Fixes 2786813. | asashour |
| JavaScript: better implementation for "node's attributes collection is never empty for IE". | asashour |
| JavaScript: option.value should not be affected by the text content (IE only). | asashour |
| JavaScript: add support for caption.align (IE and FF) and caption.vAlign (IE only). | sdanig |
| Add WebClient.getTopLevelWindows(). | sdanig |
| Ignore content-type meta tag if HTTP header is specified. | asashour |
| WebResponse: Deprecate .getContentCharSet(), .getRequestMethod(), and .getRequestUrl(). Add .getContentCharset() and .getContentCharsetOrNull(). | asashour |
| JavaScript: add support for selection.empty() and selection.type (IE only). | sdanig |
| JavaScript: setInterval() invocations with a 0 millisecond delay behave like setTimeout() invocations in IE. | sdanig |
| JavaScript: add support for the col.align, col.vAlign, col.span, col.width, col.chOff and col.ch attributes. | sdanig |
| JavaScript: add support for input.accessKey, label.accessKey, anchor.accessKey, button.accessKey, legend.accessKey, textarea.accessKey and area.accessKey (Firefox only). | sdanig |
| 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 |
| Type | Changes | By |
|---|---|---|
| Upgrade HtmlUnit-core-js to 2.5. | asashour |
| Upgrade NekoHtml to 1.9.12. | asashour |
| JavaScript: fix ClassCastException setting or reading property readOnly of HtmlTextAreaElement. Fixes 2768942. | mguillem |
| JavaScript: added support for HTMLTableRowElement.deleteCell. Fixes 2767841. | mguillem |
| 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 HtmlPage.getElementByName(String) method. | sdanig |
| Remove leading "../" (if any) when resolving URLs. Fixes 2192395. | mguillem |
| JavaScript: don't try to instantiate applets accessed by JavaScript when applet support is disabled. | mguillem |
| HtmlOption: handle markup in nested content when it has to be used as default value. | mguillem |
| HtmlOption.asText(): no need to consider label attribute. | mguillem |
| HtmlOption: label attribute should not be considered in asText(). | mguillem |
| JavaScript: dynamically created iframe should load external scripts. Fixes 2722972. | asashour |
| HtmlPage: getFullyQualifiedUrl() should be relative to page of the top window. Fixes 2723086. | asashour |
| (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 DomNode.isDisplayed() to the public API. | sdanig |
| 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 |
| JavaScript: add support for reading and writing the base.href and base.target properties. | sdanig |
| JavaScript: window.event should be available during execution of script.onreadystatechange handler (IE only). Fixes 2706760. | sdanig |
| JavaScript: element.getElementsByTagNameNS() can accept null 'namespaceURI'. Fixes 2704664. | asashour |
| Correctly initialize style attribute of images created via JavaScript. Fixes 2697650. | sdanig |
| JavaScript: add support for 'oninput' events on text inputs (Firefox only). Fixes 2672376. | sdanig |
| JavaScript: window.open() can accept numeric name. Fixes 2688241. | asashour |
| JavaScript: in an XMLHttpRequest handler, 'this' is the handler when simulating FF2 and the XHR otherwise. | mguillem |
| ToplevelWindow.close() deregisters sub-frames. | mguillem |
| JavaScript: add support for window.length. | mguillem |
| HtmlForm: submit to the same page if 'action' attribute is not defined. Fixes 2665820. | asashour |
| Apply ScriptPreProcessor to window.eval(). Fixes 2630555. | mguillem |
| HtmlPage.asXml(): expand empty UL and OL nodes to make generated XML readable as HTML on browsers. | mguillem |
| 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 |
| JavaScript: add support for selection.getRangeAt() (Firefox only). | sdanig |
| JavaScript: add support for CSSImportRule. Fixes 2658249. | sdanig |
| Make password inputs listen to event.preventDefault(). Fixes 1813007. | sdanig |
| JavaScript: calling event.stopPropagation() shouldn't preclude using multiple event listeners of the same type on a single node. Fixes 2643655. | sdanig |
| JavaScript: add support for event.cancelBubble in Firefox emulation mode (already present in IE emulation mode). Fixes 2643655. | sdanig |
| JavaScript: setting event.returnValue=false should abort the event (IE only). Fixes 2643655. | sdanig |
| JavaScript: add support form.item() (IE only). | asashour |
| 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 content type sniffing for local XHTML files. Fixes 2515756. | sdanig |
| Fix case-sensitivity of XPath expressions for XHTML documents that are served as 'text/xml'. Fixes 2515873. | sdanig |
| JavaScript: add support for the window.onerror attribute. | sdanig |
| JavaScript: document functions should be usable without a reference to the document (IE only). Fixes 2602044. | sdanig |
| JavaScript: add support for element.clearAttributes() and element.mergeAttributes() (IE only). | sdanig |
| JavaScript: handle invalid back references in string.replace(...) as if they were escaped. Fixes 2638813. | sdanig |
| JavaScript: remove objects created by Rhino in window scope like 'com' that aren't available in browsers. Fixes 2636581. | mguillem |
| JavaScript: process false return value of handlers added by .attachEvent() or .addEventListener(). Fixes 2624738. | asashour |
| JavaScript: make prototype available on DOM nodes as __proto__ (FF only). | mguillem |
| JavaScript: hide standard Object and Array functions that don't exist on IE. | mguillem |
| JavaScript: Expand support for document.namespaces collection. | sdanig |
| JavaScript: XMLSerializer should properly handle Document. | asashour |
| JavaScript: Date.getYear() returns four digits for years before 1900 and after 1999 when simulating IE. Fixes 2615817. | mguillem |
| JavaScript: single submission of form if onclick handler of HTMLSubmitInput also submits the form. Fixes 2603370. | asashour |
| Add default value for "Accept" and "Accept-Language" HTTP headers. Fixes 2602044. | asashour |
| JavaScript: add support for HTMLElement.removeNode(). Fixes 2602044. | asashour |
| JavaScript: move removeAttribute() from HTMLElement to Element. | asashour |
| JavaScript: element.doScroll() should throw an exception if page is not yet loaded. | asashour |
| JavaScript: fix the return value of node.insertBefore(). Fixes 2526045. | asashour |
| JavaScript: fix behavior when document.cookie is set to an empty string or a string without an '=' character. Fixes 2511851. | sdanig |
| JavaScript: fix element.parentElement if the parent is DocumentFragment. Fixes 2501217. | asashour |
| JavaScript: anchor's href attribute is empty string when no href was specified. | mguillem |
| JavaScript: custom RegExp proxy now ignores back references in character class as browsers do. | mguillem |
| Correct JavaScript parent scope after using WebClient.setCurrentWindow. | bradclarke |
| JavaScript: add support for Enumerator (IE only). Fixes 2509952. | asashour |
| JavaScript: custom RegExp proxy now accepts unescaped opening square brackets in character class. | mguillem |
| JavaScript: add support for HTMLDocument.dispatchEvent (FF only). | mguillem |
| JavaScript: properties of XMLHttpRequest ActiveX object are case insensitive. Fixes 2520971. | asashour |
| Allow numbers with decimal points in refresh meta tags. | sdanig |
| JavaScript: XMLHttpRequest is supported in IE7. | asashour |
| Fail gracefully when script tags contain empty 'src' attributes. | sdanig |
| Make the cookie manager thread-safe. | sdanig |
| JavaScript: setting anchor.hash should accept values both with and without the '#' character. | sdanig |
| JavaScript: values returned by anchor.hash should include the '#' character. | sdanig |
| JavaScript: add support for HTMLElement.dir, .lang, .tabIndex and .spellcheck. | asashour |
| JavaScript: add support for window.atob() and btoa(). | asashour |
| JavaScript: compute URL relatively to owning page for showModelessDialog and showModalDialog. Fixes 2528830. | mguillem |
| IE Conditional comments: accept expressions that contain identifier other than IE (like mso). Fixes 2503965. | mguillem |
| If content-type meta tags contain empty encoding information, ignore it and use the default encoding. Fixes 2484753. | sdanig |
| Ignore namespaces if the tag name does not have a prefix. Fixes 2502817. | asashour |
| DomElement.getElementsByTagName() should search in only sub-elements. Fixes 2501193. | asashour |
| JavaScript: add support for document.createComment(). | asashour |
| Deprecate ClickableElement and StyledElement, directly use HtmlElement instead. | asashour |
| JavaScript: add initial support for TextRange.moveStart() and .moveEnd(). Fixes 2495285. | asashour |
| JavaScript: add support for document.getElementsByClassName and HTMLElement.getElementsByClassName (FF3 only). | mguillem |
| JavaScript: document.execCommand doesn't throw an exception when called with unknown command (FF3 only). | mguillem |
| JavaScript: document.scripts doesn't exist for FF. | mguillem |
| JavaScript: when simulating Firefox, document.write(ln) returns the function, no matter if elements with this name are present or not. | mguillem |
| JavaScript: document.createEvent doesn't initialize the target property under FF3. | mguillem |
| JavaScript: document.all('notExisting') returns undefined for FF. | mguillem |
| JavaScript: tags property exists on collections for FF2 but not for FF3. | mguillem |
| JavaScript: prototype should not be enumerated (FF). | mguillem |
| JavaScript: IE does not enumerate objects methods. | asashour |
| BrowserVersion: deprecate setJavaScriptVersion(), getJavaScriptVersion() and getJavaScriptVersionNumeric(). | asashour |
| Replace ThreadManager with JavaScriptJobManager, which internally uses the executor services provided by JDK 5. | sdanig |
| 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 |
| Deprecation: remove XmlAttr, SubmitMethod, WebRequestSettings.setURL(), and WebClient methods: setCookiesEnabled(), setProxyHost(), setProxyPort(), addHostsToProxyBypass(), and removeHostsFromProxyBypass(). | asashour |
| Type | Changes | By |
|---|---|---|
| Upgrade HtmlUnit-core-js to 2.4 (corresponds to head of Rhino branch 1.7R2 from Dec 12, 2008). | mguillem |
| Upgrade NekoHtml to 1.9.11. | asashour |
| Add support for HtmlEmbed, HtmlCanvas and HtmlWordBreak. | asashour |
| JavaScript: correct the return value of EventNode.fireEvent(). Fixes 2421302. | asashour |
| JavaScript: add dummy implementation for TextRange methods collapse and select (IE). | mguillem |
| JavaScript: replace \n with \r\n for property defaultValue of HtmlTextAreaElement (IE) and ignore leading new line sign. Fixes 2438622. | mguillem |
| JavaScript: frame window object retrieved through should be live and reflect page loads in the window. Fixes 2314485. | mguillem |
| JavaScript: do not throw exception on invalid regular expressions. | mguillem |
| Support for IE conditional comments in HTML code. | mguillem |
| JavaScript: removeAttribute should delete node property too (IE only), getAttribute returns property if no attribute is found (IE only). | mguillem |
| JavaScript: fixed exception occurring while accessing src property of freshly created Image object. Fixes 2214332. | mguillem |
| HtmlPage.asXml(): expand empty table nodes to make generated XML readable as HTML on browsers. Fixes 2393355. | mguillem |
| HtmlTextArea.type(...) should not trigger onchange handler. | mguillem |
| Delay execution of image onload handlers after the page finish to load. Fixes 2382872. | mguillem |
| First experiments to support applets. | mguillem |
| 100% success with MochiKit unit tests. | mguillem |
| JavaScript: HTMLElement.filters is not undefined (IE only). | mguillem |
| JavaScript: offsetParent is undefined for detached nodes. | mguillem |
| JavaScript: HTMLHtmlElement's clientWidth and clientHeight gives the available screen size. | mguillem |
| CSS: font-size is inherited. | mguillem |
| CSS: parse shorthand background to find background color. | mguillem |
| CSS: parse individual border width from borderWidth. | mguillem |
| JavaScript: add dummy implementation for HTMLElement's clientLeft and clientTop. | mguillem |
| Deprecate HtmlPage.getHtmlElementByAccessKey(), HtmlPage.getHtmlElementsByAccessKey(), HtmlPage.getHtmlElementsByName(), HtmlPage.getHtmlElementsByIdAndOrName(), HtmlElement.getHtmlElementsByAttribute() and HtmlElement.getHtmlElementById(). | asashour |
| Deprecate DomElement methods getAttributeValue, setAttributeValue. Usage of DOM 2 methods getAttribute, getAttributeNS, setAttribute and setAttributeNS is preferred. | mguillem |
| Deprecate XmlPage.getDocumentXmlElement(), HtmlPage.createHtmlElement() and createHtmlElementNS(). | asashour |
| Document and Element.getElementsByTagName() should not be affected by namespaces. | asashour |
| JavaScript: node's attributes collection is never empty for IE. | mguillem |
| JavaScript: add support for Comment object. Fixes 2318054. Thanks to Mirko Friedenhagen. | asashour |
| JavaScript: prototype for event handlers should be the function prototype. Fixes 2318508. | sdanig |
| JavaScript: add support for document.captureEvents (FF). Fixes 2024729. | sdanig |
| JavaScript: fix option.text. Fixes 2316809. | asashour |
| JavaScript: add support for window.showModalDialog() and window.showModelessDialog(). Fixes 2124916. | sdanig |
| JavaScript: support Text object. Fixes 2315783. | asashour |
| HtmlInput: typing enter should behave as clicking submit input. | asashour |
| JavaScript: added support for document.applets. | mguillem |
| JavaScript: add support for getting and setting the image.onload attribute. Fixes 1693272. | sdanig |
| If an image has an onload handler, download the image and then invoke the onload handler. Fixes 1693272. | sdanig |
| JavaScript: add support for elements.nextNode() and elements.reset() for the element collection returned by XmlDocument.selectNodes(...) (IE only). Fixes 1829981. | sdanig |
| JavaScript: fix setting input.type if it is the first child. | asashour |
| When querying elements for namespaced attributes, don't fall back to returning non-namespaced attributes. Fixes 2024619. | sdanig |
| JavaScript: add support for element.removeAttributeNS() (FF only). Fixes 2024619. | sdanig |
| JavaScript: dummy support for XUL element in HtmlDocument.createElementNS (FF only). | mguillem |
| JavaScript: window.controllers is not null (FF only). | mguillem |
| JavaScript: IE ignores empty text children. | asashour |
| JavaScript: add support for document.queryCommandEnabled(). | sdanig |
| JavaScript: add partial support for window.getSelection() (FF only). | sdanig |
| JavaScript: element.style.opacity only accepts numeric values when emulating FF. | sdanig |
| JavaScript: fix element.style.display default values when emulating IE. | sdanig |
| JavaScript: element.style length-related attributes should be converted to pixels (FF only). | sdanig |
| JavaScript: postpone the execution of setting 'location.href'. Fixes 2229862. | asashour |
| JavaScript: select.appendChild(option), .add(), and insertBefore() should update .selectedIndex. | asashour |
| Silently ignore HTTP Status code "USE_PROXY" (305), and treat it as success. Fixes 2214332. | asashour |
| XPath: proper handling of upper cased HTML elements. | asashour |
| Implemented DomNode#compareDocumentPosition and add Node.compareDocumentPosition (FF only). | mguillem |
| JavaScript: add support for element.contains() (IE only). | asashour |
| JavaScript: element.innerHTML should quote anchor href attributes and empty attributes when emulating IE. Fixes 2262599. | sdanig |
| JavaScript: In certain cases, node collections were returning elements when inexistent attributes were accessed. | sdanig |
| 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 |
| JavaScript: make sure element.offsetWidth is constrained by the element's parent's dimensions. | sdanig |
| CSS rules specified in stylesheets should not override CSS rules specified directly in an element's "style" attribute. | sdanig |
| JavaScript: implement element.style.pixelLeft, pixelRight, pixelTop and pixelBottom (IE only). | sdanig |
| JavaScript: fire onchange for <input type='file' ...> when field loses focus and value has been changed. | mguillem |
| JavaScript: fire focus event not only on <input ...>. Fixes 2136816. | mguillem |
| Add support for HTMLDocument.createTreeWalker (FF only). Fixes 2060645. Thanks to Mike Dirolf. | mguillem |
| Add support for 'deflate' Content-Encoding. Fixes 2192292. | asashour |
| HtmlPage.asXml(): expand empty style nodes to make generated XML readable as HTML on Firefox 3. | mguillem |
| HtmlTextInput: type() should remove selected text(). Fixes 2187741. | asashour |
| JavaScript: add support for document.uniqueID (IE only). Fixes 2187687. | asashour |
| Made static WebClient methods getJavaScriptTimeout() and setJavaScriptTimeout() non-static, so that they can be configured on a per-WebClient basis. Fixes 2089599. | sdanig |
| JavaScript: add support for document.compatMode. | asashour |
| HtmlInput: add isReadOnly() and setReadOnly(). | asashour |
| JavaScript: node.appendBefore() should run added script element. | asashour |
| Set 'referer' header and other additional headers on loading external JavaScript files. Fixes 2178172. Thanks to Marco Cova. | asashour |
| JavaScript: window.frames should return the ones with id attribute (IE only). Fixes 2174320. | asashour |
| Add support for DocumentType. | asashour |
| Better formatting for asText() particularly with new lines for TR, BR or LI and tabs between cells. Fixes 1509340. | mguillem |
| HtmlElement: correctly handle getNodeName(). Fixes 2043322. | asashour |
| JavaScript: correctly handle element.nodeName, .tagName, .prefix, .localName, and .namespaceURI. | asashour |
| JavaScript: add support for document.namespaces (IE only). | asashour |
| JavaScript: Firefox doesn't support select.options.childNodes. | asashour |
| XmlElement: is deprecated, use DomElement instead. | asashour |
| HtmlElement: deprecate getAttributesCollection() and isAttributeDefined(). | asashour |
| BrowserVersion: deprecate INTERNET_EXPLORER_6_0 and INTERNET_EXPLORER_7_0. Fixes 2129180. | asashour |
| JavaScript: document.cookie should overwrite existing cookie. Fixes 2136953. Thanks to David Bylsma. | asashour |
| Upgrade Xalan to 2.7.1 Fixes 2129180. | asashour |
| FrameWindow: should be Serializable. | asashour |
| JavaScript: postpone the execution of dynamically added external scripts. | asashour |
| JavaScript: correct script.onreadystatechange behavior for external JavaScript files. | asashour |
| JavaScript: add support for script.onload (FF only). | asashour |
| JavaScript: Attr.specified queries owner node for attribute's existence. | mguillem |
| 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 |
| JavaScript: HtmlOptionsCollection delegates to enclosing select for FF as well. | mguillem |
| HtmlSelect: removeOption() and replaceOption() to inspect only HtmlOption children. Fixes 2116569. | asashour |
| Upgrade JUnit to 4.5. | asashour |
| JavaScript: fireEvent calls handlers with received event object rather than with a copy (IE only). | mguillem |
| JavaScript: trigger deferred scripts' onreadystatechange handler before onload event (IE only). | mguillem |
| JavaScript: constant values like TEXT_NODE on elements are not available when simulating IE. | mguillem |
| JavaScript: objects like HTMLElement don't have a their prototype property in their prototype chain (FF only). | mguillem |
| JavaScript: use 'className' instead of 'class' to get/set class attribute (IE only). | mguillem |
| JavaScript: Node.getAttributeNode returns null if no attribute exists with the specified name. | mguillem |
| Form element can be included as HTML inside XML. Fixes 2105645. | asashour |
| JavaScript: fix incorrect value of CSSStyleRule.selectorText when identified by id (like "#foo"). Fixes 2124854. | mguillem |
| JavaScript: define properties altKey, ctrlKey and shiftKey on UIEvent when simulating Firefox. | mguillem |
| JavaScript: use UIEvent for keyboard events. | mguillem |
| JavaScript: cloneNode copies event handlers when simulating IE. | mguillem |
| Better generics: avoid the need for casting when calling HtmlElement.getHtmlElementById(), HtmlForm.getInputByName(), and .getInputByValue(). | asashour |
| JavaScript: implemented workaround for NPE in CSSParser in some usage of CSSStyleSheet.insertRule. | mguillem |
| JavaScript: finished implementation of insertRule (FF) and addRule (IE) on CSSStyleSheet. | mguillem |
| JavaScript: CSSStyleRule.selectorText should return values like ".foo" rather than "*.foo". | mguillem |
| Deprecation: remove HtmlUnitXPath class, DomNode.getXXXDomYYY(), HtmlPage.getDocumentHtmlElement(), HtmlPage.moveFocusToElement(), HtmlPage.getFocusedElement(), WebClient.popFirstWindow(), and WebClient.pushClearFirstWindow(). | asashour |
| ActiveX: add support for native ActiveX controls (using Jacob). | asashour |
| WebResponse interface: deprecate getResponseBody() in favor of getContentAsByteArray(), deprecate getLoadTimeInMillSeconds() in favor of getLoadTime(), deprecate getUrl() in favor of getRequestUrl(), add getContentAsString(String). | sdanig |
| Type | Changes | By |
|---|---|---|
| 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.<HtmlElement>getHtmlElementById("foo").asText()' (or assigning the result of the 'getHtmlElementById("foo")' call to an intermediate variable). | asashour |
| JavaScript: replace \n with \r\n for value property of HtmlTextAreaElement (IE) and ignore leading new line sign. | mguillem |
| JavaScript: document.cookie value to be surrounded by double quotes if it contains space. | asashour |
| CookieManager: process server-side cookies. | asashour |
| Avoid NullPointerException when iframe.src is a "javascript:..." URL and JavaScript has been disabled. | sdanig |
| JavaScript: add doScroll() method to bodies, divs, spans and textareas (IE only). Fixes 2088921. | sdanig |
| HtmlTextArea: replace new lines with '%0D%0A' and remove first occurrence in form submission. | asashour |
| 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 |
| 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 |
| Upgrade NekoHtml to 1.9.9. | asashour |
| Select element can be included as HTML inside XML. Fixes 2105645. | asashour |
| JavaScript: setting select.selectedIndex should not change page focus. Fixes 2021810. | asashour |
| Add facility method WebClient.closeAllWindows(). | mguillem |
| 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 |
| 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 |
| JavaScript: Make innerText property read only for following elements html, table, tbody, tfoot, thead, tr. FF do not have the property. | sudhan_moghe |
| JavaScript: Add support for title.text. | sudhan_moghe |
| WebRequestSettings: Add trailing slash to any URL that contains only hostname (with or without port). | asashour |
| 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 CookieManager class which can be used to manage cookies on a per-WebClient basis. Fixes 1965338. | sdanig |
| Fix condition where CSS warnings and errors did not have a systemID to easily identify error origin. Fixes 2060931. | sdanig |
| 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 |
| XMLSerializer: includes attributes from HTMLElements. Fixes 2098021. Thanks to Darrell DeBoer. | asashour |
| XmlAttr: remove deprecated constructor with Map.Entry. | asashour |
| ThreadManager: add WebWindow name to the background threads name. Fixes 2093427. | asashour |
| XmlPage: ClassCastException should not be thrown by .getByXPath(). Fixes 2091788. | asashour |
| JavaScript: trigger focus event when clicking an element or typing in it. Fixes 1985241. | mguillem |
| JavaScript: trigger mousedown and mouseup event when an element is clicked. Fixes 2013891. | mguillem |
| JavaScript: make document.styleSheets[x] respect WebClient.printContentOnFailingStatusCode and WebClient.throwExceptionOnFailingStatusCode settings when downloading external CSS files. Fixes 2070940. | sdanig |
| JavaScript: StackOverflowError when setting the location hash via the location.href attribute. Fixes 2089341. | sdanig |
| JavaScript: add stylesheet.href attribute. Fixes 2063012. | sdanig |
| Don't parse <noscript> content when JavaScript is enabled. Fixes 1729195. | mguillem |
| JavaScript: document.XXX allow to access forms by id (IE only). | mguillem |
| JavaScript: silently ignore script nodes with event="..." for="..." when the target element can't be found (IE only). Fixes 2037685. | mguillem |
| JavaScript: copy dynamic properties from template in fireEvent (IE only). Fixes 2014596. | mguillem |
| JavaScript: fixed event order when setting the value of a text field. Fixes 2025912. | mguillem |
| JavaScript: escape quotes found in attribute values when accessing through innerHTML. Fixes 2062406. | mguillem |
| Make IE7 the default BrowserVersion (was IE6). | sdanig |
| Add BrowserVersion for Firefox 3 emulation. | sdanig |
| Fixed NullPointerException occurring document.styleSheets[x] with out of bound index. Fixes 2060550. | mguillem |
| 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 |
| HTMLParser: now considers namespaces. Fixes 2043322. | asashour |
| HtmlElement: asText() respects hidden visibility style attribute. Fixes 2042339. | asashour |
| Add missing equals() methods to the PluginConfiguration and PluginConfiguration.MimeType classes. | sdanig |
| WebClient.expandUrl doesn't handle references correctly. Fixes 2027723. Thanks to Martin Tamme. | sudhan_moghe |
| Attribute values for cloned nodes were not available via JavaScript. Fixes 2024741. | sdanig |
| JavaScript: add support for navigator.product (FF only). Fixes 2028071. | asashour |
| Upgrade Commons Collections to 3.2.1 | asashour |
| JavaScript: 'window.event' should be preserved after another event firing. | asashour |
| Type | Changes | By |
|---|---|---|
| JavaScript: fix endless recursion when innerHTML has script that modifies the innerHTML. Fixes 2022578. | sudhan_moghe |
| Accept \r and \n for HtmlTextArea.type(). Fixes 2019665. | mguillem |
| Avoid to perform multiple request for the same external stylesheet. Add facility to access referred content from HtmlLink. | mguillem |
| Fix memory leak of window objects when the windows contain long-running background JavaScript tasks scheduled via setInterval() or setTimeout(). Fixes 2014629. | sdanig |
| 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 |
| HtmlFileInput: allow to load data from memory. Fixes 2001001. Thanks to Andrew_WOT. | mguillem |
| JavaScript: add support for attribute.text and attribute.xml (IE only). | sudhan_moghe |
| JavaScript: add support for document.activeElement and element.setActive() (IE only). Fixes 1990842. | sudhan_moghe |
| Ensure to focus element on calling HtmlElement.type(). Fixes 1985241. | asashour |
| JavaScript: add support for script.text. Fixes 2005930. | asashour |
| Fix exception when opening about:blank with Firefox. Fixes 2006861. | asashour |
| Add classes AttachmentHandler, CollectingAttachmentHandler and Attachment to handle attachments outside of the normal page flow (disabled by default for backwards compatibility). | sdanig |
| JavaScript: postponed loading of frame content after script execution when src is set from a script. | mguillem |
| JavaScript: window.execScript() now accepts undefined 'language' (IE only). | asashour |
| Fix current window's computation when a window is closed by JavaScript during onload processing. Fixes 1995196. Thanks to Sudhan Moghe. | mguillem |
| ThreadManager: set BrowserVersion of HtmlUnitContextFactory of newly created threads. Fixes 1997280. Thanks to Rene Schwietzke. | asashour |
| JavaScript: fix variable scope after document.write. Fixes 1950004. Thanks to Sudhan Moghe. | mguillem |
| Parsing: handle quotes in comments correctly within script nodes. Fixes 1990198. | mguillem |
| Cache compiled scripts and parsed stylesheets at the WebClient level. | sdanig |
| INCOMPATIBLE CHANGE: HtmlElement.getPage() now returns SgmlPage instead of HtmlPage. | asashour |
| JavaScript: add support for TextRange.duplicate() (IE only). | mguillem |
| JavaScript: add support for property xml on XML DOM nodes (IE only). | mguillem |
| Remove ant build file. | asashour |
| Maintain CSS style attribute order, according to document definition. | sdanig |
| Style attributes in upper case are not recognized. Fixes 1990648. Thanks to Sudhan Moghe. | mguillem |
| JavaScript: fixed document.write(ln) handling of <br> and <hr>. Fixes 1678826. | mguillem |
| JavaScript: improved document.write(ln) support to add nodes to the right parent. Fixes 1990313. Thanks to Karel Kolman. | mguillem |
| JavaScript: HTMLDocument.ownerDocument is always null. | mguillem |
| Fix HtmlTextInput.type(), HtmlTextArea.type() and HtmlPasswordInput.type() to handle backspaces correctly. | sdanig |
| JavaScript: implemented a workaround for Rhino bug in number primitive resolution (Rhino bug 374918). Fixes 1822108. | sdanig |
| Move proxy-related methods from WebClient to new class ProxyConfig. Fixes 1900452. | sdanig |
| JavaScript: value of form elements is set before triggering keyUp event (was after). | mguillem |
| Be more tolerant while extracting charset from incorrect Content-Type header. Fixes 1964258. | mguillem |
| JavaScript: add optionElement.disabled and optionGroupElement.disabled attributes. | sdanig |
| HtmlOption.isDisabled() and HtmlOptionGroup.isDisabled() always return false when emulating IE. Fixes 1986764. | sdanig |
| Don't lose any custom request headers during redirection. Fixes 1987911. | sdanig |
| Allow PUT request with body content. Thanks to Andreas Hartmann. | mguillem |
| Fix extraneous load of frame contents cause by frame node cloning. Fixes 1954869. | sdanig |
| JavaScript: add support for methods getAttribute(), setAttribute() and removeAttribute() on element.style and element.runtimeStyle (IE only). Fixes 1982331. | sdanig |
| Fix incorrect handling of conflicting return values in different event handlers during event bubbling. Fixes 1976960. | sdanig |
| 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 |
| Be more lenient about spurious whitespace in node attributes containing relative URLs (image.src, script.src, link.href, etc). Fixes 1977736. | sdanig |
| Fix document.cookie so that it works correctly when loading HTML pages from the local filesystem, when there is no real domain available. | sdanig |
| Allow calls to WebClient.openWindow() with null URLs. Fixes 1975445. | sdanig |
| JavaScript: add support for onpropertychange event type (IE only). Fixes 1957900. | asashour |
| Fix HtmlPage.getHtmlElementsByIdAndOrName() returns same element twice. Fixes 1969664. | mguillem |
| JavaScript: implement textRange.text setter (IE only). | asashour |
| JavaScript: implement style.zIndex. Fixes 1955515. Thanks to Rodney Gitzel. | asashour |
| NamedNodeMap instances (element.attributes) are case-insensitive in HTML documents (but not XML documents). | sdanig |
| Invalid HTML: when the same attribute appears more than one time, consider the first value rather than the last one. Fixes 1968708. | mguillem |
| JavaScript: HtmlInput.type value is always lower case. | mguillem |
| Deprecated JavaScriptEngine.get/setTimeout(), added replacement methods WebClient.get/setJavaScriptTimeout(). Fixes 1643275. | sdanig |
| Fix serialization of HtmlPages (was broken in some scenarios). Fixes 1951047. | sdanig |
| Change license to Apache 2. | mguillem |
| Fix IllegalStateException that occured using document.write assigned to a variable (IE only). Fixes 1950462. | mguillem |
| HtmlPasswordInput: type() appends text to the value. | asashour |
| JavaScript: XMLDocumet.getElementById retrieve elements with HTML namespace (FF only). Fixes 1964731. | mguillem |
| Improved logic to detect the window with the focus. | mguillem |
| JavaScript: improved behavior of XMLHttpRequest in network error handling. Added support for the onError callback (FF only). Fixes 1962847. Thanks to Stuart Begg. | mguillem |
| Fixed ClassCastException in CSS child selector processing. Fixes 1960512. | mguillem |
| Allow to directly invoke URLs with javascript protocol. | mguillem |
| Add facilities on HtmlImage to download the referenced image and read it. Fixes 1954183. | mguillem |
| Remove deprecated HtmlPage.executeJavaScriptIfPossible() and WebClient.assertionFailed(). | asashour |
| INCOMPATIBLE CHANGE: Replace SubmitMethod with HttpMethod (some methods with incompatible return types). | asashour |
| HtmlPage: add refresh(), deprecate HttpWebConnection.newWebResponseInstance() (replaced with another method with different parameters), and deprecate one of WebResponseImpl constructors (with replacement). Fixes 1946000. | asashour |
| WebRequestSettings: deprecate getURL() and setURL(), use getUrl() and setUrl(). | asashour |
| JavaScript: don't store cookies when document.cookie is set and cookies are disabled. Fixes 1951179. | sdanig |
| JavaScript: add support for the link.href, link.type and link.rel properties. | sdanig |
| JavaScript: initialize event.target correctly when using createEvent and dispatchEvent (FF only). | sdanig |
| DomAttr: deprecate getHtmlValue() and setHtmlValue(). | asashour |
| INCOMPATIBLE CHANGE: HtmlAttr and XmlAttr are no more used, use DomAttr instead. | asashour |
| JavaScript: fix XMLElement.attributes. Fixes 1942640. | asashour |
| <span>: empty tag is expanded as required by browsers. Fixes 1947877. Thanks to Sudhan Moghe. | asashour |
| JavaScript: add support for XMLElement.hasAttribute() (FF only). | asashour |
| JavaScript: add support for HTMLAnchorElement.click(). Fixes 1948777. Thanks to Sudhan Moghe. | asashour |
| 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 |
| Make UTF-8 the default encoding for all XMLHttpRequests. | sdanig |
| Encode and decode location.hash when emulating Firefox. | sdanig |
| HtmlPage: cloned page handles XPath. Fixes 1946994. | asashour |
| JavaScript: Add select.multiple support. | sdanig |
| JavaScript: Add initial support for CSSRule and CSSStyleRule. | asashour |
| Add WebClient.setCssEnabled(boolean) and WebClient.isCssEnabled(). Fixes 1942334. | sdanig |
| JavaScript: object properties now returned in creation order. | mguillem |
| Use HtmlUnit-core-js (which is a Rhino fork) instead of Rhino. | mguillem |
| Type | Changes | By |
|---|---|---|
| Deprecate HtmlPage.getDocumentHtmlElement(). | asashour |
| Add support for DomNode.getTextContent() and setTextContent(). | asashour |
| JavaScript: add initial support for CSSRuleList. | asashour |
| HtmlTextInput and HtmlTextArea: fix type() space. | asashour |
| HtmlPage.getReadyState() now synchronized with the information from the documentElement. Fixes 1592733. | mguillem |
| CSS parsing optimization: avoid parsing CSS selectors multiple times. | sdanig |
| Initialize mouse event coordinates lazily, in order to avoid unnecessary CSS processing overhead. | sdanig |
| JavaScript: window.open without URL provided returns blank window when simulating Firefox too. Fixes 1584437. | mguillem |
| JavaScript: clear existing events handlers when page's content is changed with document.write. Fixes 1794764. | mguillem |
| JavaScript: fixed document.location in pages created with document.write. | mguillem |
| JavaScript: fixed ClassCastException occurring when select() is called on form elements other than text inputs. | mguillem |
| Type | Changes | By |
|---|---|---|
| Upgrade NekoHtml to 1.9.7. | asashour |
| Deprecate DomNode non-DOM methods, i.e. getLastDomChild(), getParentDomNode(), getPreviousSibling(), getNextDomSibling(), getFirstDomChild() and cloneDomNode(). | asashour |
| Deprecate HtmlUnitXPath. | asashour |
| DomNode: asXml() uses charset from HtmlPage.getPageEncoding(). Fixes 1931084. | asashour |
| Upgrade Jetty to 6.1.9. | asashour |
| Upgrade Commons Lang to 2.4. | asashour |
| Deprecate popFirstWindow and pushClearFirstWindow on WebClient. | mguillem |
| Add element.offsetParent to FF emulation mode. | sdanig |
| Upgrade CSS Parser to 0.9.5. | sdanig |
| Add initial support for data protocol (Firefox only). | mguillem |
| Fix element.clientWidth, clientHeight, offsetTop, offsetLeft and offsetParent to reflect CSS configuration. | sdanig |
| In BoxObject, add attributes element, firstChild, lastChild, nextSibling, previousSibling, x, y, width and height. | sdanig |
| Fix element.offsetWidth and element.offsetHeight to include padding. | sdanig |
| Add DomNode.getCanonicalXPath(). | asashour |
| Deprecate HtmlPage.moveFocusToElement() and getElementWithFocus(), use setFocusedElement() and getFocusedElement(). | asashour |
| Meta Refresh: case-insensitive URL (#1924784). Fixes 1924784. Thanks to Dmitri Zoubkov. | asashour |
| Upgrade Rhino to 1.7R1. | asashour |
| JavaScript: add support for XMLElement.getElementsByTagNameNS() (FF only). | asashour |
| JavaScript: add support for input.setSelectionRange() (FF only). | asashour |
| HtmlSelect: if any HtmlOption is selected, focus is moved to HtmlSelect. | asashour |
| JavaScript: add support for 'onfocusin' and 'onfocusout' (IE only). | asashour |
| JavaScript: CSSStyleSheet added support for ownerNode (FF) and owningElement (IE). | mguillem |
| JavaScript: allow direct access to nodes per id/name when simulating Firefox too. | mguillem |
| JavaScript: fixed various issues with Node methods appendChild, insertBefore and replaceChild when involved nodes don't belong to the same document. | mguillem |
| HtmlPage.asXml(): place scripts in CDATA sections with comments. | mguillem |
| JavaScript: fix window.location.hash so it always starts with '#'. | asashour |
| Upgrade Jetty to 6.1.8, Commons IO to 1.4 and FileUpload to 1.2.1. | asashour |
| INCOMPATIBLE CHANGE: Remove KeyValuePair, and hide HtmlForm.getParameterListForSubmit() and .getSubmittableElements(), they shouldn't be directly called by users. | asashour |
| JavaScript: return undefined for out of bound element access on HtmlFormElement. | mguillem |
| JavaScript: custom RegExp proxy now accepts unescaped curly braces. | mguillem |
| JavaScript: ComputedCSSStyleDeclaration.getPropertyValue returns the same value as direct property access. | mguillem |
| JavaScript: add support for HtmlElement.textContent (FF only). | mguillem |
| Remove Jaxen dependency. | asashour |
| Remove deprecated methods in HtmlPage: assertAllIdAttributesUnique(), assertAllAccessKeyAttributesUnique(), assertAllTabIndexAttributesSet() (use corresponding methods in WebAssert instead). | sdanig |
| Remove deprecated WebRequestSettings.setCookiePolicy() and getCookiePolicy(). | sdanig |
| JavaScript: element.currentStyle returns calculated (rather than static) style (IE only). | sdanig |
| Add method Cache.clear(). | sdanig |
| JavaScript: added support for (undocumented) method CollectGarbage (IE only). | mguillem |
| 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 Xalan 2.7.0 as dependency. | asashour |
| JavaScript: fixed IndexOutOfBoundsException in processing of IE @elif pre processor instruction. Fixes 1904189. | mguillem |
| JavaScript: instanceof now works correctly with html elements (FF only). | mguillem |
| JavaScript: property ownerDocument now defined on node. | mguillem |
| JavaScript: ignore calls to document.open() during page parsing. | sdanig |
| JavaScript: calling document.write() after a page has finished parsing results in overwriting the entire page. | sdanig |
| Handle script elements with src attributes containing "javascript:..." URLs. Fixes 1782719. | sdanig |
| Correct the order of script element execution, deferred script element execution, script ready state changes, deferred script ready state changes, and onload handlers. | sdanig |
| JavaScript: add support for document.fireEvent (IE only) and document.onXXX event handlers (elements already had these). | sdanig |
| Don't reload page from server if window.location.hash is modified. | sdanig |
| JavaScript: HTMLCollection.item and namedItem return null when element is not found. | mguillem |
| JavaScript: avoid detection of document.all when simulating FF (property still available). | mguillem |
| XPath: case-insensitive match for attribute names. | asashour |
| Add temporary body element when one is missing and document.write() is called. | sdanig |
| Add implicit body element when one is missing and there is no content to trigger addition by NekoHTML. | sdanig |
| When document is missing a body element, document.body returns null instead of undefined. | sdanig |
| Execute JavaScript when a script element's src attribute is set (always when emulating IE, only sometimes when emulating FF). | sdanig |
| Add test-scoped dependency on slf4j, in order to trigger correct logging in Jetty during the unit tests. | sdanig |
| JavaScript: add support for document.importNode() (FF only). Fixes 1896964. | asashour |
| Upgrade Jetty to 6.1.7 and JCL to 1.1.1. | sdanig |
| Fixed incorrect processing of multiple conditional compilation flags (IE only). | mguillem |
| JavaScript: add empty implementation of HTMLElement.clientWidth and .clientHeight. | asashour |
| JavaScript: remove style attribute if it is empty. | asashour |
| Add support of having XML inside Html (IE only). | asashour |
| INCOMPATIBLE CHANGE: Rename UnknownHtmlElement to HtmlUnknownElement. | asashour |
| Beautify asXml() by removing unnecessary blanks. | asashour |
| XmlPage: fix asText() and asXml(). | asashour |
| JavaScript: add basic support for document.queryCommandSupported and document.execCommand. | mguillem |
| XmlPage: correct XPath handling (#1883395). Fixes 1883395. | asashour |
| Fixed User-Agent header for IE6. | mguillem |
| JavaScript: changed simulated screen dimensions to 1024x768 (was 800x600). | mguillem |
| JavaScript: add basic support for all missing style attributes. | asashour |
| JavaScript: Node.replaceChild() correctly processes DocumentFragment. | asashour |
| JavaScript: XMLHttpRequest should not call onreadystatechange handler if sync (FF only). | asashour |
| JavaScript: add support for Range.createContextualFragment (FF only). | asashour |
| JavaScript: <code>__proto__</code> is only defined for Firefox. | asashour |
| Handle line comments in multiline onXxxx events handlers declarations. Fixes 1464948. | mguillem |
| Upgraded nekohtml to version 1.9.6.1 | mguillem |
| 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 |
| INCOMPATIBLE CHANGE: Rename HtmlHeader1 (to HtmlHeader6) to corresponding HtmlHeading1 (to HtmlHeading6). | asashour |
| INCOMPATIBLE CHANGE: Rename HtmlTextDirection to the correct name (HtmlDirectory). | asashour |
| 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 |
| JavaScript: correct toString() for properties in 'window' scope (FF only). | asashour |
| JavaScript: detect encoding from XML declaration (#1876545). Fixes 1876545. | asashour |
| JavaScript: HTMLAnchor href attribute should be reachable even if the URL is malformed. | mguillem |
| JavaScript: add support for XMLElement.getAttributeNode() (#1874624). Fixes 1874624. Thanks to Sudhan Moghe. | asashour |
| JavaScript: document.cookie separates cookies with '; ' and not ';'. | mguillem |
| Fixed ClassCastException occurring when a non HTML page is loaded with Firefox simulation (regression in 1.14). | mguillem |
| Remove Assert, use WebAssert instead. | asashour |
| Upgrade JUnit to 4.4. | asashour |
| JavaScript: Add support for HTMLHtmlElement. | asashour |
| HtmlForm: Remove deprecated .getRadioButtonInput() and .setCheckedRadioButton(). | asashour |
| Remove deprecated HtmlForm.fakeCheckedRadioButton() and HtmlSelect.fakeSelectedAttribute(). | asashour |
| JavaScript: Add support for XPathResult.iterateNext() (FF only). Fixes 1873562. | asashour |
| Remove deprecated HtmlElement.MapEntryWrappingIterator. | asashour |
| Deprecate HtmlElement.getAttributeEntriesIterator(), use .getAttributes() instead. | asashour |
| JavaScript: HTMLCollection should not have 'tags' property in Firefox (except for <code>document.all</code>). | asashour |
| HtmlTextInput and HtmlTextArea: Add support for select(), and fix tabIndex JavaScript property. | asashour |
| Add initial support for document.selection.createRange() (IE only). | asashour |
| Remove deprecated constants in BrowserVersion, in addition to HtmlForm.submit(). | asashour |
| Deprecate DomNode.getChildIterator(), use getChildren() instead. | asashour |
| INCOMPATIBLE CHANGE: DomNode.getAllHtmlChildElements() returns Iterable instead of Iterator. | asashour |
| DomNode: remove unused EventHandler, and deprecated PropertyChange methods. | asashour |
| Deprecate HtmlElement.getChildElementsIterator(), use getChildElements() instead. | asashour |
| JavaScript: add support for input.selectionStart, input.selectionEnd, and input.textLength. | asashour |
| Remove deprecated DomNode.XXXX_NODE, use org.w3c.dom.Node instead. | asashour |
| Remove the public (deprecated) constructor of HtmlElement and its subclasses. | asashour |
| Type | Changes | By |
|---|---|---|
| JavaScript: allow script node's onreadystatechange handler to be set to null. | mguillem |
| Don't escape '+' in URL path. Fixes 1866448. Thanks to David Bylsma. | mguillem |
| JavaScript: add support for 'Node' prototype. | mguillem |
| JavaScript: add support for window.resizeBy. | mguillem |
| JavaScript: StyleSheetList correctly loads CSS content (FF only). | asashour |
| Correctly handle URLs with path starting with double slash. | mguillem |
| JavaScript: add configurable support for supported plugins and mime types (FF only). Per default a Shockwave Flash plugin is "configured" for Firefox 2. | mguillem |
| JavaScript: XMLHttpRequest.responseXML.getElementById should always return null (#1854975). Fixes 1854975. | asashour |
| JavaScript: add support for "for (i in collection)" (#1862054). Fixes 1862054. | asashour |
| JavaScript: XSLT support (ActiveXObject 'Msxml2.XSLTemplate') (IE only). | asashour |
| XPath: is now namespace aware for XmlElements. | asashour |
| JavaScript: add initial support for XPathResult, and XSLTProcessor (FF only). | asashour |
| JavaScript: activate document.all for Firefox too. | mguillem |
| Add DomElement with its JavaScript 'Element' prototype. | asashour |
| XPath: DomCharacterData is treated as text node. | asashour |
| XMLDocument: add support for .parseError property (IE only), createElement(), createNSResolver() (FF only), evaluate() (FF only), and 'xml:space' attribute (IE only). | asashour |
| XMLPage handles qualified tag names. | asashour |
| JavaScript: added 'HTMLEvents' to the event types supported by document.createEvent (Firefox). | mguillem |
| JavaScript: use custom JDK based regular expression evaluation for String.match to avoid Rhino problems (speed and wrong evaluation). | mguillem |
| HtmlTextInput and HtmlPasswordInput: type('\n') submits the enclosing form. | asashour |
| <frame> and <iframe> should trim values in 'src' attribute. | asashour |
| JavaScript: element.dispatchEvent() exactly behaves as calling ClickableElement.click() and .dblClick() and returns correct value (based on event.preventDefault()) (#1813007). Fixes 1813007. | asashour |
| JavaScript: add initial support for event.preventDefault() (anchor, checkbox, text input, textarea, others to follow) (#1813007). Fixes 1813007. | asashour |
| HtmlTextInput: type() appends text to the value. | asashour |
| JavaScript: cache parsed JavaScript responses. Fixes 1716540. | mguillem |
| JavaScript [internal]: removed ScriptEngine, use JavaScriptEngine directly. | mguillem |
| XMLPage: add support for comment node. | asashour |
| Deprecate FocusableElement. | asashour |
| JavaScript: add support for label.htmlFor (#1835550). Fixes 1835550. | asashour |
| JavaScript: fix removeChild() for XML elements (#1836922). Fixes 1836922. | asashour |
| JavaScript: Add style.borderBottom[Color,Style,Width], .borderLeft[Color,Style,Width], .borderRight[Color,Style,Width], and .borderTop[Color,Style,Width] (#1835836). Fixes 1835836. | asashour |
| 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 |
| JavaScript: Tolerate empty string for DOMParser.parseFromString() (FF only), and ActiveXObject('Microsoft.XMLDOM').loadXML() (IE only) (#1835090). Fixes 1835090. | asashour |
| JavaScript: <iframe> src is now correctly handled via setAttribute() (#1828914). Fixes 1828914. | asashour |
| JavaScript: add support for getAttributeNS and setAttributeNS on node (Firefox). | mguillem |
| JavaScript: don't encode xml special characters for innerHTML property on script nodes. | mguillem |
| Ignore <script> src that starts with "javascript:". | asashour |
| Handle file URLs with query portions (file://my/path?a=b) and ref portions (file://my/path#ref) without breaking. | sdanig |
| Fixed possible ConcurrentModificationException and dead lock with HtmlAttributeChangeListener and DomChangeListener. | mguillem |
| Add support for deferred script elements (IE only). | sdanig |
| Avoid leaving the DOM in an inconsistent state when DomNode.replace(DomNode) is called and the target node is used as the parameter. | sdanig |
| JavaScript: delegate select.options.xxx property modifications to the parent select element (property accesses were already being delegated correctly; IE only). | sdanig |
| Add basic support for document.getBoxObjectFor() (FF only) (#1815602). Fixes 1815602. Thanks to Sam Hough. | asashour |
| HtmlTextArea.asXml() now preserves content and expands empty tag to make generated xml interpretable as html by browsers. | mguillem |
| 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 |
| HtmlForm: on submitting a form without parameters, URL should not end with a question mark (IE7 only). | asashour |
| JavaScript: getElementsByTagName now returns empty collection when called with 'incorrect' name. | mguillem |
| JavaScript: add support for hasAttribute and hasAttributeNS on node (Firefox), getNamedItem on NamedNodeMap. | mguillem |
| Add a popup blocker (WebClient.setPopupBlockerEnabled(boolean)). | sdanig |
| 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 |
| HtmlFileInput: add support for non-ASCII name of uploaded files (#1818569). Fixes 1818569. | asashour |
| JavaScript: accept ECMA reserved keywords like 'float' as normal identifier. | mguillem |
| JavaScript: added support for DOMContentLoaded event (Firefox). Fixes 1812960. Thanks to Sam Hough. | mguillem |
| Add possibility to configure the mime type used when uploading a file. | mguillem |
| JavaScript: add support for the htmlElement.attributes collection. | sdanig |
| 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 |
| JavaScript: make focus and blur available on HtmlElement. Fixes 1815275. Thanks to Sam Hough. | mguillem |
| 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 |
| Make the loading of external .js files referenced via script tags listen to WebClient.getPrintContentOnFailingStatusCode() and WebClient.isThrowExceptionOnFailingStatusCode(). | sdanig |
| Add support for CDATA sections of xml documents. | mguillem |
| Add facility method DomNode.getFirstByXPath(xpathExpr). | mguillem |
| JavaScript exceptions: line number information now relative to the page. | mguillem |
| Add HtmlPage.executeJavaScript to inject JavaScript code in a page. | mguillem |
| JavaScript: add support for element.dispatchEvent(event) (Firefox only). | sdanig |
| Cache JS server responses to avoid useless requests (script caching will come later). Fixes 1716540. | mguillem |
| Don't load the originally specified source of a frame, when its location has already been changed by JavaScript. Fixes 1518195. | mguillem |
| Add primitive support for document.styleSheets (#1805817). Fixes 1805817. | asashour |
| Add support of setExpression and removeExpression for element and style (#1809522). Fixes 1809522. | asashour |
| Update window.frames so it does not throw ClassCastException (#1802836). Fixes 1802836. | asashour |
| JavaScript: document.all('notExistingElement') now returns null as IE does. Fixes 1802969. | mguillem |
| Fix loading content containing 'Content-Type' header with quoted charset (#1797235). Fixes 1797235. | asashour |
| Upgrade Jetty to 6.1.5. | asashour |
| JavaScript: XMLDocument should not ignore descendants non-empty DomText in IE. | asashour |
| JavaScript: loadXML() supports relative URLs in ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE only). | asashour |
| Add basic support for attributes of XML elements. | asashour |
| Added FalsifyingWebConnection, a WebConnection wrapper that provides facility methods to provide other content than the "real" one. | mguillem |
| JavaScript: added backgroundImage to allowed style properties. | mguillem |
| JavaScript: added Document.createRange() and basic support for Range (Firefox only). | mguillem |
| JavaScript: add selectNodes() and selectSingleNode() (IE only), getElementsByTagName() and .tagName property for XML elements. | asashour |
| JavaScript: add basic support of setProperty() function and .preserveWhiteSpace property for ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE only). | asashour |
| DomNode.getByXPath() with 'id()' function should return empty list instead of throwing an exception (#1790308). Fixes 1790308. | asashour |
| WebClient.loadWebResponse should not be final. Fixes 1790312. | mguillem |
| JavaScript: add UIEvent.initUIEvent() (FF only). | sdanig |
| Allow HTTP methods DELETE, HEAD, OPTIONS, PUT and TRACE (in WebClient.getPage(WebRequestSettings) and in XMLHttpRequest). | mguillem |
| JavaScript: add XMLSerializer (FF), and .xml property for ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). | asashour |
| JavaScript: add DOMParser, with implementation of parseFromString() (FF only). | asashour |
| JavaScript: add loadXML() and selectNodes() for ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE only). | asashour |
| JavaScript: ignore text nodes of loaded XML by ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). | asashour |
| Move getWebClient() from HtmlPage to SgmlPage. | asashour |
| JavaScript: correctly handle 'documentElement' property for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). | asashour |
| JavaScript: add load() and getElementsByTagName() for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). | asashour |
| JavaScript: add support for function element.fireEvent() (IE only). Thanks to Rob Di Marco. | sdanig |
| JavaScript: add support for function mouseEvent.initMouseEvent() (FF only). Thanks to Rob Di Marco. | sdanig |
| ActiveXObject (XmlHttp): should not be created by case-sensitive string. (#1784330). Fixes 1784330. Thanks to Dan Fabulich. | asashour |
| 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 SgmlPage: moving towards having fully fledged XmlPage. | asashour |
| Regular Expressions: allow 'undefined' pattern, and tolerate improper patterns (trigger warning). | asashour |
| Upgrade Rhino to 1.6R7. | asashour |
| JavaScript: add support for function event.initEvent() (FF only). Thanks to Rob Di Marco. | sdanig |
| Fix document.createEvent() and document.createEventObject(): set event prototypes correctly. | sdanig |
| JavaScript: add 'async' property for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). | asashour |
| JavaScript: add support for read-only attributes uiEvent.detail and uiEvent.view (FF only). Thanks to Rob Di Marco. | sdanig |
| 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 |
| JavaScript: add basic support for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). | asashour |
| JavaScript: select.size is used when only needed. | asashour |
| Upgrade HttpClient to 3.1. | asashour |
| JavaScript: document.createElement() to accept html as a valid parameter (IE only). | asashour |
| 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 |
| 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 |
| JavaScript: document.createElement() to accept "<tagName>" as a valid parameter. | asashour |
| JavaScript: element.setAttribute() sets corresponding event handler onXXX if found (FF only). | asashour |
| JavaScript: add primitive support for document.elementFromPoint (IE only). | asashour |
| 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 |
| JavaScript: add support for element.uniqueID (IE only). | asashour |
| Deprecate unused class MapEntryWrappingIterator. (#1747878). Fixes 1747878. | dktaylor |
| Deprecate String-to-String attribute map for HtmlElement. Add initial support for namespaces for attributes. (#1747878). Fixes 1747878. | dktaylor |
| 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 |
| New interface com.gargoylesoftware.htmlunit.OnbeforeunloadHandler with associated WebClient getter and setter, to support 'onbeforeunload' event (#1498419). Fixes 1498419. | asashour |
| JavaScript: document.getElementById() must not return elements added to newly created ones (not yet added to document). | asashour |
| JavaScript: add support for 'onunload' event handler. | asashour |
| Type | Changes | By |
|---|---|---|
| Add document.createEvent() and document.createEventObject(). Thanks to Rob Di Marco. | sdanig |
| HtmlElement.asXml(): separate lines for empty element and the one after. | asashour |
| JavaScript: element.appendChild() and insertBefore() must recursively maintain document.getElementById() contract. | asashour |
| WebRequestSettings: add getter and setter of CookiePolicy. | asashour |
| JavaScript: for element.appendChild(), .insertBefore(), .innerHTML, and .innerText: if the element parentNode is null, create a DocumentFragment to be the parentNode (IE only). | asashour |
| 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 |
| Deprecated DomNode.XXXX_NODE. | asashour |
| Change DomNode.ATTRIBUTE_NODE to be 2 in order to match W3C DOM Node.ATTRIBUTE_NODE. | asashour |
| JavaScript: add support for document.createDocumentFragment(). | asashour |
| JavaScript: add basic support for element.getBoundingClientRect() and element.getClientRects(). | asashour |
| JavaScript: add support for node.isSameNode(). | asashour |
| WebClient: Remove deprecated moveFocusFromElement(), moveFocusToElement(), and getElementWithFocus(). | asashour |
| HtmlTitle.asXml(): empty tag is expanded as required by Internet Explorer. | asashour |
| JavaScript: if window object could not find a property or function, it returns 'undefined' instead of null (#1771549). Fixes 1771549. | asashour |
| Type | Changes | By |
|---|---|---|
| Add method HtmlPage.getHtmlElementsByName(String). | sdanig |
| HtmlSelect (in single-selection mode) selects the first option if none is selected. | asashour |
| JavaScript: add basic support for element.runtimeStyle. | mguillem |
| JavaScript: add basic support for document.createStyleSheet (when emulating IE only). | mguillem |
| JavaScript: implemented a workaround for Rhino bug in string primitive resolution (Rhino bug 374918). | mguillem |
| Deprecate HtmlForm.submit(). | asashour |
| Deprecate HtmlForm.fakeCheckedRadioButton(). | asashour |
| The method element.style.getPropertyValue('foo') should expect property names to be delimiter-separated (ie 'font-size') rather than camel case (ie 'fontSize'). | sdanig |
| Basic document.implementation: hasFeature(). | asashour |
| Add support for oncontextmenu event type. | asashour |
| 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 |
| HtmlElement: add rightClick(). | asashour |
| JavaScript added minimal support for MouseEvent properties clientX, clientY, pageX, pageY, screenX, screenY coherent with position of event's target. | mguillem |
| Set Referer header for requests from XMLHttpRequest. | mguillem |
| First option in a single-selection select input gets selected by default. | sdanig |
| Add implementation of element.style.filter attribute (when emulating IE only). | sdanig |
| JavaScript: added support for properties "button" and "which" on mouse events. | mguillem |
| Add initial support for IE conditional compilation @if, @elif, @else, @end and @set instructions as well as for conditional compilation variables. | mguillem |
| Fix getElementsByTagName('*') at the document level (it was returning an empty collection). | sdanig |
| JavaScript: add support for style.getPropertyValue() (#1759750). Fixes 1759750. | asashour |
| JavaScript: fixed eval scope bug when used within function. Fixes 1727599. | mguillem |
| Add an optional (disabled by default) debugger implementation which can make it easier to debug complex interactions between HtmlUnit and JavaScript. | sdanig |
| Deprecate BrowserVersion constants for Mozilla 1.0, Netscape 4.7.9 and Netscape 6.2.3; add MSIE 7 and Firefox 2. | sdanig |
| JavaScript: add basic support for element.currentStyle and window.getComputedStyle. Fixes 1756277. | asashour |
| BrowserVersion: add equals() and hashCode(). Fixes 1756617. Thanks to Matt Ryall. | asashour |
| HtmlElement: add mouseOver(), mouseMove(), mouseOut(), mouseDown(), and mouseUp(). | asashour |
| JavaScript: implement navigator.cookieEnabled to match WebClient#isCookiesEnabled(). | asashour |
| Add empty implementation for table.refresh() (#1742662). Fixes 1742662. | asashour |
| HTMLCollection: cache getElements() for better performance (#1751756). Fixes 1751756. | asashour |
| Experimental: added AjaxController and NicelyResynchronizingAjaxController. | mguillem |
| JavaScript: added support for window.captureEvents (FF). Fixes 1225021. | mguillem |
| JavaScript: fixed addEventListener cannot be called twice. Fixes 1716129. | mguillem |
| JavaScript: added support for event capturing and bubbling phases. | mguillem |
| JavaScript: added support for Event.stopPropagation() (FF) and Event.cancelBubble() (IE). | mguillem |
| JavaScript: added support for window.onclick and window.ondblclick. | mguillem |
| Ignore <base> if inside <body> (#1579707). Fixes 1579707. | asashour |
| FailingHttpStatusCodeException is thrown for failing frame (#1065041). Fixes 1065041. | asashour |
| JavaScript: use custom JDK based regular expression evaluation for String.replace to avoid Rhino problems (speed and wrong evaluation). | mguillem |
| Elements inside <noscript> are ignored if isJavaScriptEnabled() (#1186639). Fixes 1186639. | asashour |
| Version: add getProductName(), getProductVersion() and getCopyright() (#1748672). Fixes 1748672. | asashour |
| DomNode: add/remove DomChangeListener. | asashour |
| Remove deprecated WebClient.getThrowExceptionOnFailingStatusCode and BaseFrame.FrameWindow. | asashour |
| HtmlImageInput, HtmlResetInput and HtmlSubmitInput can be clicked if exist outside an enclosing form. (#1747454). Fixes 1747454. | asashour |
| JavaScript: allow FormField.onchange, form.onsubmit and frame.onload to be set to null (#1745024). Fixes 1745024. | asashour |
| JavaScript: Add table.cellSpacing and table.cellPadding. | asashour |
| HtmlElement and HtmlPage: add/remove HtmlAttributeChangeListener (#1124781). Fixes 1124781. | asashour |
| JavaScript: Implement insertAdjacentElement(). | asashour |
| HtmlSubmitInput: setting value to "Submit Query" if not specified, associated with asText(), asXml(), and submitValue changes. | asashour |
| HTMLElement.scrollIntoView() is added as an empty implementation (#1740086). Fixes 1740086. Thanks to Bruce Chapman. | asashour |
| DomNode.asText() now correctly handles style elements (e.g. <i>, <b>, and <font>) (#1731042). Fixes 1731042. Thanks to Rodney Gitzel. | asashour |
| HtmlPage.clone() doesn't share idMap_ with original (#1708397). Fixes 1708397. Thanks to Bruce Chapman. | asashour |
| ClickableElement: Add dblClick() (#1385295). Fixes 1385295. | asashour |
| JavaScript: Add document.createElementNS(), element.namespaceURI, element.prefix, and element.localName (#1521790). Fixes 1521790. | asashour |
| HtmlPage supports Serialization (#1685311). Fixes 1685311. | asashour |
| Add partial support for IE Conditional Compilation (#1680026). Fixes 1680026. | asashour |
| Meta Refresh: tolerate spaces before the semicolon (#1549916). Fixes 1549916. Thanks to Andre Soereng. | asashour |
| Allow setChecked of <input type="radio"> which is outside any <form> (#1587962). Fixes 1587962. | asashour |
| Deprecated HtmlForm#getRadioButtonInput(String,String) and HtmlForm#setCheckedRadioButton(String,String). Use #getByXPath instead. | asashour |
| Allow HtmlFileInput to handle values starting with "file:/" (#1513928). Fixes 1513928. | asashour |
| Align node types numeric values to W3C values. | mguillem |
| JavaScript: allow comment nodes to be retrieved | mguillem |
| HtmlSelectElement: ignores setting 'selectedIndex' to more than or equal to options size. | asashour |
| HtmlForm: #getTextAreaByName and #getButtonByName (#1713515). Fixes 1713515. Thanks to Philip Graf. | asashour |
| Add UTF-16BE, and UTF-16LE charset detection (#1729467). Fixes 1729467. Thanks to Karel Kolman. | asashour |
| Use WebRequestSettings#getCharset() as the encoding of pages instead of "ISO-8859-1" (#1483301). Fixes 1483301. | asashour |
| Proper handling of in DomNode#asText() (#1549745). Fixes 1549745. Thanks to Kristian Muntau. | asashour |
| JavaScript: Simulate browser behavior for comments that have last line of "statement-->", but not "statement//-->". | asashour |
| JavaScript: Add support for location.toString() (#1725742). Fixes 1725742. | asashour |
| asXml() now expands tags for div, iframe and script to make generated xml interpretable as html by browsers. | mguillem |
| Add support for table.width (#1691024). Fixes 1691024. | asashour |
| HtmlInput (HtmlCheckBoxInput and HtmlRadioButtonInput): #setChecked now returns Page (#1724889). Fixes 1724889. | asashour |
| Javascript: Correct handling of comments (#1725162). Fixes 1725162. | asashour |
| JavaScript [internal]: use Context.call(ContextAction) for faster JavaScript execution. | mguillem |
| Meta Refresh empty URL is handled (#1722665). Fixes 1722665. | asashour |
| JavaScript: add support for textarea.selectionStart, textarea.selectionEnd, and textarea.textLength (#1714772). Fixes 1714772. | asashour |
| DomNode#getAllHtmlChildElements() now returns Iterator. | asashour |
| Fixed exception occurring handling script tag with one line content starting with <!-- and without closing --!>. Fixes 1714762. | mguillem |
| JavaScript: allow function named onload. Fixes 1609944. | mguillem |
| JavaScript: made equality tests on functions working. | mguillem |
| JavaScript: don't allow usage of write(ln) detached from document object when simulating Firefox. | mguillem |
| JavaScript [internal]: large refactoring for a better Rhino usage. | mguillem |
| JavaScript: Add support for event.shiftKey, event.ctrlKey, and event.altKey. Fixes 1168346. | asashour |
| Tolerate URL starting with http:/ and http: in Firefox. Fixes 1714767. | asashour |
| Added IncorrectnessListener to get notified of things that HtmlUnit cope with but that don't respect standards. | mguillem |
| JavaScript: provide the event object to onreset handlers. | mguillem |
| Added ScriptException.printScriptStackTrace to retrieve the stack trace of the script execution. | mguillem |
| WebClient can now enable/disable cookies support. | asashour |
| JavaScript: allow to set window.onload to something else than a function. Fixes 1201561. | mguillem |
| DomNode.DescendantElementsIterator.remove() now throws UnsupportedOperationException (previous behavior was not correct). Fixes 1705521. Thanks to Bruce Chapman. | mguillem |
| JavaScript: added support for label property on Option objects. | mguillem |
| JavaScript: added support for defaultSelected property on Option objects. Thanks to Bruce Chapman. | mguillem |
| JavaScript: allow selected and defaultSelected attribute in Option constructor. Fixes 1705517. Thanks to Bruce Chapman. | mguillem |
| 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 |
| JavaScript: Add support for script.src, script.type, script.readyState and script.onreadystatechange. | sdanig |
| When cloning nodes, clone the id attribute as well. Fixes 1707726. Thanks to Bruce Chapman. | sdanig |
| Avoid NPEs for responses with null bodies (ie 304 Not Modified responses). Fixes 1706505. Thanks to Martin Tamme. | sdanig |
| JavaScript: Cloning a script node should not execute the script. Fixes 1707788. Thanks to Bruce Chapman. | sdanig |
| JavaScript: Don't run scripts after the window location changes. Fixes 1706237. | sdanig |
| Verify correct behavior of HtmlSelect#asText() with multiple selections, fix JavaDoc. Fixes 1634051. | sdanig |
| JavaScript: add support for frameset.rows and frameset.cols properties. Fixes 1705559. Thanks to Bruce Chapman. | sdanig |
| JavaScript: ignore invalid script.src attribute used by jQuery ("//:"). Fixes 1695279. | sdanig |
| Trim whitespace off of anchor href attributes. Fixes 1658064. | sdanig |
| JavaScript: add support for event.type property. | sdanig |
| Fixed NPE exception triggered by invalid iframe/frame src attribute. Fixes 1699119. | sdanig |
| Fixed infinite loop triggered by recursive iframe/frame src attribute. Fixes 1699125. | sdanig |
| JavaScript: fixed set innerHTML uses 8bits for all chars and ignores some HTML. Fixes 1541150. Thanks to Sam Hough and Ahmed Ashour. | mguillem |
| JavaScript: handle out of bound indexes on options as browsers do (undefined when too high and exception when negative). | mguillem |
| Added (limited) support for client side map. Fixes 799817. Thanks to Ahmed Ashour. | mguillem |
| Don't execute JavaScript in <noframes> and <iframe>. Fixes 1689214. Thanks to Ahmed Ashour. | mguillem |
| Set Referer header on outgoing requests. Fixes 1693423. Thanks to Ahmed Ashour. | mguillem |
| JavaScript: setting innerHTML to null shouldn't create any text node for Firefox. Fixes 1692811. Thanks to Ahmed Ashour. | mguillem |
| JavaScript: fixed remaining problem of submitted select values when select.selectedIndex = -1 has been used before setting an other value. Fixes 1684652. | mguillem |
| JavaScript: setting innerHTML to empty string shouldn't create any text node. Fixes 1692572. Thanks to Ahmed Ashour. | mguillem |
| JavaScript: added support for property parentElement on DOM nodes (IE specific). Fixes 1690203. Thanks to Ahmed Ashour. | mguillem |
| JavaScript: configure correctly the prototype hierarchy on created host objects. | mguillem |
| JavaScript: fixed non executed scripts added with document.write. Fixes 1613119. Thanks to Karel Kolman. | mguillem |
| 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 |
| Fixed wrong parsing order of comment and text nodes. Fixes 1686412. Thanks to Karel Kolman. | mguillem |
| JavaScript: added support for following properties on HtmlAnchor: hash, host, hostname, pathname, port, protocol, search and target. Fixes 1686412. Thanks to Bruce Chapman. | mguillem |
| Handle correctly anchors (alias reference) in URLs after form submission. | mguillem |
| JavaScript: XMLHttpRequest now encodes post body in UTF-8. Fixes 1681779. | mguillem |
| Type | Changes | By |
|---|---|---|
| Respect non proxy hosts in redirects from a host using proxy. Fixes 1669097. | mguillem |
| JavaScript: resolve relative locations from the originating page for Location's href, replace and assign. | mguillem |
| Renamed frame host class to avoid conflict when a frame has 'Frame' as name. Fixes 1562872. | mguillem |
| Form should not send push buttons on submit. Fixes 1676667. | mguillem |
| Added facility method DomNode.getByXPath(xpathExpr). | mguillem |
| JavaScript: Option.setAttribute now works even if option has not yet been added to a select. Fixes 1672048. | mguillem |
| 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 |
| Improved HtmlPage.getAnchors's javadoc. Fixes 1665629. | mguillem |
| Added support for server side map (HtmlImage.click(int, int)). Fixes 799815. | mguillem |
| Allow redirections to the same URL with a maximal number of 20. Fixes 1619765. | mguillem |
| Fixed HtmlHtml.getXmlLangAttribute(). | mguillem |
| Upgraded dependencies to Jaxen 1.1, commons-lang 2.2, rhino 1.6R5, commons-io 1.3. | mguillem |
| Changing element id should not impact child nodes. Fixes 1658273. Thanks to Karel Kolman. | mguillem |
| JavaScript: provide event object as argument when calling onload listeners attached with attachEvent (Internet explorer). | mguillem |
| JavaScript: provide the event object to onsubmit handlers. Fixes 1648014. | mguillem |
| Set cookies defined in meta tags with http-equiv equals to set-cookie. | mguillem |
| Fixed NullPointerException occurring while submitting a from which onsubmit handler returns null. Fixes 1628521. Thanks to Andre Soereng. | mguillem |
| JavaScript: fixed bad initialisation of JavaScript context when window content changes (was introduced since last release in fixed for bug 1040244). Fixes 1627983. | mguillem |
| JavaScript: ensure that script execution is synchronized on the owning html page (for instance using XMLHttpRequest asynchronously). Fixes 1508377. | mguillem |
| JavaScript: made ThreadManager thread safe. Fixes 1584525. Thanks to Karel Kolman. | mguillem |
| JavaScript: perform correct setup of context for asynchronous execution of XMLHttpRequest. Fixes 1619727. Thanks to Deryk Sinotte. | mguillem |
| JavaScript: don't wrap JavaScript primitive types when returned from a Java method. Fixes 1611097. | mguillem |
| 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 |
| JavaScript: fixed regression introduced in 1.10 on window.eval for local scope. Fixes 1608555. | mguillem |
| JavaScript: provide the event object to onfocus and onblur handlers. | mguillem |
| Moved focus related methods from WebClient to HtmlPage and deprecated them on WebClient. | mguillem |
| Fixed AREA elements can't handle JavaScript hrefs by copying code from anchor element. Fixes 1605997. | dktaylor |
| 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 |
| Fixed document.write problem when <a...> written in 2 times by checking for complete HTML tags before parsing. Fixes 1124613. | dktaylor |
| Fixed document.write() does not keep ending spaces by reducing text of adjacent text nodes as a whole instead of separately. Fixes 1493455. | dktaylor |
| JavaScript: handle comments in event handlers. Fixes 1601754. Thanks to Andre Soereng. | mguillem |
| JavaScript: if window with name 'myOldWin' exists, window.open('', 'myOldWin') should retrieve it rather than opening a new one. Fixes 1592723. | mguillem |
| Fixed asText() for style node. Now returns an empty string. | mguillem |
| JavaScript: fixed select.selectedIndex = -1 should not be irreversible. Fixes 1592726. | mguillem |
| JavaScript: setting option's selected status to false when it is already false shouldn't reset the whole select. Fixes 1592728. | mguillem |
| JavaScript: fixed java.util.ConcurrentModificationException occurring when some onload event is removed during execution of an onload event. Fixes 1596926. | mguillem |
| JavaScript: second argument DOM node's insertBefore is now optional when simulating Internet Explorer. Fixes 1409087. | mguillem |
| Added support for comments: <!-- some comment -->. Patch from Karel Kolman. Fixes 1591212. Thanks to Karel Kolman. | mguillem |
| JavaScript: added XMLHttpRequest.overrideMimeType. Fixes 1204628. | mguillem |
| JavaScript: fixed bug preventing to set non String style properties. Fixes 1592299. | mguillem |
| JavaScript: allow to add options to a select with an index as second argument when simulating Internet Explorer. Fixes 1570478. | mguillem |
| Ignore invalid URLs specified in <base href="..."/>. Fixes 1579511. | mguillem |
| Type | Changes | By |
|---|---|---|
| Fixed asText() for script node. Now returns an empty string. Fixes 1587246. | mguillem |
| Removed ":" in project id to avoid problems on Windows with plugins like idea. Fixes 1575783. | mguillem |
| Upgraded jaxen to 1.1-beta-11 (even if it's a "beta", this is the version recommended by jaxen developers). | mguillem |
| Added Maven compliant scopes in project.xml. Fixes 1559903. | mguillem |
| JavaScript: added minimal support for navigator.mimeTypes (Firefox). | mguillem |
| Fixed select's faked selections are ignored, if select is empty. Fixes 1570484. | mguillem |
| Fixed asText() for hidden input. Now returns an empty string. Fixes 1570567. | mguillem |
| JavaScript: only style's built in properties are of type String (with empty string as default value) | mguillem |
| Use MultiThreadedHttpConnectionManager (avoids problems with requests started asynchronously from JavaScript). Fixes 1472606. | mguillem |
| JavaScript: property "all" now available on all html element (Internet explorer). Fixes 1570597. | mguillem |
| Fixed incorrect handling of web connections (missing call to releaseConnection()). | mguillem |
| JavaScript: item(xx) method now works correctly on node list. | mguillem |
| JavaScript: improved support for addEventListener on DOM nodes (Mozilla) and added support for attachEvent (Internet explorer). Thanks to Daniel Gredler. | mguillem |
| JavaScript: build XMLHttpRequest for all ActiveX names starting with "Msxml2.XMLHTTP". | mguillem |
| JavaScript: fixed bug in table.insertRow with empty tbody. Fixes 1562461. | mguillem |
| 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 |
| JavaScript: allow script to set a "javascript:..." location. Fixes 1345136. | mguillem |
| JavaScript: use of HTMLElement.innerHTML should not cause registration of a WebWindow. Fixes 1495132. | mguillem |
| JavaScript: window.eval now evaluates in the right window scope. | mguillem |
| JavaScript: added basic support for addEventListener on DOM nodes (Mozilla). | mguillem |
| JavaScript: added support for window.createPopup (Internet Explorer). | mguillem |
| Added FrameWindow.getFrameElement and support for Javascript's frameElement property on windows. | mguillem |
| Parser: automatically add an <head> element if none present in html source (as done by Internet Explorer and Firefox). | mguillem |
| JavaScript: Location.replace wrongly loaded new URL in top window. Fixes 1491743. | mguillem |
| XPath: fixed wrong behavior with following axis. Fixes 1527799. | mguillem |
| JavaScript: fixed double execution of external JavaScript files occurring when text contained between <script src=...> and </script>. Fixes 1552746. | mguillem |
| JavaScript: allow to specify a maximal script execution time. Fixes 1525269. Thanks to Andre Soereng. | mguillem |
| INCOMPATIBLE CHANGE: OK button is now simulated for JavaScript confirm calls when no ConfirmHandler is installed (it was was the Cancel button previously). | mguillem |
| Removed Jelly support. | mguillem |
| Updated doc to reflect migration from CVS to SVN. Fixes 1545598. | mguillem |
| Do not submit reset buttons in forms. | bradclarke |
| Transparently decompress server response if gzipped for transfer. Fixes 1244810. Thanks to Daniel Gredler. | mguillem |
| JavaScript: fixed default String conversion of objects (like table, table row, table cell, collection). Fixes 1538136. | mguillem |
| JavaScript: XMLHttpRequest.responseXml NodeList elements now accessible by index. Fixes 1415496. | mguillem |
| JavaScript: take expiration date into account when creating cookies. Fixes 1525234. Thanks to Andre Soereng. | mguillem |
| JavaScript: cells collection for rows now takes th into account. Fixes 1528024. | mguillem |
| JavaScript: table/tbody.deleteRow(-1) will now delete the last row | bradclarke |
| Type | Changes | By |
|---|---|---|
| Upgraded commons-collections to version 3.2 | bradclarke |
| Upgraded commons-logging to version 1.1 | bradclarke |
| Upgraded commons-io to version 1.2 | bradclarke |
| JavaScript: added support IE style of events (window.event). Fixes 1439904. | mguillem |
| Added possibility to configure NTLM credentials for the DefaultCredentialsProvider. Fixes 1472307. | mguillem |
| Added facility method WebClient.getPage(String). | mguillem |
| Upgraded jaxen to 1.1-beta-9 (even if it's a "beta", this is the version recommended by jaxen developers). | mguillem |
| JavaScript: set form as parent scope for form fields (allows handlers to call directly form methods like submit()). | mguillem |
| XmlPage: parse xml pages namespace aware. | mguillem |
| 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 |
| Use Byte Order Mark to recognize UTF-8 content when no charset header is provided. | mguillem |
| JavaScript: added addEventListener/attachEvent, removeEventListener/detachEvent to Window, allowing to register load events on a window. | mguillem |
| Upgraded commons-httpclient to version 3.0.1. | mguillem |
| JavaScript: added support for properties defaultView (Mozilla) and parentWindow (IE) on Document. | mguillem |
| JavaScript: added support for property ownerDocument on HtmlElements. | mguillem |
| DomText.asText() now cleans up and multiple blanks as other DomNodes do. | mguillem |
| Added facility methods HtmlOption.getEnclosingSelect() and HtmlLabel.getReferencedElement(). | mguillem |
| Fixed HtmlTable.getCellAt when table contains a rowspan. Fixes 1455390. Thanks to Julien Henry. | mguillem |
| Proxy settings now respected to load external JavaScript files. Fixes 1460444. | mguillem |
| HtmlCheckBoxInput.setChecked() now fires the JavaScript onchange event. | bradclarke |
| Implemented window.setTimeout(function, int) and window.setInterval(function, int) | bradclarke |
| HtmlOption.asText() now respects the label attribute as browsers do. | bradclarke |
| Encode path part of URLs containing illegal characters. Fixes 1437068. | mguillem |
| Added support for firing onkeydown events. Fixes 1436102. Thanks to Brad Murray. | mguillem |
| HtmlElement.getAttributeEntriesIterator now returns the attributes in the order in which they appear in the html source code. Fixes 1419050. | mguillem |
| HttpWebConnection now allows extensions to simply override HttpClient creation. Fixes 1438216. | mguillem |
| Use configured proxy when performing a request after a redirection. Fixes 1439464. | mguillem |
| Allow <button...>s located outside of a form to be clicked and their onclick handler to be called. | mguillem |
| Type | Changes | By |
|---|---|---|
| Cookies can now be shared between HTTP and HTTPS. Fixes 1280422. | mguillem |
| HttpWebConnection now uses a single instance of HttpClient (as it can now handle multiple connections). | mguillem |
| Throw ScriptException (unless WebClient.isThrowExceptionOnScriptError() is false) when the source of an external script can't be loaded. | mguillem |
| Deprecated ScriptException.getEnclosedException. Use getCause instead. | mguillem |
| Added URL of the failed request in message of FailingHttpStatusCodeException. | mguillem |
| Fixed a bug that could cause a ConcurrentModificationException when navigating away from a page with JavaScript running in the background. | bradclarke |
| DefaultPageCreator now builds an XmlPage and not a TextPage for responses with content type "text/vnd.wap.wml". | mguillem |
| JavaScript: fixed parent scope wrongly set on Style object. | mguillem |
| FailingHttpStatusCodeException now contains the failing WebResponse. | mguillem |
| Modified XmlHttpRequest to use new thread management API for async requests. | bradclarke |
| 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 |
| Fixed bad handling of comma in Location header of redirections (30x) Fixes 1105226. | mguillem |
| 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 |
| JavaScript: added support for properties target and srcElement on events. Fixes 1281651. Thanks to Stefan Anzinger. | mguillem |
| Upgraded commons-httpclient to version 3.0. | mguillem |
| Fixed NPE thrown when JS error occurs on click when ThrowExceptionOnScriptError is false. Fixes 1385864. Thanks to Paul King. | mguillem |
| Added HtmlAnchor.openLinkInNewWindow() | bradclarke |
| JavaScript: changes on form's action attribute in onSubmit were ignored. Fixes 1382013. | mguillem |
| Allow external scripts to be loaded using file protocol. Fixes 1381734. | mguillem |
| JavaScript: added support for property cellIndex on td and th eleements. Fixes 1369052. Thanks to Mark van Leeuwen. | mguillem |
| BaseFrame.FrameWindow has been deprecated and replaced with a top level FrameWindow class. | bradclarke |
| JavaScript: fixed exception occurring when addBehavior is called twice for the same behavior. | mguillem |
| JavaScript: Implement add() method for OptionsArray to avoid TypeError. Fixes 1378925. Thanks to Bruce Faulkner. | mguillem |
| JavaScript: added the full URL of the file containing the script being executed in the exception message when a script error occurs. | mguillem |
| JavaScript: made Location properties writable. Fixes 1238429. Thanks to Daniel Gredler. | mguillem |
| Added possibility to bypass configured proxy for some hosts. Fixes 1224239. Thanks to Daniel Gredler. | mguillem |
| Fixed support for NTLM proxy. Fixes 1224239. Thanks to Vikram Shitole and Daniel Gredler. | mguillem |
| JavaScript: setting options' length to a value greater than current. size fills option array with empty options. Fixes 1370484. | mguillem |
| 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 |
| Upgraded commons-io to 1.1. | mguillem |
| Form's name now writable (both in DOM and in Javascript). Fixes 1370468. | mguillem |
| Javascript: getElementsByTagName now returns an ElementArray (instead of a NativeArray) for html elements allowing expressions like "myForm.getElementsByTagName('input')['one']". Fixes 1369514. | mguillem |
| JavaScript: when simulating IE, options collection delegates to select when the requested property/method doesn't exist. Fixes 1111597. Thanks to Daniel Gredler. | mguillem |
| Consider inputs with invalid type as text inputs. | mguillem |
| JavaScript: responses to XMLHttpRequest don't disturb window contents anymore. Fixes 1357412. | mguillem |
| All code deprecated prior to 1.6 has been removed | bradclarke |
| JavaScript: added implementation of IE behavior "#default#download". Fixes 1343212. Thanks to Stefan Anzinger. | mguillem |
| 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 |
| HtmlOption.click() now returns correctly the page loaded by an onchange event. Fixes 1334150. | mguillem |
| 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 |
| Upgraded jaxen to 1.1-beta-8 (even if it's a "beta", this is the version recommended by jaxen developers). | mguillem |
| JavaScript: added support for property contentWindow on (i)frames. | mguillem |
| 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 |
| 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 |
| 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 |
| JavaScript: XMLHttpRequest.send now accepts null as parameter and fails when simulating Mozilla if called with no parameter like the browser does. | mguillem |
| Upgraded commons-httpclient to version 3.0rc4. | mguillem |
| Javascript: allow to set current node's property within onclick event handler. Fixes 1260369. | mguillem |
| Javascript: XMLHttpRequest now accepts non xml responses. Fixes 1209682. | mguillem |
| Javascript: allow to change selected attribute of options created with document.createElement('option') and not yet added to a select. Fixes 1323425. | mguillem |
| 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 |
| JavaScript: added support for document.frames (specific to IE). | mguillem |
| JavaScript: when simulating IE, second parameter in Select.add can be omitted. Fixes 1304741. | mguillem |
| JavaScript: in a frameset, document.body returns the frameset node. | mguillem |
| JavaScript: added dummy implementation of the properties scrollHeight, scrollLeft, scrollTop and scrollWidth for html elements. | mguillem |
| JavaScript: added document.anchors. Fixes 1280127. | mguillem |
| JavaScript: XMLHttpRequest now accepts relative urls. Fixes 1209692. | mguillem |
| JavaScript: allow creation of XMLHttpRequest as new ActiveXObject('Microsoft.XMLHTTP') when simulating Internet Explorer. | mguillem |
| JavaScript: default conversion of host objects to string is now "[object Xxxx]" like what Mozilla does | mguillem |
| DomNode.asXml() now produces correct xml encoding special characters. Fixes 1289462. Thanks to Lothar M�rkle. | mguillem |
| JavaScript: implemented property offsetParent. Fixes 1267106. Thanks to Bruce Faulkner. | mguillem |
| Type | Changes | By |
|---|---|---|
| JavaScript: img nodes can be accessed by id or name within a form. Fixes 1153775. | mguillem |
| 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 |
| 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 |
| JavaScript: fixed problem occurring while reading properties of nodes retrieved with childNodes(). Fixes 1264271. Thanks to Bruce Faulkner. | mguillem |
| 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 |
| When posting a form, use encoding from accept-charset attribute if any else from page to encode the posted parameters. Fixes 1119937. | mguillem |
| Fixed infinite loop when DefaultCredentialsProvider provides invalid credential. Ensure that the web connection uses the CredentialProvider configured for the WebClient. | mguillem |
| Handle port correctly when handling a redirection to an other port on the same host. Fixes 1195099. | mguillem |
| JavaScript: fixed properties text, value and selected for Option objects created from JavaScript and not yet added to a select. Fixes 1151593. | mguillem |
| Added WebResponse.getRequestMethod(). ImmediateRefreshHandler now accepts a refresh to the same URL if the first request was a POST. Fixes 1211980. | mguillem |
| JavaScript: added support for window.closed. | mguillem |
| 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 |
| 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 |
| JavaScript: fixed behavior of table.insertRow and table.rows.length for tables containing nested tables. Fixes 1244839. | mguillem |
| Improved the way getHtmlElementById handle pages containing multiple elements with the same id. Fixes 1244959. | mguillem |
| JavaScript: made input.setAttribute("type", xxx) behave the same than input.type = xxxx. Fixes 1244923. | mguillem |
| JavaScript: fixed double execution of script inside <table>. Fixes 1210751. | mguillem |
| Set state of radio button before executing onclick handler. Fixes 1241739. Thanks to Bruce Faulkner. | mguillem |
| Upgraded nekohtml to version 0.9.5 | mguillem |
| Load responses which content type matches regular expression "application/.*\+xml" as XmlPage (rather than UnexpectedPage). | mguillem |
| Children of removed nodes were erroneously still available by id using HtmlPage.getElementById. Fixes 1233519. | mguillem |
| Upgraded commons-jelly to version 1.0 | bradclarke |
| Upgraded commons-httpclient to version 3.0rc3 | bradclarke |
| Added method for setting HttpClient's virtual host Fixes 1195509. Thanks to dlevine004. | bradclarke |
| 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 |
| Don't perform server request when a link is clicked if href is just an anchor (like "#"). Fixes 1220522. | mguillem |
| JavaScript: resolve relative locations from the originating page. Fixes 1101525. | mguillem |
| JavaScript: use the Window as the top scope in Rhino JavaScript engine. Fixes 1213455. Thanks to Daniel Gredler. | mguillem |
| JavaScript: Fixed bug with onchange handler being fired for all input type="file" on creation. | bradclarke |
| JavaScript: handle position in insertAjacentHTML as case insensitive as IE does. Fixes 1210742. | mguillem |
| HtmlOption.click() now selects the option. Fixes 1216267. | mguillem |
| Handle content types in a case insensitive way (as of RFC 2045). Fixes 1215621. | mguillem |
| Implemented form reset, defaultValue and defaultChecked. Fixes 1209947. Thanks to Daniel Gredler. | mguillem |
| JavaScript: Added window.print() as unimplemented method. | bradclarke |
| 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 |
| In a script tag <script type="...">, the value of the type attribute is case insensitive. Thanks to Ray Suliteanu. | mguillem |
| Send headers added with WebClient.addRequestHeader to the server again (bug introduced in release 1.6). | mguillem |
| 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 |
| A click on a <label ...> is now propagated to the referenced element. | mguillem |
| Type | Changes | By |
|---|---|---|
| Added XMLHttpRequest support. Patch submitted by Daniel Gredler. Fixes 1194006. Thanks to Daniel Gredler. | bradclarke |
| Deprecated and renamed getAll<Something>s methods to get<Something>s to make them easier to find. Fixes 1080774. Thanks to Daniel Gredler. | bradclarke |
| 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 |
| Javascript: fixed exception occurring while changing type of input created via document.createElement(). Fixes 1183971. Thanks to Bruce Faulkner. | mguillem |
| Upgraded commons-httpclient to version 3.0rc2 | bradclarke |
| Javascript: insertRow now accepts the number of rows as parameter value. Fixes 1188143. Thanks to Bruce Faulkner. | mguillem |
| Javascript: the onchange event handler of a radio button is now invoked when its state is changed. Fixes 1183019. Thanks to Chris Eldredge. | mguillem |
| Javascript: implemented property contentDocument for frames and iframes on Mozilla. | mguillem |
| Javascript: fixed error occurring in NodeImpl insertBefore() with null reference child object. Fixes 1180352. Thanks to George Murnock. | mguillem |
| Now load the mapping of html classes to their respective JS classes from the configuration file. | cerskine |
| Javascript: when simulating IE, window.open("") handles empty string as "about:blank". Fixes 1179134. | mguillem |
| 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 |
| INCOMPATIBLE CHANGE: replaced WebClient.setValidateHtml(boolean) with WebClient.setHTMLParserListener(HTMLParserListener) allowing to programmatically catch parser messages. | mguillem |
| Javascript: fixed infinite loop caused by onblur. Fixes 1161705. | mguillem |
| 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 |
| Javascript: added navigator.language for Mozilla. | mguillem |
| Javascript: added dummy implementation of Mozilla's window properties innerHeight, innerWidth, outerHeight, outerWidth. | mguillem |
| Added to the JavaScript configuration page a column showing if a function is not implemented. | cerskine |
| Reworked the JavaScript configuration. Configuration file is now used and supports the browser constraints on the properties and functions. | cerskine |
| Javascript: navigator properties now depend from used BrowserVersion. | mguillem |
| Javascript: added dummy implementation for read only properties offsetHeight, offsetLeft, offsetTop and offsetWidth. | mguillem |
| Javascript: added support for multiple arguments for document.write and document.writeln. Fixes 1150208. | mguillem |
| Added WebResponse.getResponseHeaders(). Fixes 1150208. Thanks to Daniel Gredler. | mguillem |
| Fixed NPE in loadWebResponse for responses with status code 204 (No Content). Fixes 1166652. Thanks to Alfred Nathaniel. | mguillem |
| Javascript: form's onsubmit property is now a function and can be assigned. Fixes 1166781. Thanks to Kent Tong. | mguillem |
| Javascript: added support for new Image() and changing src attribute. Fixes 1153758. Thanks to George Murnock. | mguillem |
| Type | Changes | By |
|---|---|---|
| Determine content-type of uploaded files. Fixes 976077. | mguillem |
| Javascript: implemented method removeAttribute for DOM nodes. Fixes 1153758. Thanks to George Murnock. | mguillem |
| Javascript: Added support for document.scripts | bradclarke |
| Javascript: fixed getAttribute() to return null if the requested attribute is not defined. Fixes 1157936. | mguillem |
| Javascript: implemented property childNodes. Fixes 1153693. Thanks to George Murnock. | mguillem |
| Fixed bug where document.write-ing a frame was causing an attempt to load an invalid URL starting with http://first | bradclarke |
| Fixed node reference problem occurring when the text of a textarea is changed. Fixes 1155063. | mguillem |
| Javascript: document.links doesn't return tags with empty href anymore. Fixes 1153710. Thanks to George Murnock. | mguillem |
| 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 |
| Javascript: the type property of input elements can now be changed. | mguillem |
| Fixed bug occurring when submitting from JavaScript a form with a JavaScript action. Fixes 1145773. Thanks to George Murnock. | mguillem |
| 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 |
| JavaScript: Implemented location.reload(). Fixes 1145916. Thanks to Daniel Gredler. | bradclarke |
| Fixed bug with meta refresh that only contained a number. Fixes 1143982. Thanks to Daniel Gredler. | bradclarke |
| 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 |
| 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 |
| JavaScript: Pick up behaviors defined in style attribute when simulating IE. Fixes 1110768. Thanks to Daniel Gredler. | mguillem |
| JavaScript: expressions like myForm.myField now look for form fields with "myField" as id or name. Fixes 1118222. | mguillem |
| Clicked image button without name sends parameter x and y. Fixes 1118877. | mguillem |
| Submit form elements in the same order that they appear in the HTML form. Fixes 1093017. Thanks to David D. Kilzer. | mguillem |
| Upgraded commons-httpclient to version 3.0rc1 | bradclarke |
| JavaScript: fixed document.domain setter for domains like d1.d2.d3.d4.com. Fixes 1115259. Thanks to Michael Ottati. | mguillem |
| JavaScript: fixed document.myForm.myField should not retrieve the field if it is an input of type image. Fixes 1115091. | mguillem |
| JavaScript: added empty implementation of type setter for input fields (already allowing some scripts to run). | mguillem |
| Added HtmlElement.getEnclosingElement(String tagName). | mguillem |
| JavaScript: added properties rowIndex and cells and function insertCell for table rows. | mguillem |
| JavaScript: fixed insertRow when asked to insert at the end of the rows collection (was inserted one position before). | mguillem |
| Guess content type for file content and file name when loading a file URL. Fixes 1113487. | mguillem |
| Parse responses of type "application/xml" as XmlPage. | mguillem |
| Fixed wrong URLs expansion with "#". Fixes 1101525. Thanks to Hans Donner. | mguillem |
| JavaScript: improved window.execScript to execute JavaScript code. Fixes 1106319. Thanks to Daniel Gredler. | mguillem |
| Use commons-codec's Base64. Marked custom Base64 as deprecated. Fixes 1109224. Thanks to Hans Donner. | mguillem |
| Fixed NullPointerException thrown in JavaScript by createElement('input') Fixes 1002140. Thanks to Daniel Gredler. | mguillem |
| Javascript: implemented innerText for html elements (read/write). Fixes 1107432. Thanks to Hans Donner. | mguillem |
| Fixed ClassCastException occurring when unloading a frameset that contained a frame which content wasn't html. | mguillem |
| Implemented WebRequestSettings parameter object. Created new WebClient.getPage() methods and deprecated old ones. | bradclarke |
| Stopped httpclient from automatically retrying failed connections 5 times. | bradclarke |
| A failure when setting a location from JavaScript now throws an exception | bradclarke |
| Added support for misc table methods in JavaScript Fixes 1104522. Thanks to Daniel Gredler. | bradclarke |
| JavaScript: added dummy implementation of window.setInterval and window.clearInterval doing nothing. | mguillem |
| synchronized JavaScript execution for multi-threaded testing Fixes 976471. Thanks to David D. Kilzer. | bradclarke |
| parse application/xhtml+xml content type into HtmlPage Fixes 1088709. | bradclarke |
| JavaScript: use js object Input for <input type="image" .../> and <input type="button" .../> Fixes 1104028. | mguillem |
| JavaScript: default conversion to string of an anchor returns the fully qualified URL specified by the href. | mguillem |
| JavaScript: the DOM node of a <frame> or <frame> is now visible to the contained page while loading. | mguillem |
| JavaScript: when simulating IE, a variable named after the id of a DOM node represents this DOM node. Fixes 1084226. | mguillem |
| Made window.name writable. Fixes 1099235. Thanks to David D. Kilzer. | mguillem |
| 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 |
| JavaScript: Fixed bug in window.frames[i] (was introduced in 1.4). | mguillem |
| JavaScript: Fixed bug with frames.length not working. | cerskine |
| JavaScript: Implement writable document.location. Fixes 1100321. Thanks to Daniel Gredler. | mguillem |
| JavaScript: added window.status and removed erroneous document.status. Fixes 1100089. | mguillem |
| Fixed window.frames['frameName'] causes ClassCastException. Fixes 1099644. Thanks to Chris Eldredge. | mguillem |
| JavaScript: document.getElementById("") now returns null. | mguillem |
| Type | Changes | By |
|---|---|---|
| Fixed platform specific encoding problem in test WebClientTest.testLoadPage_EncodeQueryString() Fixes 1098981. Thanks to David D. Kilzer. | mbowler |
| JavaScript: added window.clearTimeout. Fixes 1090094. Thanks to Daniel Gredler. | mguillem |
| JavaScript: dynamically compiled function runs in the scope of their creation. Fixes 949691. | mguillem |
| JavaScript: fixed problem occurring for <script for="window" event="onload()"> with event value ending with "()". | mguillem |
| JavaScript: added document.domain. | mguillem |
| JavaScript: added implementation of IE behavior "#default#clientCaps". Fixes 1096789. Thanks to Daniel Gredler. | mguillem |
| JavaScript: added support to get/set the onload property as a function for window and for frames. | mguillem |
| 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 |
| Added HtmlPage.getFrameByName | mguillem |
| asText() now returns "checked" or "unchecked" for HtmlRadioButtonInput and HtmlCheckBoxInput Fixes 1083336. Thanks to Mike Bresnahan. | mguillem |
| JavaScript: added dummy implementation of window.execScript doing nothing. | mguillem |
| JavaScript: added attribute support. Fixes 1096133. Thanks to Daniel Gredler. | mguillem |
| Added WebClient.setThrowExceptionOnScriptError(boolean) and isThrowExceptionOnScriptError() to allow script errors to stop only execution of current script as browsers do. | mguillem |
| JavaScript: document.write(ln) writes directly in DOM which allows access to DOM nodes in the same script code. | mguillem |
| Added WebClient.setTimeout(int) and WebClient.getTimeout() | bradclarke |
| JavaScript: all elements can now be accessed by name with syntax document.foo (like what was already working for forms). | mguillem |
| JavaScript: setting the value attribute of a select object now selects the corresponding option. | mguillem |
| document.images is now a "live" collection. | mguillem |
| 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 |
| 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 |
| Added JS support for outerHTML. | mguillem |
| Upgraded commons-httpclient to version 3.0beta1 | mguillem |
| Added dependency to commons-codec 1.3 | mguillem |
| Possibly incompatible change: Removed fix trying to mimic browser kludge for non-RFC2019-compliant cookies as it causes new problems. Fixes 1058846. | mguillem |
| 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 |
| Added support for setting cookies from JS (like document.cookie = "foo=something"). | mguillem |
| Added dependency to commons-lang | mguillem |
| Trying to set a JS property configured with writable="false" now generates a JS runtime error. | mguillem |
| Added conversion to string and method toString on event handler functions. | mguillem |
| Added support for JS document.links. | mguillem |
| IFrames can now be seen in JS as an html element too. Expressions like window.myIFrame.style.display now work. Fixes 1067396. | mguillem |
| 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 |
| Collections like document.all or form.elements now use xpath expressions and are "live" (thanks to Daniel Gredler for the idea). | mguillem |
| Added the possibility to evaluate xpath expressions relatively to a particular node of a the html document. | mguillem |
| Added node.children. | mguillem |
| Fixed bug for JS wrapped in HTML comments on one line. Fixes 1088655. Thanks to Daniel Gredler. | mguillem |
| Allow to set commons-httpclient cookie policy using system property. | mguillem |
| Added support for insertAdjacentHTML. | mguillem |
| Fixed DomNode.replace() fails to set previousSibling on newNode and other problems when changing DomNode. Fixes 930846. | mguillem |
| Allow onclick event handler to be set by JavaScript. Fixes 1080365. Thanks to Chris Eldredge. | mguillem |
| Added logic to WebClient to allow messages from parsing the HTML to be displayed on the on the console. | cerskine |
| Fixed bug changing "//" to "/" in query parameters of URLs called from a page. Fixes 1085612. Thanks to Sergey Gorelkin. | mguillem |
| When simulating IE, nodes can now be accessed directly by their name (ex: window.form1). | mguillem |
| Improved ElementArray: fix for empty collection and addition of method namedItem(). Fixes 1085878. Thanks to Daniel Gredler. | mguillem |
| Fixed bug with setTimeout: a timeout is now only executed if the page that placed it is always "alive". | mguillem |
| Fixed html element property access in JS: attributes are case sensitive. Fixes 1085378. | mguillem |
| Improved JS innerHTML to allow complex html code to be set. | mguillem |
| 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 |
| Upgraded rhino js to 1.6R1. Fixes 1082098. | mguillem |
| Fixed NullPointerException tossed by HtmlSelect.asText() if no option is selected. Fixes 1083330. Thanks to Mike Bresnahan. | mguillem |
| Improved Refresh meta tag support: Take care of enclosing <noscript> tags and correctly interpret quoted urls. | mguillem |
| Implemented IE specific behavior related methods as well as default behavior "#default#homePage". Fixes 1081544. Thanks to Daniel Gredler. | mguillem |
| Implemented screen methods. Fixes 1081544. Thanks to Daniel Gredler. | mguillem |
| Added missing (for IE) methods/properties of window.navigator. Fixes 1082509. Thanks to Daniel Gredler. | mguillem |
| Added support for window.location.replace(...). | mguillem |
| Fixed problem with pages where body's onload contains a return statement. Fixes 1082259. Thanks to Daniel Gredler. | mguillem |
| 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 |
| 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 |
| Added support for methods moveBy, scroll, scrollBy, scrollByLines, scrollByPages and scrollTo for JS window object. Fixes 1075526. Thanks to Daniel Gredler. | mguillem |
| Fixed bug where encoded "&", "=", "+", ",", and "$" in URLs would be decoded before sending to the server. | bradclarke |
| getTypeAttribute now returns "text" for input without specified type attribute as it is the default value. | mguillem |
| Added support for item function in JavaScript like "document.all(...).item(...). Fixes 1081554. | mguillem |
| 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 |
| Upgraded nekohtml to version 0.9.4 | bradclarke |
| 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 |
| 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 |
| Fixed bug for JS location.protocol (was missing a ":", e.g. "http:" and not "http"). Fixes 1075690. Thanks to Michael Ottati. | mguillem |
| Added support for getting and setting option.selected in JavaScript. Fixes 1072996. | mguillem |
| Fixed bug where a NullPointerException is thrown when leaving a page containing an iframe without src attribute. | mguillem |
| Added support for window.resizeTo. Fixes 1068672. Thanks to Dierk Koenig. | mguillem |
| 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 |
| Upgraded commons-httpclient to version 2.0.2 | mbowler |
| Added support for function syntax on document.all(). Fixes 1067471. Thanks to Marc Guillemot. | mbowler |
| Added support for InnerHTML(). Fixes 1065797. Thanks to Chris Erskine. | mbowler |
| Added support for enabling the errors from NekoHtml by setting a value on the WebClient. Fixes 1065797. Thanks to Chris Erskine. | mbowler |
| 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 |
| Type | Changes | By |
|---|---|---|
| Upgraded commons-jelly to version 1.0-beta-4 | mbowler |
| Upgraded commons-jelly-tags-log to version 1.0 | mbowler |
| Upgraded commons-jelly-tags-xml to version 1.0 | mbowler |
| Upgraded commons-jelly-tags-junit to version 1.0 | mbowler |
| Upgraded commons-jexl to version 1.0 | mbowler |
| Upgraded commons-cli to version 1.0 | mbowler |
| Upgraded dom4j to version 1.5 | mbowler |
| 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 |
| Upgraded commons-collections to version 3.1 | mbowler |
| Upgraded commons-beanutil to version 1.7.0 | mbowler |
| Upgraded commons-httpclient to version 2.0.1 | mbowler |
| Upgraded xercesImpl to version 2.6.2 | mbowler |
| Upgraded nekohtml to version 0.9.1 | mbowler |
| Upgraded commons-logging to version 1.0.4 | mbowler |
| Upgraded gsbase to version 2.0.1 | mbowler |
| Updated server names for cvs access. Fixes 1033055. Thanks to Chris Erskine. | mbowler |
| Added support for the JavaScript document.images and also for getting and setting the page title. Fixes 1032913. Thanks to Chris Erskine. | mbowler |
| Patch for JS frames.length. Fixes 1006472. Thanks to Marc Guillemot. | mbowler |
| Fixed inconsistencies in the handling of isDisabled. Fixes 975675. Thanks to David D. Kilzer, Mike Bresnahan. | mbowler |
| Initial support for Active X objects. Fixes 940981. Thanks to Ben Curren. | mbowler |
| 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 |
| Fixed bug where calling document.body from JavaScript before the body tag had been parsed was causing an exception. | mbowler |
| Added support for JavaScript table.rows. Fixes 930069. Thanks to David D. Kilzer. | mbowler |
| The common browsers always return uppercase values for the JavaScript nodeName property. Now HtmlUnit does as well. Fixes 930531. | mbowler |
| 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 |
| Added support for onchange handlers in textareas Fixes 1045243. Thanks to Marc Guillemot. | mbowler |
| Stubbed out window.moveTo(x,y) Fixes 1049797. Thanks to Marc Guillemot. | mbowler |
| Added dependency to commons-io Fixes 1053811. Thanks to Marc Guillemot. | mbowler |
| 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 |
| Fixes for buggy link management in DomNode.basicRemove() Fixes 1051885. Thanks to Mike Williams. | mbowler |
| Fix for bug where HttpWebConnection.getStateForUrl() fails with localhost URL Fixes 1028314. Thanks to David D. Kilzer. | mbowler |
| Added IE specific behaviour for getElementById() Fixes 1056744. Thanks to Chris Erskine. | mbowler |
| Made WebTestCase abstract Fixes 1056376. Thanks to David D. Kilzer. | mbowler |
| Changed HtmlElement.getOneHtmlElement() to match the documented behaviour in the case where multiple matches were found. Fixes 1044768. | mbowler |
| Added getElementsByTagName(), getClassName() and setClassName() to HTMLElement Fixes 1058238. Thanks to Chris Erskine. | mbowler |
| getAttribute() and setAttribute() missing on HTMLElement. Fixes 930546. Thanks to David D. Kilzer. | mbowler |
| Mimic browser kludge for non-RFC2019-compliant cookies. Fixes 1058846. Thanks to David D. Kilzer. | mbowler |
| 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 |
| Fixed bug where a colon in a relative URL causes MalformedURLException in WebClient.expandUrl() Fixes 1009817. | mbowler |
| 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 |
| 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 |
| 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 |
| If form.submit() is called from JavaScript then the forms onsubmit handler should not get executed. Fixes 1008707. | mbowler |
| Fixed OutOfMemoryError when submitting a form many times from the same HtmlPage Fixes 1061234. Thanks to David D. Kilzer. | mbowler |
| Clean up memory use in HttpWebConnection.makeWebResponse(). Fixes 1062388. Thanks to David D. Kilzer. | mbowler |
| Type | Changes | By |
|---|---|---|
| Added support for setting input.name in JavaScript | bradclarke |
| Added support for JavaScript document.body | bradclarke |
| Changed HtmlSelect.getSelectedOptions() to not auto-select the first option if the list size > 1. Fixes 972822. Thanks to Mike Bresnahan. | bradclarke |
| Refactored HtmlFileInput submission to include the filename even when there is no file submitted. Fixes 974966. Thanks to David D. Kilzer. | bradclarke |
| Added support for JavaScript Window.close() Fixes 956964. Thanks to David D. Kilzer. | bradclarke |
| 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 |
| Added support for JavaScript Element.setAttribute() | bradclarke |
| Added support for JavaScript Node.hasChildNodes() | bradclarke |
| Fix for Bug 916316 - this.form inside onclick should work now | bradclarke |
| Implemented JavaScript document.getElementsByName() | bradclarke |
| Added support for setting select.selectedIndex from JavaScript | bradclarke |
| Changed HtmlSelect.fakeSelectedAttribute() to use an empty string as no value at all (nothing submitted) | bradclarke |
| Fixed bug where a select option with no value attribute was not submitted with it's contents | bradclarke |
| DefaultPageCreator can now be easily extended to add custom content type handling without affecting the default handlers. | bradclarke |
| 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 |
| Deprecated HtmlPage(WebClient, URL, WebResponse, webWindow) in favor of HtmlPage(URL, WebResponse, webWindow) | bradclarke |
| Deprecated HTMLParser() as you should never need an instance | bradclarke |
| Deprecated HTMLParser.parse(WebClient, WebRespose, WebWindow) in favor of static HTMLParser.parse(WebRespose, WebWindow). | bradclarke |
| Updated HtmlRadioButtonInput.click() to select the clicked radio button | bradclarke |
| 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 |
| 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 |
| Added HtmlOption.getValue() that returns the value of the option as it should be submitted | bradclarke |
| 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 control | bradclarke |
| Fixed bug where submitting a form containing a select that had no options caused a NullPointerException. | bradclarke |
| 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 HtmlPage.getDocumentElement() and Document.documentElement in JavaScript. | dktaylor |
| Improved speed of getElementById(). | dktaylor |
| Change the node type and node name for HtmlPage and Document in JavaScript. | dktaylor |
| Nested input elements, i.e. those that were not immediate children of the enclosing form, were not handled. Thanks to Christian Sell. | mbowler |
| 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 |
| Deprecated MockWebConnection.setContent() in favour of setDefaultResponse() which is more descriptive. Changed all tests to use the new method. | mbowler |
| 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 |
| 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 |
| Fixed bug where forms without names were not being returned by document.forms Fixes 831453. | mbowler |
| Added support for the following attributes on Document.Location: hash, host, hostname, href, pathname, port, protocol and search. Fixes 831456. | mbowler |
| Added support for Anchor.href and Anchor.getAttribute(). Fixes 856885. Thanks to Alexei Goussev. | mbowler |
| Fixed bug where getting the style attribute should return an empty string instead of NOT_FOUND. Fixes 871620. Thanks to Alexei Goussev. | mbowler |
| 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 |
| Added initial support for refresh handlers. They will be invoked from meta tag refreshes and response header refreshes but not currently from JavaScript refreshes | mbowler |
| Added serialVersionUID to all classes that are Serializable but didn't already have one of these. | mbowler |
| Fix for performance problem in JavaScript handling. Fixes 1034897. Thanks to Darrell DeBoer. | mbowler |
| If the server returns an unsupported encoding type then the browsers assume ISO-8859-1. Now HtmlUnit does the same. Fixes 856797. | mbowler |
| Type | Changes | By |
|---|---|---|
| INCOMPATIBLE CHANGE: Added method to interface WebWindowListener for window closing events. | mbowler |
| INCOMPATIBLE CHANGE: There previously were three separate tree models for any given page: 1) the HtmlElement hierarchy 2) The xml DOM model and 3) the JavaScript element model. Now the first two tree models have been merged into one. Thanks to Christian Sell. | mbowler |
| Continued migration of the build process from ant to maven. | mbowler |
| Patch for bug in onload handler submitted by Andreas Hangler Fixes 713646. | mbowler |
| Added support for the about: protocol - patch from Jun Chen Fixes 797144. | mbowler |
| Added support for window frames - patch from Jun Chen Fixes 797144. | mbowler |
| an update of the version number in build.xml and outputting of a src jar for the current build. Patch submitted by Brad Clarke Fixes 803233. Thanks to Brad Clarke. | mbowler |
| Added HtmlFileInput support. Patch submitted by Brad Clarke Fixes 803229. Thanks to Brad Clarke. | mbowler |
| Upgraded junit.jar to 3.8.1 Fixes 803237. Thanks to Brad Clarke. | mbowler |
| Fixed bug where HtmlPage.asText() would blow up if form tags were found between tr and td tags. Clearly this is illegal html but the browsers support it so HtmlUnit needs to as well. Fixes 802285. | mbowler |
| Fixed bug where form elements without names were being submitted anyway. Patch supplied by Brad Clarke Fixes 805332. Thanks to Brad Clarke. | mbowler |
| Fixed bug where disabled elements were being submitted anyway. Patch supplied by Brad Clarke Fixes 808776. Thanks to Brad Clarke. | mbowler |
| Navigator.javaEnabled should be method not property Fixes 800993. | mbowler |
| Added WebClient.getWebWindows() Fixes 799760. | mbowler |
| Fixed bug where radio button and checkbox logic was case sensitive. Patch supplied by Brad Clarke Fixes 812749. Thanks to Brad Clarke. | mbowler |
| Added support for Window.focus(). Patch supplied by Brad Clarke Fixes 814741. Thanks to Brad Clarke. | mbowler |
| Add support for getting HTMLElement.firstChild, lastChild, nextSibling and previousSibling. HTMLElement.firstChild returns the first node below the current node. HTMLElement.lastChild returns the last node below the current node. HTMLElement.nextSibling returns the node after the current node. HTMLElement.previousSibling returns the node before the current node. They each return null if there is no such node or the node type is not supported (not HTML). | dktaylor |
| Add support for HTMLElement.removeChild and insertBefore. HTMLElement.removeChild removes an Element from the HTML document. It returns the removed Element which is no longer part of the HTML document. HTMLElement.insertBefore adds a new child element before another child element. It returns the newly added child element. | dktaylor |
| Add support for HTMLElement.cloneNode and replaceChild and Document.createTextNode to close RFE 805051. To support createTextNode, added support for DOM text nodes and character data nodes including the data and length properties and appendData, deleteData, insertData, replaceData, substringData and splitText functions. Updated DOM API properties and methods of HTMLElement to work with text nodes. Also added support for HTMLElement.nodeType, nodeName and nodeValue properties. Fixes 805051. | dktaylor |
| Added method HtmlArea.click() | mbowler |
| Add support for click() for all element types that have an onClick attribute. This includes image. Removed extra non-standard attributes (onClick, etc.) from BDO element. Fixed support for button tags with type other than submit. Added support for access keys to anchor, area, label, legend, and textarea elements. Fixes 799865. | dktaylor |
| Fixed bug where variables defined in a script could not be referenced as "window.myVariable". This prevented the google ads from working on the HtmlUnit website. | mbowler |
| Stubbed out Window.onerror | mbowler |
| Fixed bug where an option without a value could not be selected. Fixes 799839. | mbowler |
| Fixed bug where Select[index] wasn't returning options. Fixes 799752. | mbowler |
| Fixed bug where button names would get submitted twice. Patch submitted by Brad Clarke. Fixes 824145. Thanks to Brad Clarke. | mbowler |
| Added support for auto-refresh both from a Meta tag and from an HTTP response header. Fixes 772233. | mbowler |
| Added support for the format of <script> defined by DOM Level 2. Patch submitted by Jun Chen Fixes 824842. Thanks to Jun Chen. | mbowler |
| An HtmlTextArea should not contain anything but preformatted text, so doing things such as converting <br> to line breaks and removing extra white space should not happen. Patch supplied by Brad Clarke. Fixes 825003. Thanks to Brad Clarke. | mbowler |
| Fixed exception when trying to reference one frame by name from another in JavaScript. For example "parent.nav.document", where nav is the name of the frame. Fixes 824069. | mbowler |
| Fixed exception when specifying an empty string for src on an a frame. Fixes 793340. | mbowler |
| Fixed the bug where newly opened windows targeted at named frames were not opening in the correct windows. Changed returned page from click() method to work with new targets. That is, instead of just returning changes to the immediate window, it returns any window that is opened. So, if you call click() on an element that has a target set, you will get the page in the window for that target. This is particularly needed for the _blank target where you couldn't find the new window without this change since it is not named. Fixes 753776. | dktaylor |
| Fixed a bug where windows that were overwritten were not cleaned up so they would be returned from getWebWindowByName. | dktaylor |
| Added WebWindow.getTopWindow() and getParentWindow(). | dktaylor |
| Added support for the remaining special target names (_blank, _parent, _top in addition to _self that was already supported). These special target names are supported for a, area and form elements as well as the JavaScript open() function. | dktaylor |
| Added support for DOM API node navigation methods in HtmlElement so they are available within test cases. This includes getParentNode, getNextSibling, getPreviousSibling, getFirstChild, getLastChild, getNodeType, getNodeName, and getNodeValue. | dktaylor |
| Added support for base elements to set a default target using the target attribute. This affects a, area and form elements. | dktaylor |
| Fixed a bug where a base element without an href attribute was causing a MalformedURLException to be thrown. This can be caused when the base element just sets a default target. Similarly check for empty href attribute in a and area elements. (The HTML 4 standard does not allow the action attribute to be optional in form elements.) | dktaylor |
| Changed the behaviour of HtmlCheckBoxInput.click() to be consistent with IE and Mozilla. Patch submitted by Jun Chen. Fixes 824730. Thanks to Jun Chen. | mbowler |
| Fix return type from DomCharacterData.getData to be String. | dktaylor |
| Removed non-standard Element API from Text and CharacterData Node classes by factoring out a DOM Node class in the html and JavaScript implementations. Return type from DOM navigation methods, e.g., getFirstChild(), standardized to be DomNode instead of HtmlElement. | dktaylor |
| Added support for onload handlers on frames. This isn't supported by the HTML specification but is supported by the popular browsers. | mbowler |
| Upgraded commons-httpclient.jar to 2.0-rc2 | mbowler |
| New method WebClient.loadWebResponseInto() which can be used to create pages that were not loaded via HTTP. | mbowler |
| New method StringWebResponse which can be used to easily create a WebResponse based on a string containing html. | mbowler |
| Finished the second variation of document.write(), writing to frames other than the one that is loading. Fixes 614045. | mbowler |
| New method TopLevelWindow.close() Fixes 799757. | mbowler |
| Added "type" attribute to WebWindowEvent to make testing easier | mbowler |
| Refactored test for window opening using the new type attribute. | mbowler |
| Added support for window.status Fixes 650924. | mbowler |
| New method HtmlForm.getInputByValue() to get a single input Fixes 742519. | mbowler |
| New method HtmlForm.getInputsByValue() to get multiple inputs Fixes 742519. | mbowler |
| Raise more specific exception from HtmlForm.getRadioButtonInput if there is no radio button to match the name. | dktaylor |
| Added support for JavaScript editing of select options: add new options, replace options, remove options, shorten options list, set value, and set text. These features also available through HtmlOption. | dktaylor |
| Fixed support for option label attribute so label value is returned as text if label is set. | dktaylor |
| Add support for the id attribute of HTMLElement in JavaScript. This partly fixes bug 757225. | dktaylor |
| Add HtmlElement.getId and setId. | dktaylor |
| Fix Document.getElementById in JavaScript so it returns null when there is no element with the given ID. | dktaylor |
| Added support for jelly wrappers | mbowler |
| Fixed bug with expansion of URLs that contain pound signs. | mbowler |
| Upgraded NekoHTML to 0.8.1 | mbowler |
| Added MockWebConnection in the deployable tree and changed FakeWebConnection (in the test tree) to subclass that. | mbowler |
| Type | Changes | By |
|---|---|---|
| Initial support for Maven | mbowler |
| 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 |
| 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 |
| Refactored some logic out of Form into FormElementsArray for easier maintenance | mbowler |
| Many classes had their own assertNotNull() method. Created an assert class and changed all classes to use Assert.notNull() rather than separate methods. | mbowler |
| Fixed bug in character encoding. Patch supplied by Noboru Sinohara. Fixes 716568. Thanks to Noboru Sinohara. | mbowler |
| Enhanced HtmlElement.asText() to behave more like a browser. Patch supplied by Mike J. Bresnahan. Thanks to Mike J. Bresnahan. | mbowler |
| Updated NekoHTML to 0.7.7 | mbowler |
| 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 |
| Fixed bug where the JavaScript textarea object was not properly getting and setting the 'value'. Fixes 729266. | mbowler |
| Fixed bug where URL expansion wasn't obeying the base element as defined in the html. Fixes 717021. Thanks to XuefengHe. | mbowler |
| Fixed bug where JavaScript form elements were not always being initialized correctly.. Fixes 727718. Thanks to jin kim. | mbowler |
| Fixed typo in two of the samples in the getting started document. Fixes 732952. Thanks to Matt Ho. | mbowler |
| Moved all tests under src/test/java | mbowler |
| 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 |
| 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 |
| Fix for bug 740636 "getElementsByTagName should be case insensitive". Patch submitted by David K. Taylor Fixes 740636. Thanks to David K. Taylor. | mbowler |
| 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 |
| Fix for bug 740665 "Script attributes undefined when script executes". Patch submitted by David K. Taylor Fixes 740665. Thanks to David K. Taylor. | mbowler |
| 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 |
| 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 |
| 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 |
| 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 |
| Partial fix for RFE 741930 "document.createElement(...) and form.appendChild(...)". This fix adds HTMLElement.appendChild. Fixes 741930. Thanks to Barnaby Court. | dktaylor |
| 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 |
| 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 |
| Moved all logic from the HtmlInput subclasses up into HtmlInput itself. Patch provided by Barnaby Court. Thanks to Barnaby Court. | mbowler |
| Added instructions for the "how to compile from cvs" document. Patch provided by Barnaby Court. Thanks to Barnaby Court. | mbowler |
| Changed HtmlTextArea.setText() to actually modify the DOM Patch provided by Barnaby Court. Fixes 759217. Thanks to Barnaby Court. | mbowler |
| Fix for bug 738548 - "Form values are not Posted Properly to Server" Fixes 738548. | mbowler |
| Added support for the property Window.name | mbowler |
| Added read-only support for Document.cookie. | mbowler |
| Added support for the JavaScript method Window.setTimeout() Fixes 675597. | mbowler |
| Upgraded the rhino engine to 1.5R4.1 | mbowler |
| Upgraded the xerces to 2.4 | mbowler |
| New method HtmlPage.getAllForms() Fixes 742515. | mbowler |
| Fixed bug where inputs would not submit properly if the type attribute wasn't lowercase. | mbowler |
| 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 |
| Added docs on configuring JSSE - contributed by Tom Hamilton | mbowler |
| Type | Changes | By |
|---|---|---|
| Started tracking more information about changes | mbowler |
| Fixed bug where the checked attribute wasn't always returning the correct value. Fixes 705703. Thanks to Jean-Luc Vaillant. | mbowler |
| 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 |
| Added support for JavaScript Document.getElementsByTagName() Fixes 705951. | mbowler |
| 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 |
| Added support for location.hostname which fixed all but one of the tests in the sanity check. Thanks to Teo Kian Lee. | mbowler |
| Added support for document.all[index] | mbowler |
| Changed the JavaScript tagName attribute to return uppercase values according to spec | mbowler |
| Updated configuration file with more functions/properties | mbowler |
| Added support for document.all.tags() Thanks to Mabel Chow. | mbowler |
| Fixed bug in expansion of relative URLs Thanks to Dominique Broeglin. | mbowler |
| 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 |
| Improved the documentation for WebWindowEvent handling as the behaviour wasn't really self explanatory. Fixes 707343. | mbowler |
| Type | Changes | By |
|---|---|---|
| Added method HtmlButtonInput#click(). | mbowler |
| Fixed a bug in JavaScript loading where external scripts were being loaded after the page was fully parsed rather than as each <script> 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 |
| Fixed bug in HtmlForm.getRadioButtonsByName() where it would not match elements with an uppercase value for "radio" | mbowler |
| Fixed a bunch of places that were declared to throw ElementNotFoundException but never actually did. | mbowler |
| Type | Changes | By |
|---|---|---|
| Fixed bug where redirection didn't happen correctly if the location header contained multiple entries separated by commas | mbowler |
| Fixed bug where some success status codes (not 200) were being reported as errors | mbowler |
| Upgraded NekoHTML to version 0.7.4 | mbowler |
| Upgraded commons-httpclient to 2.0beta3 | mbowler |
| Upgraded xerces to 2.2.1 | mbowler |
| Upgraded the rhino JavaScript engine to version 1.5b3 | mbowler |
| Added support for the Window.opener property | mbowler |
| Fixed bug where JavaScript that was enclosed in html comment tags would blow up | mbowler |
| Initial support for keyboard navigation | mbowler |
| Initial draft of a howto for keyboard navigation | mbowler |
| New method: HtmlButton#isDisabled() | mbowler |
| The click() method on buttons now do nothing if that element is disabled | mbowler |
| Fixed bug where JavaScript Form.elements was not returning radio buttons | mbowler |
| Refactored the interface between WebClient and WebConnection to make it easier to add custom implementations of WebConnection. | mbowler |
| Added support for the JavaScript Style object | mbowler |
| 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 comment | mbowler |
| Fixed bug where clicking on a checkbox would submit the form. | mbowler |
| Fixed bug where form.submit() was always loading into the default WebWindow, not the current one. | mbowler |
| Added support for indexed properties in JavaScript forms | mbowler |
| 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 |
| New method WebResponse#getLoadTimeInMilliSeconds() to measure load times of specific pages. This is intended for performance tuning of web applications | mbowler |
| Moved submission guidelines into their own document (submittingPatches.html). | mbowler |
| Fixed bug where the variable "this" in an onclick handler was a Window rather than the appropriate component. | mbowler |
| Added support for onchange handlers in input tags | mbowler |
| Added support for JavaScript document.referrer | mbowler |
| Added support for JavaScript document.URL | mbowler |
| 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 |
| Type | Changes | By |
|---|---|---|
| Fixed bug where loading of external JavaScript files would not follow redirects. | mbowler |
| Fixed bug where accessing radio buttons by name wasn't working correctly | mbowler |
| Stubbed out Window.close() | mbowler |
| 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 |
| Fixed bug where the JavaScript Option.text was returning the wrong value | mbowler |
| Type | Changes | By |
|---|---|---|
| Fixed bug where calling WebClient.open() would open a new top level window every time. | mbowler |
| Fixed bug where javascript:Window.open() was not returning the new window object | mbowler |
| Added support for onchange handler in HtmlSelect Thanks to Mike J. Bresnahan. | mbowler |
| Cleaned up some javadoc warnings | mbowler |
| New method WebClient#loadWebResponse(URL, SubmitMethod, List) | mbowler |
| 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 |
| Fixed bug where javascript:option.getValue() was returning the text, not the value | mbowler |
| Improved some error handling when secondary pages are being loaded by frames | mbowler |
| Type | Changes | By |
|---|---|---|
| Upgraded commons-logging.jar to 1.0.2 | mbowler |
| Upgraded commons-httpclient.jar to Oct 20/2002 gump build | mbowler |
| Added support for javascript:Input.disabled | mbowler |
| Upgraded NekoHTML to version 0.6.8 + patches from the author | mbowler |
| Changed window.open() to understand the magic name _self | mbowler |
| Added HtmlOption#setSelected(boolean) | mbowler |
| Completed support for reset buttons | mbowler |
| 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 |
| Added support for the JavaScript method Window.confirm() | mbowler |
| New interface ConfirmHandler | mbowler |
| New method WebClient#setConfirmHandler(ConfirmHandler) and WebClient#getConfirmHandler() | mbowler |
| Added support for the JavaScript method Window.prompt() | mbowler |
| New interface PromptHandler | mbowler |
| New method WebClient#setPromptHandler(PromptHandler) and WebClient#getPromptHandler() | mbowler |
| New method HtmlForm#getParameterListForSubmit(). This method is intended as a debugging aid. | mbowler |
| Page load would blow up if no body tag found. Framesets aren't required to have body tags | mbowler |
| Added support for JavaScript URLs in Frame and IFrame src tags | mbowler |
| Improved some error messages during initialization | mbowler |
| New class ObjectInstantiationException | mbowler |
| Added protocol package for URL protocols and added protocol/javascript package for code that supports JavaScript URLs | mbowler |
| Removed deprecated method WebClient.setBrowserVersion(BrowserVersion). No replacement for this method - browser versions must be set in the constructor of the WebClient. | mbowler |
| Removed deprecated method HtmlPage.executeJavascriptIfPossible(String,String). Use HtmlPage.executeJavaScriptIfPossible(String,String,boolean) instead. | mbowler |
| Removed deprecated method HtmlPage.getTitle(). Use HtmlPage.getTitleText() instead. | mbowler |
| 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 |
| Fixed bug where script tags that loaded external files would cause the new script to overwrite the existing page in the window | mbowler |
| Fixed bug where a redirect called from JavaScript in the page load would not replace the page. | mbowler |
| Type | Changes | By |
|---|---|---|
| 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 |
| 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 |
| Upgraded checkstyle to version 2.4 | mbowler |
| Added support for document.location (an alias for window.location) | mbowler |
| Changed initialization order in HtmlPage so that the enclosing window is initialized before the JavaScript is run | mbowler |
| 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 |
| Added method HtmlPage#getFirstAnchorByText(java.lang.String) | mbowler |
| First steps towards having property/function information in a configuration file | mbowler |
| Added method HtmlPage#getHtmlElementsByAccessKey(char) | mbowler |
| Added support for javascript:document.getElementById() | mbowler |
| Added support for javascript:document.all[string] | mbowler |
| Fixed bug where relative URLs were not being expanded in certain situations | mbowler |
| Fixed bug in relative URL expansion that was blowing up on URLs like //foo.com | mbowler |
| Upgraded commons-httpclient.jar and commons-logging.jar to the Aug 30 gump build | mbowler |
| Added HtmlElement#asXml() | mbowler |
| Added WebClient#expandUrl(URL, String) | mbowler |
| Fixed bug where relative URLs in redirects were not being expanded. | mbowler |
| 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 |
| 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 |
| Added support for HtmlImageInput#click() and HtmlImageInput#click(int, int) | mbowler |
| 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 |
| Added the constant BrowserVersion.NETSCAPE_6_2_3 | mbowler |
| Type | Changes | By |
|---|---|---|
| Changed the license used by HtmlUnit to an apache style one | mbowler |
| Changed default value of WebClient.isRedirectEnabled() to false to be consistent with pre2 | mbowler |
| Updated look of documentation | mbowler |
| Started migrating System.out.println calls over to commons-logging. Refer to the logging tutorial (logging.html) for information on customizing this. | mbowler |
| Support for onClick handlers in HtmlSubmitInput | mbowler |
| Support for onClick handlers in HtmlButton | mbowler |
| Fixed bug where NullPointerException would be thrown if window.alert() was called and no AlertHandler had been registered | mbowler |
| Support for onload handler on the body tag | mbowler |
| Support for customizing the page types. See WebClient.setPageCreator() | mbowler |
| Added HtmlElement.hasHtmlElementWithId() | mbowler |
| Renamed DefaultAlertHandler to CollectingAlertHandler | mbowler |
| Fixed NullPointerException in HtmlForm during submission of a form containing a radio button | mbowler |
| Stubbed out the following methods on Input: click(), focus(), blur(), select() | mbowler |
| Added support for inherited functions to SimpleScriptable. Previously only getters and setters were supported. | mbowler |
| 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 |
| Added a JavaScript style object | mbowler |
| Added new method HtmlElement.isAttributeDefined() | mbowler |
| 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 |
| Added a tutorial section on the main page and added a link to the table tutorial | mbowler |
| Started writing the table tutorial - still needs a lot of work | mbowler |
| Added support for the JavaScript function Form.submit() | mbowler |
| Fixed bug where javascript:document.forms[formName] was blowing up | mbowler |
| Changed logic behind anchor onClick() handler to abort the click if JavaScript returns false | mbowler |
| Changed logic behind form onSubmit() handler to abort the submit if JavaScript returns false | mbowler |
| Fixed WebConnection so that it now passes the query string through on post requests | mbowler |
| Added HtmlFrame class. Loading a page containing frames will cause those frames to be automatically loaded as well. | mbowler |
| Added support for loading iframes | mbowler |
| Added HtmlFrameSet class | mbowler |
| Added a coding conventions document (codingConventions.html) | mbowler |
| Added a "how to get the latest code from cvs" document (buildingFromCvs.html) | mbowler |
| Renamed WebWindow.getPage() and setPage() to getEnclosedPage() and setEnclosedPage() to avoid conflict with getPage in HtmlElement | mbowler |
| Added WebClient.getWebWindowByName() | mbowler |
| New class WebWindowNotFoundException | mbowler |
| 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 |
| New method HtmlPage.getFrames() | mbowler |
| 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 |
| New method HtmlTable.getCaptionText() | mbowler |
| Deprecated HtmlPage.getTitle() to be replaced with HtmlPage.getTitleText(). This will be removed before the final release of 1.1 | mbowler |
| Added support for the JavaScript properties: Select.options, Select.selectedIndex, Select.length and Option.value | mbowler |
| Type | Changes | By |
|---|---|---|
| Added HtmlElement.getParent() | mbowler |
| Added HtmlElement.getNextSibling() | mbowler |
| Added HtmlElement.getPreviousSibling() | mbowler |
| Changed WebConnection so that cookies will be shared among servers in the same domain | mbowler |
| Added support for redirection - WebClient.setRedirectEnabled(boolean) | mbowler |
| Added method on WebResponse to access the response headers | mbowler |
| Many new JavaScript objects - this will be transparent to users of HtmlUnit | mbowler |
| Lots of refactoring in the JavaScript portion | mbowler |
| Fixed a NullPointerException if the server doesn't return a content-type header | mbowler |
| Fixed HtmlElement.childrenAsText() so that it ignores comments | mbowler |
| Added support for Input.checked | mbowler |
| Added some constants to BrowserVersion for various browsers | mbowler |
| Upgraded gsbase.jar to version 1.8 | mbowler |
| Replaced js.jar with a version that has been compiled with debug support | mbowler |
| Upgraded commons-httpclient.jar to the July 27 gump build. | mbowler |
| Added commons-logging.jar (July 27 gump build) which is needed by httpclient | mbowler |
| Support for proxy server and ssl together | mbowler |
| Type | Changes | By |
|---|---|---|
| Fixed NullPointerException due to a bug in JTidy - thanks to Mike J Bresnahan for tracking this one right into the JTidy source. | mbowler |
| HtmlAnchor now supports JavaScript URLs and onClick handlers | mbowler |
| Ability to set the emulated browser via WebClient.setBrowserVersion(BrowserVersion) | mbowler |
| 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 |
| Added WebWindow | mbowler |
| Added TopLevelWindow | mbowler |
| Added WebWindowListener | mbowler |
| Added WebWindowEvent | mbowler |
| Added WebWindowAdapter | mbowler |
| Added initial support for javascript:open(). Does not currently support features or browser history | mbowler |
| Fixed some cases in HtmlPage.getFullyQualifiedUrl() that weren't expanding properly | mbowler |
| Added HtmlTitle | mbowler |
| Added HtmlPage.getTitle() | mbowler |
| Added JavaScript window.location="some url" | mbowler |
| Stubbed out the JavaScript history object | mbowler |
| Added support JavaScript URLs in HtmlForm submission | mbowler |
| Added support for HtmlForm.onSubmit() | mbowler |
| Rewrote logic for handling relative URLs | mbowler |
| Fixed bug in HtmlRadioButtonInput that was causing isChecked() to return false in some cases even if the checked attribute was there. | mbowler |