svnno****@sourc*****
svnno****@sourc*****
2011年 3月 12日 (土) 23:51:35 JST
Revision: 2474
http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2474
Author: dhrname
Date: 2011-03-12 23:51:35 +0900 (Sat, 12 Mar 2011)
Log Message:
-----------
各々の要素オブジェクトで、DOMNodeInsertedイベントが発火されたときの処理にバグがあったので、それを修正
Modified Paths:
--------------
branches/07x/072/org/w3c/dom/svg.js
Modified: branches/07x/072/org/w3c/dom/svg.js
===================================================================
--- branches/07x/072/org/w3c/dom/svg.js 2011-03-12 13:13:51 UTC (rev 2473)
+++ branches/07x/072/org/w3c/dom/svg.js 2011-03-12 14:51:35 UTC (rev 2474)
@@ -1334,35 +1334,31 @@
*/
this.addEventListener("DOMNodeInserted", function(evt){
var tar = evt.target;
- if (evt.eventPhase === Event.BUBBLING_PHASE) {
+ if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {
return; //強制終了させる
}
- var tnext = tar.nextSibling, tpar = tar.parentNode;
- if (tnext && !!tpar._tar) {
- if (!!!tnext._tar) {
- /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
- *use要素や実体参照などは_tarプロパティがないことに注意
- */
- var isLast = true;
- while (tnext) {
- if (!!tnext._tar) {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
- isLast = false;
- }
- tnext = tnext.nextSibling;
- }
- if (isLast) {
- tpar._tar.appendChild(tar._tar);
- }
- isLast = null;
- } else {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
+ var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true;
+ if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ } else if (tnext && !tnext._tar && tpar._tar) {
+ /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
+ *use要素や実体参照などは_tarプロパティがないことに注意
+ */
+ while (tnext) {
+ if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ isLast = false;
+ }
+ tnext = tnext.nextSibling;
}
- } else if (!!tpar._tar){
- tpar._tar.appendChild(tar._tar);
+ if (isLast) {
+ tpar._tar.appendChild(tar._tar);
+ }
+ } else if (!tnext && tpar._tar) {
+ tpar._tar.appendChild(tar._tar);
}
- tnext = tpar = null;
- evt.target.addEventListener("DOMAttrModified", function(evt){
+ tnext = tpar = isLast = null;
+ tar.addEventListener("DOMAttrModified", function(evt){
if (evt.eventPhase === Event.BUBBLING_PHASE) {
return; //強制終了させる
}
@@ -2696,34 +2692,30 @@
*/
this.addEventListener("DOMNodeInserted", function(evt){
var tar = evt.target;
- if (evt.eventPhase === Event.BUBBLING_PHASE) {
+ if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {
return; //強制終了させる
}
- var tnext = tar.nextSibling, tpar = tar.parentNode;
- if (tnext && !!tpar._tar) {
- if (!!!tnext._tar) {
- /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
- *use要素や実体参照などは_tarプロパティがないことに注意
- */
- var isLast = true;
- while (tnext) {
- if (!!tnext._tar) {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
- isLast = false;
- }
- tnext = tnext.nextSibling;
- }
- if (isLast) {
- tpar._tar.appendChild(tar._tar);
- }
- isLast = null;
- } else {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
+ var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true;
+ if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ } else if (tnext && !tnext._tar && tpar._tar) {
+ /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
+ *use要素や実体参照などは_tarプロパティがないことに注意
+ */
+ while (tnext) {
+ if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ isLast = false;
+ }
+ tnext = tnext.nextSibling;
}
- } else if (!!tpar._tar){
- tpar._tar.appendChild(tar._tar);
+ if (isLast) {
+ tpar._tar.appendChild(tar._tar);
+ }
+ } else if (!tnext && tpar._tar) {
+ tpar._tar.appendChild(tar._tar);
}
- tnext = tpar = null;
+ tnext = tpar = isLast = null;
tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt){
/*以下の処理は、normalizedpathSegListとCTMに基づいて、
*SVGのd属性をVMLに変換していく処理である。
@@ -3051,35 +3043,31 @@
/*readonly SVGAnimatedLength*/ this.rx = new SVGAnimatedLength();
/*readonly SVGAnimatedLength*/ this.ry = new SVGAnimatedLength();
this.addEventListener("DOMNodeInserted", function(evt){
- if (evt.eventPhase === Event.BUBBLING_PHASE) {
+ var tar = evt.target;
+ if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {
return; //強制終了させる
}
- var tar = evt.target;
- var tnext = tar.nextSibling, tpar = tar.parentNode;
- if (tnext && !!tpar._tar) {
- if (!!!tnext._tar) {
- /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
- *use要素や実体参照などは_tarプロパティがないことに注意
- */
- var isLast = true;
- while (tnext) {
- if (!!tnext._tar) {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
- isLast = false;
- }
- tnext = tnext.nextSibling;
- }
- if (isLast) {
- tpar._tar.appendChild(tar._tar);
- }
- isLast = null;
- } else {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
+ var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true;
+ if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ } else if (tnext && !tnext._tar && tpar._tar) {
+ /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
+ *use要素や実体参照などは_tarプロパティがないことに注意
+ */
+ while (tnext) {
+ if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ isLast = false;
+ }
+ tnext = tnext.nextSibling;
}
- } else if (!!tpar._tar){
- tpar._tar.appendChild(tar._tar);
+ if (isLast) {
+ tpar._tar.appendChild(tar._tar);
+ }
+ } else if (!tnext && tpar._tar) {
+ tpar._tar.appendChild(tar._tar);
}
- tnext = tpar = null;
+ tnext = tpar = isLast = null;
tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) {
var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, "");
var fontSize = parseFloat(style.getPropertyValue("font-size"));
@@ -3152,35 +3140,31 @@
/*readonly SVGAnimatedLength*/ this.cy = new SVGAnimatedLength();
/*readonly SVGAnimatedLength*/ this.r = new SVGAnimatedLength();
this.addEventListener("DOMNodeInserted", function(evt){
- if (evt.eventPhase === Event.BUBBLING_PHASE) {
+ var tar = evt.target;
+ if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {
return; //強制終了させる
}
- var tar = evt.target;
- var tnext = tar.nextSibling, tpar = tar.parentNode;
- if (tnext && !!tpar._tar) {
- if (!!!tnext._tar) {
- /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
- *use要素や実体参照などは_tarプロパティがないことに注意
- */
- var isLast = true;
- while (tnext) {
- if (!!tnext._tar) {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
- isLast = false;
- }
- tnext = tnext.nextSibling;
- }
- if (isLast) {
- tpar._tar.appendChild(tar._tar);
- }
- isLast = null;
- } else {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
+ var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true;
+ if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ } else if (tnext && !tnext._tar && tpar._tar) {
+ /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
+ *use要素や実体参照などは_tarプロパティがないことに注意
+ */
+ while (tnext) {
+ if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ isLast = false;
+ }
+ tnext = tnext.nextSibling;
}
- } else if (!!tpar._tar){
- tpar._tar.appendChild(tar._tar);
+ if (isLast) {
+ tpar._tar.appendChild(tar._tar);
+ }
+ } else if (!tnext && tpar._tar) {
+ tpar._tar.appendChild(tar._tar);
}
- tnext = tpar = null;
+ tnext = tpar = isLast = null;
tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) {
var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, "");
var fontSize = parseFloat(style.getPropertyValue("font-size"));
@@ -3233,35 +3217,31 @@
/*readonly SVGAnimatedLength*/ this.rx = new SVGAnimatedLength();
/*readonly SVGAnimatedLength*/ this.ry = new SVGAnimatedLength();
this.addEventListener("DOMNodeInserted", function(evt){
- if (evt.eventPhase === Event.BUBBLING_PHASE) {
+ var tar = evt.target;
+ if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {
return; //強制終了させる
}
- var tar = evt.target;
- var tnext = tar.nextSibling, tpar = tar.parentNode;
- if (tnext && !!tpar._tar) {
- if (!!!tnext._tar) {
- /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
- *use要素や実体参照などは_tarプロパティがないことに注意
- */
- var isLast = true;
- while (tnext) {
- if (!!tnext._tar) {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
- isLast = false;
- }
- tnext = tnext.nextSibling;
- }
- if (isLast) {
- tpar._tar.appendChild(tar._tar);
- }
- isLast = null;
- } else {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
+ var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true;
+ if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ } else if (tnext && !tnext._tar && tpar._tar) {
+ /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
+ *use要素や実体参照などは_tarプロパティがないことに注意
+ */
+ while (tnext) {
+ if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ isLast = false;
+ }
+ tnext = tnext.nextSibling;
}
- } else if (!!tpar._tar){
- tpar._tar.appendChild(tar._tar);
+ if (isLast) {
+ tpar._tar.appendChild(tar._tar);
+ }
+ } else if (!tnext && tpar._tar) {
+ tpar._tar.appendChild(tar._tar);
}
- tnext = tpar = null;
+ tnext = tpar = isLast = null;
tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) {
var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, "");
var fontSize = parseFloat(style.getPropertyValue("font-size"));
@@ -3315,35 +3295,31 @@
/*readonly SVGAnimatedLength*/ this.x2 = new SVGAnimatedLength();
/*readonly SVGAnimatedLength*/ this.y2 = new SVGAnimatedLength();
this.addEventListener("DOMNodeInserted", function(evt){
- if (evt.eventPhase === Event.BUBBLING_PHASE) {
+ var tar = evt.target;
+ if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {
return; //強制終了させる
}
- var tar = evt.target;
- var tnext = tar.nextSibling, tpar = tar.parentNode;
- if (tnext && !!tpar._tar) {
- if (!!!tnext._tar) {
- /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
- *use要素や実体参照などは_tarプロパティがないことに注意
- */
- var isLast = true;
- while (tnext) {
- if (!!tnext._tar) {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
- isLast = false;
- }
- tnext = tnext.nextSibling;
- }
- if (isLast) {
- tpar._tar.appendChild(tar._tar);
- }
- isLast = null;
- } else {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
+ var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true;
+ if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ } else if (tnext && !tnext._tar && tpar._tar) {
+ /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
+ *use要素や実体参照などは_tarプロパティがないことに注意
+ */
+ while (tnext) {
+ if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ isLast = false;
+ }
+ tnext = tnext.nextSibling;
}
- } else if (!!tpar._tar){
- tpar._tar.appendChild(tar._tar);
+ if (isLast) {
+ tpar._tar.appendChild(tar._tar);
+ }
+ } else if (!tnext && tpar._tar) {
+ tpar._tar.appendChild(tar._tar);
}
- tnext = tpar = null;
+ tnext = tpar = isLast = null;
tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) {
var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, "");
var fontSize = parseFloat(style.getPropertyValue("font-size"));
@@ -3403,35 +3379,31 @@
evt = tar = list = tp = par = p = null;
}, false);
this.addEventListener("DOMNodeInserted", function(evt){
- if (evt.eventPhase === Event.BUBBLING_PHASE) {
+ var tar = evt.target;
+ if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {
return; //強制終了させる
}
- var tar = evt.target;
- var tnext = tar.nextSibling, tpar = tar.parentNode;
- if (tnext && !!tpar._tar) {
- if (!!!tnext._tar) {
- /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
- *use要素や実体参照などは_tarプロパティがないことに注意
- */
- var isLast = true;
- while (tnext) {
- if (!!tnext._tar) {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
- isLast = false;
- }
- tnext = tnext.nextSibling;
- }
- if (isLast) {
- tpar._tar.appendChild(tar._tar);
- }
- isLast = null;
- } else {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
+ var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true;
+ if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ } else if (tnext && !tnext._tar && tpar._tar) {
+ /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
+ *use要素や実体参照などは_tarプロパティがないことに注意
+ */
+ while (tnext) {
+ if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ isLast = false;
+ }
+ tnext = tnext.nextSibling;
}
- } else if (!!tpar._tar){
- tpar._tar.appendChild(tar._tar);
+ if (isLast) {
+ tpar._tar.appendChild(tar._tar);
+ }
+ } else if (!tnext && tpar._tar) {
+ tpar._tar.appendChild(tar._tar);
}
- tnext = tpar = null;
+ tnext = tpar = isLast = null;
tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) {
var tar = evt.target, tp = tar.points;
//以下は、配列listそのものをCTMで座標変換していく処理
@@ -3879,38 +3851,31 @@
SVGTextPositioningElement.apply(this);
this._tar = document.createElement("v:group");
this.addEventListener("DOMNodeInserted", function(evt){
- if (evt.eventPhase === Event.BUBBLING_PHASE) {
+ if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {
return; //強制終了させる
}
var tar = evt.target;
- var ttp = tar._tar;
- if (ttp) {
- var tnext = tar.nextSibling, tpar = tar.parentNode;
- if (tnext && !!tpar._tar) {
- if (!!!tnext._tar) {
- /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
- *use要素や実体参照などは_tarプロパティがないことに注意
- */
- var isLast = true;
- while (tnext) {
- if (!!tnext._tar) {
- tpar._tar.insertBefore(tar._tar, tnext._tar);
- isLast = false;
- }
- tnext = tnext.nextSibling;
- }
- if (isLast) {
- tpar._tar.appendChild(tar._tar);
- }
- isLast = null;
- } else {
+ var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true;
+ if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) {
+ tpar._tar.insertBefore(tar._tar, tnext._tar);
+ } else if (tnext && !tnext._tar && tpar._tar) {
+ /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの
+ *use要素や実体参照などは_tarプロパティがないことに注意
+ */
+ while (tnext) {
+ if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) {
tpar._tar.insertBefore(tar._tar, tnext._tar);
- }
- } else if (!!tpar._tar){
+ isLast = false;
+ }
+ tnext = tnext.nextSibling;
+ }
+ if (isLast) {
tpar._tar.appendChild(tar._tar);
}
- tnext = tpar = null;
+ } else if (!tnext && tpar._tar) {
+ tpar._tar.appendChild(tar._tar);
}
+ tnext = tpar = isLast = null;
tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) {
var tar = evt.target, ti = tar.firstChild, ttp = tar._tar;
ttp.style.cssText = tar.style.cssText;