Improve robustness of XML parsing error detection on Safari.

Patch by: bobv
Review by: rdayal


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@3768 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/xml/client/impl/XMLParserImplSafari.java b/user/src/com/google/gwt/xml/client/impl/XMLParserImplSafari.java
index 1eee56e..817cf4e 100644
--- a/user/src/com/google/gwt/xml/client/impl/XMLParserImplSafari.java
+++ b/user/src/com/google/gwt/xml/client/impl/XMLParserImplSafari.java
@@ -33,6 +33,11 @@
     return ((result) ? parseInt(result[1]) : 0) || 0;
   }-*/;
   
+  @SuppressWarnings("unused")
+  private static void throwDOMParseException(String message) {
+    throw new DOMParseException(message);
+  }
+  
   @Override
   protected native JavaScriptObject getElementsByTagNameImpl(JavaScriptObject o,
       String tagName) /*-{
@@ -73,9 +78,8 @@
     var parseerrors = result.getElementsByTagName("parsererror");
     if (parseerrors.length > 0) {
       var err = parseerrors.item(0);
-      var safariErrStyle = "white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black";
-      if(err.getAttribute("style") == safariErrStyle) {
-        throw new Error(err.item(1).innerHTML);
+      if (err.parentNode.tagName == 'body') {
+        @com.google.gwt.xml.client.impl.XMLParserImplSafari::throwDOMParseException(Ljava/lang/String;)(err.childNodes[1].innerHTML);
       }
     } 
     return result;