Moves the IE8 implementation of get/setScrollLeft() from DOMImplTrident to DOMImplIE8 because DOMImplIE6 uses a different version. Patch by: jgw Review by: jlabanca (desk) git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5305 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/dom/client/DOMImplIE8.java b/user/src/com/google/gwt/dom/client/DOMImplIE8.java index e3b3826..b5f0787 100644 --- a/user/src/com/google/gwt/dom/client/DOMImplIE8.java +++ b/user/src/com/google/gwt/dom/client/DOMImplIE8.java
@@ -16,4 +16,22 @@ package com.google.gwt.dom.client; class DOMImplIE8 extends DOMImplTrident { + + @Override + public int getScrollLeft(Element elem) { + if (isRTL(elem)) { + // IE8 returns increasingly *positive* values as you scroll left in RTL. + return -super.getScrollLeft(elem); + } + return super.getScrollLeft(elem); + } + + @Override + public void setScrollLeft(Element elem, int left) { + if (isRTL(elem)) { + // IE8 returns increasingly *positive* values as you scroll left in RTL. + left = -left; + } + super.setScrollLeft(elem, left); + } }
diff --git a/user/src/com/google/gwt/dom/client/DOMImplTrident.java b/user/src/com/google/gwt/dom/client/DOMImplTrident.java index e51398b..45e0436 100644 --- a/user/src/com/google/gwt/dom/client/DOMImplTrident.java +++ b/user/src/com/google/gwt/dom/client/DOMImplTrident.java
@@ -186,15 +186,6 @@ }-*/; @Override - public int getScrollLeft(Element elem) { - if (isRTL(elem)) { - // IE8 returns increasingly *positive* values as you scroll left in RTL. - return -super.getScrollLeft(elem); - } - return super.getScrollLeft(elem); - } - - @Override public native boolean isOrHasChild(Element parent, Element child) /*-{ // An extra equality check is required due to the fact that // elem.contains(elem) is false if elem is not attached to the DOM. @@ -217,15 +208,6 @@ elem.innerText = text || ''; }-*/; - @Override - public void setScrollLeft(Element elem, int left) { - if (isRTL(elem)) { - // IE8 returns increasingly *positive* values as you scroll left in RTL. - left = -left; - } - super.setScrollLeft(elem, left); - } - private native int getBoundingClientRectLeft(Element elem) /*-{ // getBoundingClientRect() throws a JS exception if the elem is not attached // to the document, so we wrap it in a try/catch block