Reviewers: jlabanca,

Description:
non fatal js exception escapes in IE9 devmode.
http://code.google.com/p/google-web-toolkit/issues/detail?id=6135


Please review this at http://gwt-code-reviews.appspot.com/1387802/

Affected files:
  M user/src/com/google/gwt/core/client/impl/Impl.java
  M user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
  M user/src/com/google/gwt/user/client/impl/DOMImplStandardBase.java


Index: user/src/com/google/gwt/core/client/impl/Impl.java
===================================================================
--- user/src/com/google/gwt/core/client/impl/Impl.java  (revision 9860)
+++ user/src/com/google/gwt/core/client/impl/Impl.java  (working copy)
@@ -167,7 +167,7 @@
     if (@com.google.gwt.core.client.GWT::isScript()()) {
       return jsFunction.apply(thisObj, arguments);
     } else {
-      _ = jsFunction.apply(thisObj, arguments);
+      var _ = jsFunction.apply(thisObj, arguments);
       if (_ != null) {
         // Wrap for Development Mode
         _ = Object(_);
Index: user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
===================================================================
--- user/src/com/google/gwt/user/client/impl/DOMImplStandard.java (revision 9860) +++ user/src/com/google/gwt/user/client/impl/DOMImplStandard.java (working copy)
@@ -145,8 +145,38 @@

   @Override
   protected native void initEventSystem() /*-{
+ @com.google.gwt.user.client.impl.DOMImplStandard::dispatchCapturedEvent = $entry(function(evt) { + if (!@com.google.gwt.user.client.DOM::previewEvent(Lcom/google/gwt/user/client/Event;)(evt)) {
+        evt.stopPropagation();
+        evt.preventDefault();
+        return false;
+      }
+      return true;
+    });
+
+ @com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent = $entry(function(evt) {
+      var listener, curElem = this;
+      while (curElem && !(listener = curElem.__listener)) {
+        curElem = curElem.parentNode;
+      }
+      if (curElem && curElem.nodeType != 1) {
+        curElem = null;
+      }
+      if (listener) {
+ if (@com.google.gwt.user.client.impl.DOMImpl::isMyListener(Ljava/lang/Object;)(listener)) { + @com.google.gwt.user.client.DOM::dispatchEvent(Lcom/google/gwt/user/client/Event;Lcom/google/gwt/user/client/Element;Lcom/google/gwt/user/client/EventListener;)(evt, curElem, listener);
+        }
+      }
+    });
+
+ @com.google.gwt.user.client.impl.DOMImplStandard::dispatchUnhandledEvent = $entry(function(evt) {
+      this.__gwtLastUnhandledEvent = evt.type;
+ @com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent.call(this, evt);
+    });
+
@com.google.gwt.user.client.impl.DOMImplStandard::dispatchCapturedMouseEvent = $entry(function(evt) { - if ((@com.google.gwt.user.client.impl.DOMImplStandard::dispatchCapturedEvent)(evt)) { + var dispatchCapturedEventFn = @com.google.gwt.user.client.impl.DOMImplStandard::dispatchCapturedEvent;
+      if (dispatchCapturedEventFn(evt)) {
var cap = @com.google.gwt.user.client.impl.DOMImplStandard::captureElem;
         if (cap && cap.__listener) {
if (@com.google.gwt.user.client.impl.DOMImpl::isMyListener(Ljava/lang/Object;)(cap.__listener)) {
@@ -155,38 +185,6 @@
           }
         }
       }
-    });
-
- @com.google.gwt.user.client.impl.DOMImplStandard::dispatchCapturedEvent = $entry(function(evt) { - if (!@com.google.gwt.user.client.DOM::previewEvent(Lcom/google/gwt/user/client/Event;)(evt)) {
-        evt.stopPropagation();
-        evt.preventDefault();
-        return false;
-      }
-
-      return true;
-    });
-
- @com.google.gwt.user.client.impl.DOMImplStandard::dispatchUnhandledEvent = $entry(function(evt) {
-      this.__gwtLastUnhandledEvent = evt.type;
- @com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent.call(this, evt);
-    });
-
- @com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent = $entry(function(evt) {
-      var listener, curElem = this;
-      while (curElem && !(listener = curElem.__listener)) {
-        curElem = curElem.parentNode;
-      }
-
-      if (curElem && curElem.nodeType != 1) {
-        curElem = null;
-      }
-
-      if (listener) {
- if (@com.google.gwt.user.client.impl.DOMImpl::isMyListener(Ljava/lang/Object;)(listener)) { - @com.google.gwt.user.client.DOM::dispatchEvent(Lcom/google/gwt/user/client/Event;Lcom/google/gwt/user/client/Element;Lcom/google/gwt/user/client/EventListener;)(evt, curElem, listener);
-        }
-      }
     });

$wnd.addEventListener('click', @com.google.gwt.user.client.impl.DOMImplStandard::dispatchCapturedMouseEvent, true);
Index: user/src/com/google/gwt/user/client/impl/DOMImplStandardBase.java
===================================================================
--- user/src/com/google/gwt/user/client/impl/DOMImplStandardBase.java (revision 9860) +++ user/src/com/google/gwt/user/client/impl/DOMImplStandardBase.java (working copy)
@@ -16,7 +16,7 @@
 package com.google.gwt.user.client.impl;

 /**
- * Safari implementation of {@link com.google.gwt.user.client.impl.DOMImpl}. + * StandardBase implementation of {@link com.google.gwt.user.client.impl.DOMImpl}.
  */
 class DOMImplStandardBase extends DOMImplStandard {
 }


--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to