cherry picking r9861 into release/2.3m1


git-svn-id: https://google-web-toolkit.googlecode.com/svn/releases/2.3@9877 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/core/client/impl/Impl.java b/user/src/com/google/gwt/core/client/impl/Impl.java
index 2aa0fb5..70fc457 100644
--- a/user/src/com/google/gwt/core/client/impl/Impl.java
+++ b/user/src/com/google/gwt/core/client/impl/Impl.java
@@ -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(_);
diff --git a/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java b/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
index f40b951..087e8a9 100644
--- a/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
+++ b/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
@@ -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)) {
@@ -157,38 +187,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);
     $wnd.addEventListener('dblclick', @com.google.gwt.user.client.impl.DOMImplStandard::dispatchCapturedMouseEvent, true);
     $wnd.addEventListener('mousedown', @com.google.gwt.user.client.impl.DOMImplStandard::dispatchCapturedMouseEvent, true);
diff --git a/user/src/com/google/gwt/user/client/impl/DOMImplStandardBase.java b/user/src/com/google/gwt/user/client/impl/DOMImplStandardBase.java
index 3cfb006..a36b69c 100644
--- a/user/src/com/google/gwt/user/client/impl/DOMImplStandardBase.java
+++ b/user/src/com/google/gwt/user/client/impl/DOMImplStandardBase.java
@@ -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 {
 }