Used elem.textContent to set inner text on all standard browsers.  This is more efficient than the default method we implemented.
http://gwt-code-reviews.appspot.com/160805/show

Review by: jgw@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@7693 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/dom/client/DOMImplMozilla.java b/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
index 855e6f1..591f4af 100644
--- a/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
+++ b/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
@@ -99,11 +99,6 @@
   }-*/;
 
   @Override
-  public native String getInnerText(Element elem) /*-{
-    return elem.textContent;
-  }-*/;
-
-  @Override
   public native int getNodeType(Node node) /*-{
     try {
       return node.nodeType;
@@ -135,11 +130,6 @@
   }-*/;
 
   @Override
-  public native void setInnerText(Element elem, String text) /*-{
-    elem.textContent = text || '';
-  }-*/;
-
-  @Override
   public void setScrollLeft(Element elem, int left) {
     if (!isGecko19() && isRTL(elem)) {
       left += elem.getScrollWidth() - elem.getClientWidth();
@@ -227,3 +217,4 @@
     return style.direction == 'rtl';
   }-*/;
 }
+
diff --git a/user/src/com/google/gwt/dom/client/DOMImplSafari.java b/user/src/com/google/gwt/dom/client/DOMImplSafari.java
index 36add53..d928538 100644
--- a/user/src/com/google/gwt/dom/client/DOMImplSafari.java
+++ b/user/src/com/google/gwt/dom/client/DOMImplSafari.java
@@ -213,20 +213,6 @@
         : getAbsoluteTopUsingOffsets(elem);
   }
 
-  /**
-   * textContent is used over innerText for two reasons:
-   * 
-   * 1 - It is consistent with DOMImplMozilla. textContent does not convert
-   * <code>&lt;br&gtp;</code>'s to new lines in WebKit.
-   * 
-   * 2 - textContent is faster on retreival because WebKit does not recalculate
-   * styles as it does for innerText.
-   */
-  @Override
-  public native String getInnerText(Element node) /*-{
-    return node.textContent;
-  }-*/;
-
   @Override
   public int getScrollLeft(Document doc) {
     // Safari always applies document scrolling to the body element, even in
@@ -294,14 +280,6 @@
     select.removeChild(select.children[index]);
   }-*/;
 
-  /*
-   * See getInnerText for why textContent is used instead of innerText.
-   */
-  @Override
-  public native void setInnerText(Element elem, String text) /*-{
-    elem.textContent = text || '';
-  }-*/;
-
   @Override
   public void setScrollLeft(Document doc, int left) {
     // Safari always applies document scrolling to the body element, even in
@@ -344,3 +322,4 @@
     return elem.ownerDocument.defaultView.getComputedStyle(elem, '').direction == 'rtl';
   }-*/;
 }
+
diff --git a/user/src/com/google/gwt/dom/client/DOMImplStandard.java b/user/src/com/google/gwt/dom/client/DOMImplStandard.java
index 0c60aec..7fd9711 100644
--- a/user/src/com/google/gwt/dom/client/DOMImplStandard.java
+++ b/user/src/com/google/gwt/dom/client/DOMImplStandard.java
@@ -107,8 +107,28 @@
     return evt.toString();
   }-*/;
 
+  /*
+   * textContent is used over innerText for two reasons:
+   * 1 - It is consistent across browsers. textContent
+   *     does not convert <br>'s to new lines.
+   * 2 - textContent is faster on retreival because WebKit
+   *     does not recalculate styles as it does for innerText.
+   */ 
+  @Override
+  public native String getInnerText(Element elem) /*-{
+    return elem.textContent;
+  }-*/;
+
   @Override
   public native boolean isOrHasChild(Node parent, Node child) /*-{
     return parent.contains(child);
   }-*/;
+
+  /*
+   * See getInnerText for why textContent is used instead of innerText.
+   */
+  @Override
+  public native void setInnerText(Element elem, String text) /*-{
+    elem.textContent = text || '';
+  }-*/;
 }