Revision: 7693
Author: [email protected]
Date: Wed Mar 10 06:34:13 2010
Log: 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: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=7693
Modified:
/trunk/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
/trunk/user/src/com/google/gwt/dom/client/DOMImplSafari.java
/trunk/user/src/com/google/gwt/dom/client/DOMImplStandard.java
=======================================
--- /trunk/user/src/com/google/gwt/dom/client/DOMImplMozilla.java Wed Mar
10 05:44:28 2010
+++ /trunk/user/src/com/google/gwt/dom/client/DOMImplMozilla.java Wed Mar
10 06:34:13 2010
@@ -98,11 +98,6 @@
return parseInt(style.marginTop) + parseInt(style.borderTopWidth);
}-*/;
- @Override
- public native String getInnerText(Element elem) /*-{
- return elem.textContent;
- }-*/;
-
@Override
public native int getNodeType(Node node) /*-{
try {
@@ -134,11 +129,6 @@
return (parent === child) || !!(parent.compareDocumentPosition(child)
& 16);
}-*/;
- @Override
- public native void setInnerText(Element elem, String text) /*-{
- elem.textContent = text || '';
- }-*/;
-
@Override
public void setScrollLeft(Element elem, int left) {
if (!isGecko19() && isRTL(elem)) {
@@ -227,3 +217,4 @@
return style.direction == 'rtl';
}-*/;
}
+
=======================================
--- /trunk/user/src/com/google/gwt/dom/client/DOMImplSafari.java Wed Mar 10
05:44:28 2010
+++ /trunk/user/src/com/google/gwt/dom/client/DOMImplSafari.java Wed Mar 10
06:34:13 2010
@@ -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><br>p;</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';
}-*/;
}
+
=======================================
--- /trunk/user/src/com/google/gwt/dom/client/DOMImplStandard.java Wed Mar
10 05:44:28 2010
+++ /trunk/user/src/com/google/gwt/dom/client/DOMImplStandard.java Wed Mar
10 06:34:13 2010
@@ -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 || '';
+ }-*/;
+}
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors