Fix parsing error with url() format with quotes in it
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1285 eee81c28-f429-11dd-99c0-75d572ba1dddmaster
parent
3eb89914b6
commit
ee393cd933
|
@ -1159,6 +1159,12 @@ function BatchCommand(text) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: if element has fill/stroke pointing to a non-local reference, need to remove
|
||||||
|
// the attribute
|
||||||
|
// i.e. <circle fill="url(http://example.com/someEvilFile.svg#foo)" /> or
|
||||||
|
// <circle fill="url('http://example.com/someEvilFile.svg#foo')" /> or
|
||||||
|
// <circle fill='url("http://example.com/someEvilFile.svg#foo")' /> or
|
||||||
|
|
||||||
// recurse to children
|
// recurse to children
|
||||||
i = node.childNodes.length;
|
i = node.childNodes.length;
|
||||||
|
@ -1193,15 +1199,34 @@ function BatchCommand(text) {
|
||||||
|
|
||||||
$.each(all_els, function(i, el) {
|
$.each(all_els, function(i, el) {
|
||||||
var fill = el.getAttribute('fill');
|
var fill = el.getAttribute('fill');
|
||||||
if(fill && fill.indexOf('url(#') == 0) {
|
if(fill) {
|
||||||
//found gradient
|
// url(#somegrad)
|
||||||
grad_uses.push(fill.substring(5,fill.indexOf(')')));
|
if (fill.indexOf('url(#') == 0) {
|
||||||
}
|
grad_uses.push(fill.substring(5,fill.indexOf(')')));
|
||||||
|
}
|
||||||
|
// url("#somegrad")
|
||||||
|
else if (fill.indexOf('url("#') == 0) {
|
||||||
|
grad_uses.push(fill.substring(6,fill.indexOf('"',7)));
|
||||||
|
}
|
||||||
|
// url('#somegrad')
|
||||||
|
else if (fill.indexOf("url('#)") == 0) {
|
||||||
|
grad_uses.push(fill.substring(6,fill.indexOf("'",7)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var stroke = el.getAttribute('stroke');
|
var stroke = el.getAttribute('stroke');
|
||||||
if(stroke && stroke.indexOf('url(#') == 0) {
|
if (stroke) {
|
||||||
//found gradient
|
if (stroke.indexOf('url(#') == 0) {
|
||||||
grad_uses.push(stroke.substring(5,stroke.indexOf(')')));
|
grad_uses.push(stroke.substring(5,stroke.indexOf(')')));
|
||||||
|
}
|
||||||
|
else if (stroke.indexOf('url("#') == 0) {
|
||||||
|
grad_uses.push(stroke.substring(6,stroke.indexOf('"',7)));
|
||||||
|
}
|
||||||
|
// url('#somegrad')
|
||||||
|
else if (stroke.indexOf("url('#)") == 0) {
|
||||||
|
grad_uses.push(stroke.substring(6,stroke.indexOf("'",7)));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// gradients can refer to other gradients
|
// gradients can refer to other gradients
|
||||||
|
|
Loading…
Reference in New Issue