You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-commits@xmlgraphics.apache.org by de...@apache.org on 2005/10/06 03:15:15 UTC

svn commit: r306492 - in /xmlgraphics/batik/branches/svg11: samples/solitaire/script/ sources/org/apache/batik/bridge/

Author: deweese
Date: Wed Oct  5 18:15:04 2005
New Revision: 306492

URL: http://svn.apache.org/viewcvs?rev=306492&view=rev
Log:
1) Fixes problem resolving 'chained' attributes in documents
   that have a 'null' URL (loaded from a stream). PR 36924
2) Small optimization on card.js.

Modified:
    xmlgraphics/batik/branches/svg11/samples/solitaire/script/card.js
    xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/AbstractSVGGradientElementBridge.java
    xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/SVGColorProfileElementBridge.java
    xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/SVGUtilities.java

Modified: xmlgraphics/batik/branches/svg11/samples/solitaire/script/card.js
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg11/samples/solitaire/script/card.js?rev=306492&r1=306491&r2=306492&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg11/samples/solitaire/script/card.js (original)
+++ xmlgraphics/batik/branches/svg11/samples/solitaire/script/card.js Wed Oct  5 18:15:04 2005
@@ -126,6 +126,7 @@
 }
 
 Card.prototype.setPos = function(x, y) {
+  if ((this.x == x) && (this.y == y)) return;
   this.x = x;
   this.y = y;
   this.elem.setAttribute("transform", "translate("+x+","+y+")");

Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/AbstractSVGGradientElementBridge.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/AbstractSVGGradientElementBridge.java?rev=306492&r1=306491&r2=306492&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/AbstractSVGGradientElementBridge.java (original)
+++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/AbstractSVGGradientElementBridge.java Wed Oct  5 18:15:04 2005
@@ -25,6 +25,7 @@
 import java.util.List;
 
 import org.apache.batik.dom.svg.SVGOMDocument;
+import org.apache.batik.dom.svg.XMLBaseSupport;
 import org.apache.batik.dom.util.XLinkSupport;
 import org.apache.batik.ext.awt.MultipleGradientPaint;
 import org.apache.batik.gvt.GraphicsNode;
@@ -191,12 +192,8 @@
                 return null; // no xlink:href found, exit
             }
             // check if there is circular dependencies
-            SVGOMDocument doc = (SVGOMDocument)paintElement.getOwnerDocument();
-            ParsedURL purl = new ParsedURL(doc.getURL(), uri);
-            if (!purl.complete())
-                throw new BridgeException(paintElement,
-                                          ERR_URI_MALFORMED,
-                                          new Object[] {uri});
+            String baseURI = XMLBaseSupport.getCascadedXMLBase(paintElement);
+            ParsedURL purl = new ParsedURL(baseURI, uri);
 
             if (contains(refs, purl)) {
                 throw new BridgeException(paintElement,

Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/SVGColorProfileElementBridge.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/SVGColorProfileElementBridge.java?rev=306492&r1=306491&r2=306492&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/SVGColorProfileElementBridge.java (original)
+++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/SVGColorProfileElementBridge.java Wed Oct  5 18:15:04 2005
@@ -21,6 +21,7 @@
 import java.io.IOException;
 
 import org.apache.batik.dom.svg.SVGOMDocument;
+import org.apache.batik.dom.svg.XMLBaseSupport;
 import org.apache.batik.dom.util.XLinkSupport;
 import org.apache.batik.ext.awt.color.ICCColorSpaceExt;
 import org.apache.batik.ext.awt.color.NamedProfileCache;
@@ -98,17 +99,17 @@
         String href = XLinkSupport.getXLinkHref(profile);
         ICC_Profile p = null;
         if (href != null) {
-            String baseURI= ((SVGOMDocument)doc).getURL();
-            ParsedURL purl = new ParsedURL(baseURI, href);
+            String baseURI = XMLBaseSupport.getCascadedXMLBase(profile);
+            ParsedURL pDocURL = null;
+            if (baseURI != null) {
+                pDocURL = new ParsedURL(baseURI);
+            }
+
+            ParsedURL purl = new ParsedURL(pDocURL, href);
             if (!purl.complete()) 
                 throw new BridgeException(paintedElement, ERR_URI_MALFORMED,
                                           new Object[] {href});
             try{
-                ParsedURL pDocURL = null;
-                if (baseURI != null) {
-                    pDocURL = new ParsedURL(baseURI);
-                }
-
                ctx.getUserAgent().checkLoadExternalResource(purl, 
                                                             pDocURL);
 

Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/SVGUtilities.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/SVGUtilities.java?rev=306492&r1=306491&r2=306492&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/SVGUtilities.java (original)
+++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/bridge/SVGUtilities.java Wed Oct  5 18:15:04 2005
@@ -28,6 +28,7 @@
 
 import org.apache.batik.css.engine.CSSEngine;
 import org.apache.batik.dom.svg.SVGOMDocument;
+import org.apache.batik.dom.svg.XMLBaseSupport;
 import org.apache.batik.dom.util.XLinkSupport;
 import org.apache.batik.dom.util.XMLSupport;
 import org.apache.batik.gvt.GraphicsNode;
@@ -266,13 +267,8 @@
             if (uriStr.length() == 0) { // exit if no more xlink:href
                 return "";
             }
-            SVGDocument svgDoc = (SVGDocument)e.getOwnerDocument();
-            String baseURI = ((SVGOMDocument)svgDoc).getURL();
-
+            String baseURI = XMLBaseSupport.getCascadedXMLBase(e);
             ParsedURL purl = new ParsedURL(baseURI, uriStr);
-            if (!purl.complete()) 
-                throw new BridgeException(e, ERR_URI_MALFORMED,
-                                          new Object[] {uriStr});
 
             Iterator iter = refs.iterator();
             while (iter.hasNext()) {
@@ -283,6 +279,7 @@
             }
 
             try {
+                SVGDocument svgDoc = (SVGDocument)e.getOwnerDocument();
                 URIResolver resolver = new URIResolver(svgDoc, loader);
                 e = resolver.getElement(purl.toString(), e);
                 refs.add(purl);