Author: [email protected]
Date: Mon Jan 12 11:38:08 2009
New Revision: 4427
Modified:
releases/1.6/user/src/com/google/gwt/user/client/ui/ListenerWrapper.java
releases/1.6/user/test/com/google/gwt/user/client/ui/ImageTest.java
Log:
Fixed the wiring so LoadListener.onError will actually fire.
Review by:fabbott
Modified:
releases/1.6/user/src/com/google/gwt/user/client/ui/ListenerWrapper.java
==============================================================================
---
releases/1.6/user/src/com/google/gwt/user/client/ui/ListenerWrapper.java
(original)
+++
releases/1.6/user/src/com/google/gwt/user/client/ui/ListenerWrapper.java
Mon Jan 12 11:38:08 2009
@@ -33,6 +33,7 @@
import com.google.gwt.event.dom.client.HasAllKeyHandlers;
import com.google.gwt.event.dom.client.HasChangeHandlers;
import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.dom.client.HasErrorHandlers;
import com.google.gwt.event.dom.client.HasLoadHandlers;
import com.google.gwt.event.dom.client.HasMouseDownHandlers;
import com.google.gwt.event.dom.client.HasMouseMoveHandlers;
@@ -226,8 +227,10 @@
public static class Load extends ListenerWrapper<LoadListener> implements
LoadHandler, ErrorHandler {
- public static void add(HasLoadHandlers source, LoadListener listener) {
- source.addLoadHandler(new Load(listener));
+ public static <S extends HasLoadHandlers & HasErrorHandlers>void add(S
source, LoadListener listener) {
+ Load l = new Load(listener);
+ source.addLoadHandler(l);
+ source.addErrorHandler(l);
}
public static void remove(Widget eventSource, LoadListener listener) {
Modified:
releases/1.6/user/test/com/google/gwt/user/client/ui/ImageTest.java
==============================================================================
--- releases/1.6/user/test/com/google/gwt/user/client/ui/ImageTest.java
(original)
+++ releases/1.6/user/test/com/google/gwt/user/client/ui/ImageTest.java Mon
Jan 12 11:38:08 2009
@@ -421,4 +421,34 @@
assertEquals(16, image.getHeight());
assertEquals("clipped", getCurrentImageStateName(image));
}
+
+
+ private int firedLoad;
+ private int firedError;
+ @SuppressWarnings("deprecation")
+ public void testLoadListenerWiring() {
+ Image im = new Image();
+
+ im.addLoadListener(new LoadListener() {
+
+ public void onError(Widget sender) {
+ ++firedError;
+ }
+
+ public void onLoad(Widget sender) {
+ ++firedLoad;
+ }
+ });
+ im.fireEvent(new LoadEvent() {
+ // Replaced by Joel's event firing when possible.
+ });
+ assertEquals(1, firedLoad);
+ assertEquals(0, firedError);
+ im.fireEvent(new ErrorEvent() {
+ // Replaced by Joel's event firing when possible.
+ });
+ assertEquals(1, firedLoad);
+ assertEquals(1, firedError);
+ }
+
}
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---