]> source.dussan.org Git - gwtquery.git/commitdiff
IE was raising exception when manipulating css attr in xml nodes. Do not print stackt...
authorManolo Carrasco <manolo@apache.org>
Fri, 30 Sep 2011 08:02:38 +0000 (08:02 +0000)
committerManolo Carrasco <manolo@apache.org>
Fri, 30 Sep 2011 08:02:38 +0000 (08:02 +0000)
gwtquery-core/src/main/java/com/google/gwt/query/client/impl/DocumentStyleImpl.java
gwtquery-core/src/main/java/com/google/gwt/query/client/impl/DocumentStyleImplIE.java
gwtquery-core/src/main/java/com/google/gwt/query/client/impl/SelectorEngineCssToXPath.java

index 7cd8b90fd97705e289acde035594a65617a25c96..39ba47e66c0e21004eeaf694fb982e1825e1a6b6 100644 (file)
@@ -93,15 +93,10 @@ public class DocumentStyleImpl {
     if ("opacity".equalsIgnoreCase(name)) {
       return force ? String.valueOf(getOpacity(elem)) : ret;
     }
-    if (!force) {   
-      return ret == null ? "" : ret;
-    } else {
-      try {
-        return getComputedStyle(elem, JsUtils.hyphenize(name), name, null);
-      } catch (Exception e) {
-        return ret;
-      }
+    if (force) {
+      ret = getComputedStyle(elem, JsUtils.hyphenize(name), name, null);
     }
+    return ret == null ? "" : ret;
   }
   
   /**
index 318a81a9f08e92608f3b3aeaf37e7270a3d26a51..37c05420c0611f3b1a71682b123784987b973b2e 100644 (file)
@@ -62,9 +62,9 @@ public class DocumentStyleImplIE extends DocumentStyleImpl {
   /**
    * Remove a style property from an element.
    */
-  public native void removeStyleProperty(Element elem, String prop) /*-{
-    if (elem && elem.style && elem.removeAttribute)
-      elem.style.removeAttribute(prop);
+  public native void removeStyleProperty(Element e, String prop) /*-{
+    if (e && e.style && 'removeAttribute' in e)
+      e.style.removeAttribute(prop);
   }-*/;
   
 
@@ -85,7 +85,7 @@ public class DocumentStyleImplIE extends DocumentStyleImpl {
   protected native String getComputedStyle(Element elem, String hyphenName,
       String camelName, String pseudo) /*-{
     // code lifted from jQuery
-    if (!elem.style || !elem.currentStyle || !elem.runtimeStyle) return null;
+    if (!elem.style || !'currentStyle' in elem || !'runtimeStyle' in elem) return null;
     var style = elem.style;
     var ret = elem.currentStyle[hyphenName] || elem.currentStyle[camelName];
     if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) {
index 7b33ede6c36ac79651aaffd1c0dbefee73d1606a..85c85d0f94cebac8cd309da888ef77beb6425014 100644 (file)
@@ -17,6 +17,7 @@ package com.google.gwt.query.client.impl;
 \r
 import java.util.ArrayList;\r
 \r
+import com.google.gwt.core.client.GWT;\r
 import com.google.gwt.core.client.JsArray;\r
 import com.google.gwt.dom.client.Element;\r
 import com.google.gwt.dom.client.Node;\r
@@ -224,12 +225,14 @@ public class SelectorEngineCssToXPath extends SelectorEngineImpl {
       SelectorEngine.xpathEvaluate(xsel, ctx, elm);\r
       return JsUtils.unique(elm.<JsArray<Element>> cast()).cast();    \r
     } catch (Exception e) {\r
-      if (!SelectorEngine.hasXpathEvaluate()) {\r
-        throw new RuntimeException("This Browser does not support Xpath selectors.", e);\r
-      }\r
-      System.err.println("ERROR: xpathEvaluate invalid xpath expression:"\r
+      if (GWT.isScript()) {\r
+        if (!SelectorEngine.hasXpathEvaluate()) {\r
+          throw new RuntimeException("This Browser does not support Xpath selectors.", e);\r
+        }\r
+        System.err.println("ERROR: xpathEvaluate invalid xpath expression:"\r
           + xsel + " css-selector:" + sel + "\n");\r
-      e.printStackTrace();\r
+        e.printStackTrace();\r
+      }\r
       return elm;\r
     }\r
   }\r