Author: j...@google.com Date: Wed Jul 1 06:29:01 2009 New Revision: 5653 Modified: branches/snapshot-2009.06.02-r5498/user/src/com/google/gwt/dom/client/DOMImplMozilla.java branches/snapshot-2009.06.02-r5498/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
Log: Merging trunk r5627 into this branch. Modified: branches/snapshot-2009.06.02-r5498/user/src/com/google/gwt/dom/client/DOMImplMozilla.java ============================================================================== --- branches/snapshot-2009.06.02-r5498/user/src/com/google/gwt/dom/client/DOMImplMozilla.java (original) +++ branches/snapshot-2009.06.02-r5498/user/src/com/google/gwt/dom/client/DOMImplMozilla.java Wed Jul 1 06:29:01 2009 @@ -37,6 +37,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: branches/snapshot-2009.06.02-r5498/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java ============================================================================== --- branches/snapshot-2009.06.02-r5498/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java (original) +++ branches/snapshot-2009.06.02-r5498/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java Wed Jul 1 06:29:01 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 -~----------~----~----~----~------~----~------~--~---