[Sie-announce] SIEコード [1992] SVGUseElementオブジェクトにSVGGElementオブジェクトを継承させた

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2010年 9月 8日 (水) 22:38:41 JST


Revision: 1992
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1992
Author:   dhrname
Date:     2010-09-08 22:38:41 +0900 (Wed, 08 Sep 2010)

Log Message:
-----------
SVGUseElementオブジェクトにSVGGElementオブジェクトを継承させた

Modified Paths:
--------------
    branches/06x/061/org/w3c/dom/svg.js

Modified: branches/06x/061/org/w3c/dom/svg.js
===================================================================
--- branches/06x/061/org/w3c/dom/svg.js	2010-09-08 13:30:50 UTC (rev 1991)
+++ branches/06x/061/org/w3c/dom/svg.js	2010-09-08 13:38:41 UTC (rev 1992)
@@ -1291,26 +1291,13 @@
 SVGDefsElement.prototype = new SVGElement();
 
 function SVGUseElement() {
-  SVGElement.apply(this, arguments);
+  SVGGElement.apply(this, arguments);
   /*readonly SVGAnimatedLength*/   this.x = new SVGAnimatedLength();           //use要素のx属性に対応(以下、同様)
   /*readonly SVGAnimatedLength*/   this.y = new SVGAnimatedLength();
   /*readonly SVGAnimatedLength*/   this.width = new SVGAnimatedLength();
   /*readonly SVGAnimatedLength*/   this.height = new SVGAnimatedLength();
   /*readonly SVGElementInstance*/ this.instanceRoot = new SVGElementInstance(); //参照先インスタンスのルート
   /*readonly SVGElementInstance*/ this.animatedInstanceRoot = new SVGElementInstance();//アニメの最中のインスタンス。静止中は通常
-  this.addEventListener("DOMAttrModified", function(evt){
-    if (evt.eventPhase === Event.BUBBLING_PHASE) {
-      return;
-    }
-    var tar = evt.target;
-    if (!!!tar._gtar) {
-      tar._gtar = tar.ownerDocument.createElementNS("http://www.w3.org/2000/svg", "g");
-    }
-    var evtt = tar.ownerDocument.createEvent("MutationEvents");
-    evtt.initMutationEvent("DOMAttrModified", true, false, evt.relatedNode, null, evt.newValue, evt.attrName, evt.attrChange);
-    tar._gtar.dispatchEvent(evtt);
-    evtt = null;
-  }, false);
   this.addEventListener("DOMNodeInserted", function(evt){
     if (evt.eventPhase === Event.BUBBLING_PHASE) {
       return; //強制終了させる
@@ -1320,15 +1307,11 @@
   this.addEventListener("SVGLoad", function(evt){
     var tar = evt.target;
     tar.instanceRoot = tar.animatedInstanceRoot = tar.ownerDocument.importNode(tar._instance, true);
-    if (tar.getAttributeNS(null, "transform")) {
-      tar._gtar.setAttributeNS(null, "transform", tar.getAttributeNS(null, "transform"));
-    }
-    var tgtb = tar._gtar.transform.baseVal;
+    var tgtb = tar.transform.baseVal;
     var trans = tar.ownerDocument.documentElement.createSVGTransform();
     trans.setTranslate(tar.x.baseVal.value, tar.y.baseVal.value);
     tgtb.appendItem(trans);
-    tar._gtar.appendChild(tar.instanceRoot);
-    tar.parentNode.insertBefore(tar._gtar, tar);
+    tar.appendChild(tar.instanceRoot);
     evt = trans = tar = evtt = tgtb = null;
   }, false);
   SVGURIReference.apply(this);




Sie-announce メーリングリストの案内
Back to archive index