From: <mgu...@us...> - 2013-04-08 10:33:41
|
Revision: 8212 http://sourceforge.net/p/htmlunit/code/8212 Author: mguillem Date: 2013-04-08 10:33:38 +0000 (Mon, 08 Apr 2013) Log Message: ----------- onsubmit and onchange are defined on HTMLElement (!) for FF and Chrome (can someone verify with IE?) Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java 2013-04-07 12:34:07 UTC (rev 8211) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java 2013-04-08 10:33:38 UTC (rev 8212) @@ -14,8 +14,6 @@ */ package com.gargoylesoftware.htmlunit.javascript.host; -import net.sourceforge.htmlunit.corejs.javascript.Function; - import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.html.HtmlElement; import com.gargoylesoftware.htmlunit.html.HtmlForm; @@ -102,24 +100,6 @@ } /** - * Sets the <tt>onchange</tt> event handler for this element. - * @param onchange the <tt>onchange</tt> event handler for this element - */ - @JsxSetter - public void setOnchange(final Object onchange) { - setEventHandlerProp("onchange", onchange); - } - - /** - * Returns the <tt>onchange</tt> event handler for this element. - * @return the <tt>onchange</tt> event handler for this element - */ - @JsxGetter - public Function getOnchange() { - return getEventHandler("onchange"); - } - - /** * {@inheritDoc} Overridden to modify browser configurations. */ @Override Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java 2013-04-07 12:34:07 UTC (rev 8211) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java 2013-04-08 10:33:38 UTC (rev 8212) @@ -2839,4 +2839,40 @@ protected boolean isLowerCaseInOuterHtml() { return false; } + + /** + * Sets the <tt>onchange</tt> event handler for this element. + * @param onchange the <tt>onchange</tt> event handler for this element + */ + @JsxSetter + public void setOnchange(final Object onchange) { + setEventHandlerProp("onchange", onchange); + } + + /** + * Returns the <tt>onchange</tt> event handler for this element. + * @return the <tt>onchange</tt> event handler for this element + */ + @JsxGetter + public Function getOnchange() { + return getEventHandler("onchange"); + } + + /** + * Returns the <tt>onsubmit</tt> event handler for this element. + * @return the <tt>onsubmit</tt> event handler for this element + */ + @JsxGetter + public Object getOnsubmit() { + return getEventHandlerProp("onsubmit"); + } + + /** + * Sets the <tt>onsubmit</tt> event handler for this element. + * @param onsubmit the <tt>onsubmit</tt> event handler for this element + */ + @JsxSetter + public void setOnsubmit(final Object onsubmit) { + setEventHandlerProp("onsubmit", onsubmit); + } } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java 2013-04-07 12:34:07 UTC (rev 8211) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java 2013-04-08 10:33:38 UTC (rev 8212) @@ -233,24 +233,6 @@ } /** - * Returns the <tt>onsubmit</tt> event handler for this element. - * @return the <tt>onsubmit</tt> event handler for this element - */ - @JsxGetter - public Object getOnsubmit() { - return getEventHandlerProp("onsubmit"); - } - - /** - * Sets the <tt>onsubmit</tt> event handler for this element. - * @param onsubmit the <tt>onsubmit</tt> event handler for this element - */ - @JsxSetter - public void setOnsubmit(final Object onsubmit) { - setEventHandlerProp("onsubmit", onsubmit); - } - - /** * Sets the value of the JavaScript attribute "target". * @param target the new value */ Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java 2013-04-07 12:34:07 UTC (rev 8211) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java 2013-04-08 10:33:38 UTC (rev 8212) @@ -126,4 +126,25 @@ + "</body></html>"; loadPageWithAlerts2(html); } + + /** + * A similar test is used by jQuery-1.4.1 to detect browser capacities. + * @throws Exception if an error occurs + */ + @Test + @Alerts({ "null", "true", "null", "true" }) + public void handlers() throws Exception { + final String html + = "<html><body>\n" + + "<div id='d1'></div>\n" + + "<script>\n" + + "var d = document.getElementById('d1');\n" + + "alert(d.onchange);\n" + + "alert('onchange' in d);\n" + + "alert(d.onsubmit);\n" + + "alert('onsubmit' in d);\n" + + "</script>\n" + + "</body></html>"; + loadPageWithAlerts2(html); + } } |