Author: [email protected]
Date: Tue Jun 30 08:39:59 2009
New Revision: 5643
Modified:
releases/1.6/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
releases/1.6/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
Log:
Merging r5641 from trunk (Fix for Firefox 3.5 Event.relatedTarget bug).
Modified:
releases/1.6/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
==============================================================================
--- releases/1.6/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
(original)
+++ releases/1.6/user/src/com/google/gwt/dom/client/DOMImplMozilla.java Tue
Jun 30 08:39:59 2009
@@ -38,6 +38,20 @@
}-*/;
@Override
+ public native EventTarget eventGetRelatedTarget(NativeEvent evt) /*-{
+ // Hack around Mozilla bug 497780 (relatedTarget sometimes returns XUL
+ // elements). Trying to access relatedTarget.nodeName will throw an
+ // exception if it's a XUL element.
+ var relatedTarget = evt.relatedTarget;
+ try {
+ var nodeName = relatedTarget.nodeName;
+ return relatedTarget;
+ } catch (e) {
+ return null;
+ }
+ }-*/;
+
+ @Override
public int getAbsoluteLeft(Element elem) {
return
getAbsoluteLeftImpl(elem.getOwnerDocument().getViewportElement(),
elem);
Modified:
releases/1.6/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
==============================================================================
---
releases/1.6/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
(original)
+++
releases/1.6/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
Tue Jun 30 08:39:59 2009
@@ -39,22 +39,30 @@
private static JavaScriptObject dispatchEvent;
@Override
- public native Element eventGetFromElement(Event evt) /*-{
- if (evt.type == "mouseover")
- return evt.relatedTarget;
- if (evt.type == "mouseout")
- return evt.target;
+ public Element eventGetFromElement(Event evt) {
+ if (evt.getType().equals("mouseover")) {
+ return evt.getRelatedTarget().cast();
+ }
+
+ if (evt.getType().equals("mouseout")) {
+ return evt.getTarget().cast();
+ }
+
return null;
- }-*/;
+ }
@Override
- public native Element eventGetToElement(Event evt) /*-{
- if (evt.type == "mouseover")
- return evt.target;
- if (evt.type == "mouseout")
- return evt.relatedTarget;
+ public Element eventGetToElement(Event evt) {
+ if (evt.getType().equals("mouseover")) {
+ return evt.getTarget().cast();
+ }
+
+ if (evt.getType().equals("mouseout")) {
+ return evt.getRelatedTarget().cast();
+ }
+
return null;
- }-*/;
+ }
@Override
public native Element getChild(Element elem, int index) /*-{
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---