[Sie-announce] SIEコード [2037]

Zurück zum Archiv-Index

svnno****@sourc***** svnno****@sourc*****
2010年 10月 3日 (日) 23:10:33 JST


Revision: 2037
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2037
Author:   dhrname
Date:     2010-10-03 23:10:33 +0900 (Sun, 03 Oct 2010)

Log Message:
-----------


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-10-03 14:10:22 UTC (rev 2036)
+++ branches/06x/061/org/w3c/dom/svg.js	2010-10-03 14:10:33 UTC (rev 2037)
@@ -3419,10 +3419,6 @@
   }, false);
   this.addEventListener("DOMNodeInserted", function(evt){
     if (evt.eventPhase === Event.BUBBLING_PHASE) {
-      return; //強制終了させる
-    }
-    var tar = evt.target;
-    tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) {
       var tar = evt.target, ti = tar.firstChild, tp = tar.parentNode;
       if (!(tar instanceof SVGTextContentElement)) {
         return;
@@ -3542,23 +3538,8 @@
       }
       tar._isYokogaki = isYokogaki //getEndPositionOfCharメソッドなどで使う
       evt = tar = style = null;
-    }, true);
-    /*tspan要素から先にDONNodeInsertedIntoDocumentイベントを発火させる*/
-    if (tar.localName === "tspan") {
-      var evtt = tar.ownerDocument.createEvent("MutationEvents");
-      evtt.initMutationEvent("DOMNodeInsertedIntoDocument", false, false, null, null, null, null, null);
-      evtt.target = tar;
-      evtt.eventPhase = Event.AT_TARGET;
-      var tce = tar._capter; //tceは登録しておいたリスナーのリスト
-      for (var j=0,tcli=tce.length;j<tcli;++j){
-        if (tce[j]) {
-          tce[j].handleEvent(evtt);
-        }
-      }
-      evtt = null;
     }
-    evt = tar = null;
-  },false);
+  }, false);
   return this;
 };
 SVGTextPositioningElement.constructor = SVGTextContentElement;
@@ -3602,6 +3583,20 @@
     }
     tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) {
       var tar = evt.target, ti = tar.firstChild, ttp = tar._tar;
+      if ((tar.localName === "text") && (tar.namespaceURI === "http://www.w3.org/2000/svg")) {
+        /*先にDONNodeInsertedイベントの浮上フェーズだけを発火させる*/
+        var evtt = tar.ownerDocument.createEvent("MutationEvents");
+        evtt.initMutationEvent("DOMNodeInserted", true, false, this, null, null, null, null);
+        evtt.target = tar;
+        evtt.eventPhase = Event.BUBBLING_PHASE;
+        var tce = tar._capter; //tceは登録しておいたリスナーのリスト
+        for (var j=0,tcli=tce.length;j<tcli;++j){
+          if (tce[j]) {
+            tce[j].handleEvent(evtt);
+          }
+        }
+        evtt = tce = null;
+      }
       ttp.style.cssText = tar.style.cssText;
       var style = tar.ownerDocument.defaultView.getComputedStyle(tar, null);
       var n = parseFloat(style.getPropertyValue("font-size")) * Math.sqrt(Math.abs(tar.getScreenCTM()._determinant()));




Sie-announce メーリングリストの案内
Zurück zum Archiv-Index