Author: j...@google.com Date: Fri Feb 6 11:16:54 2009 New Revision: 4655 Added: releases/1.6/user/test/com/google/gwt/user/client/ui/ButtonTest.java - copied unchanged from r4624, /branches/snapshot-2009.01.29/user/test/com/google/gwt/user/client/ui/ButtonTest.java Modified: releases/1.6/user/src/com/google/gwt/dom/client/ButtonElement.java releases/1.6/user/src/com/google/gwt/dom/client/DOMImpl.java releases/1.6/user/src/com/google/gwt/dom/client/DOMImplMozillaOld.java releases/1.6/user/src/com/google/gwt/user/client/ui/Button.java releases/1.6/user/test/com/google/gwt/user/UISuite.java
Log: Merge of c4624 from branches/snapshot-2009.01.29. Modified: releases/1.6/user/src/com/google/gwt/dom/client/ButtonElement.java ============================================================================== --- releases/1.6/user/src/com/google/gwt/dom/client/ButtonElement.java (original) +++ releases/1.6/user/src/com/google/gwt/dom/client/ButtonElement.java Fri Feb 6 11:16:54 2009 @@ -40,9 +40,9 @@ /** * Simulate a mouse-click. */ - public final native void click() /*-{ - this.click(); - }-*/; + public final void click() { + DOMImpl.impl.buttonClick(this); + } /** * A single character access key to give access to the form control. Modified: releases/1.6/user/src/com/google/gwt/dom/client/DOMImpl.java ============================================================================== --- releases/1.6/user/src/com/google/gwt/dom/client/DOMImpl.java (original) +++ releases/1.6/user/src/com/google/gwt/dom/client/DOMImpl.java Fri Feb 6 11:16:54 2009 @@ -21,6 +21,10 @@ static final DOMImpl impl = GWT.create(DOMImpl.class); + public native void buttonClick(ButtonElement button) /*-{ + button.click(); + }-*/; + public native Element createElement(String tag) /*-{ return $doc.createElement(tag); }-*/; Modified: releases/1.6/user/src/com/google/gwt/dom/client/DOMImplMozillaOld.java ============================================================================== --- releases/1.6/user/src/com/google/gwt/dom/client/DOMImplMozillaOld.java (original) +++ releases/1.6/user/src/com/google/gwt/dom/client/DOMImplMozillaOld.java Fri Feb 6 11:16:54 2009 @@ -24,6 +24,16 @@ */ class DOMImplMozillaOld extends DOMImplMozilla { + public native void buttonClick(ButtonElement button) /*-{ + var doc = button.ownerDocument; + if (doc != null) { + var evt = doc.createEvent('MouseEvents'); + evt.initMouseEvent('click', true, true, null, 0, 0, + 0, 0, 0, false, false, false, false, 0, null); + button.dispatchEvent(evt); + } + }-*/; + @Override public native int getAbsoluteLeft(Element elem) /*-{ var style = $doc.defaultView.getComputedStyle(elem, null); Modified: releases/1.6/user/src/com/google/gwt/user/client/ui/Button.java ============================================================================== --- releases/1.6/user/src/com/google/gwt/user/client/ui/Button.java (original) +++ releases/1.6/user/src/com/google/gwt/user/client/ui/Button.java Fri Feb 6 11:16:54 2009 @@ -18,6 +18,7 @@ import com.google.gwt.dom.client.ButtonElement; import com.google.gwt.dom.client.Document; import com.google.gwt.dom.client.Element; +import com.google.gwt.dom.client.ButtonElement; import com.google.gwt.event.dom.client.ClickHandler; /** @@ -71,10 +72,6 @@ } }-*/; - static native void click(Element button) /*-{ - button.click(); - }-*/; - /** * Creates a button with no caption. */ @@ -133,6 +130,11 @@ * Programmatic equivalent of the user clicking the button. */ public void click() { - click(getElement()); + getButtonElement().click(); + } + + private ButtonElement getButtonElement() { + return getElement().cast(); } } + Modified: releases/1.6/user/test/com/google/gwt/user/UISuite.java ============================================================================== --- releases/1.6/user/test/com/google/gwt/user/UISuite.java (original) +++ releases/1.6/user/test/com/google/gwt/user/UISuite.java Fri Feb 6 11:16:54 2009 @@ -22,6 +22,7 @@ import com.google.gwt.user.client.WindowTest; import com.google.gwt.user.client.ui.AbsolutePanelTest; import com.google.gwt.user.client.ui.AnchorTest; +import com.google.gwt.user.client.ui.ButtonTest; import com.google.gwt.user.client.ui.CaptionPanelTest; import com.google.gwt.user.client.ui.CheckBoxTest; import com.google.gwt.user.client.ui.CompositeTest; @@ -94,6 +95,7 @@ suite.addTestSuite(AbsolutePanelTest.class); suite.addTestSuite(AnchorTest.class); + suite.addTestSuite(ButtonTest.class); suite.addTestSuite(CaptionPanelTest.class); suite.addTestSuite(CheckBoxTest.class); suite.addTestSuite(ClippedImagePrototypeTest.class); --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---