OSDN Git Service

Modify the initilize method
authordhrname <dhrname@users.sourceforge.jp>
Thu, 2 Feb 2017 14:00:27 +0000 (23:00 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Thu, 2 Feb 2017 14:00:27 +0000 (23:00 +0900)
org/w3c/dom/smil.js
tool/Spec/spec/SvgDomSpec.js

index 6de2c2e..900ba40 100644 (file)
@@ -1407,7 +1407,7 @@ base("$calcMode").up("$attribute").mix( {
   elementList: [],\r
   \r
   /*何番目からelementListを処理しているかの数値*/\r
-  nubmerOfelemList: 0,\r
+  numberOfElemList: 0,\r
   \r
   /*initialize メソッド\r
    * 要素リストを初期化させる\r
@@ -1417,11 +1417,14 @@ base("$calcMode").up("$attribute").mix( {
     if (!eles || !eles.length) {\r
       return;\r
     }\r
-    var length = this.nubmerOfelemList+30;\r
-    for (var i=0; i<eles.length; ++i) {\r
+    var length = this.numberOfElemList+30;\r
+    for (var i=length-30; i<length; ++i) {\r
+      if (eles.length <= i) {\r
+        return;\r
+      }\r
       this.up().init(eles.item(i));\r
     }\r
-    this.nubmerOfelemList += 30;\r
+    this.numberOfElemList += 30;\r
     eles = length = void 0;\r
   },\r
    \r
@@ -2121,12 +2124,12 @@ base("$getDocument").mix ( function() {
         function init (obj, name) {\r
           /*あとでframe.initializeメソッドで呼び出すために準備しておく*/\r
           obj.elementList = svgDoc.getElementsByTagNameNS(svgns, name);\r
+          obj.numberOfElemList = 0;\r
           if (obj.elementList.length) {\r
             frame.objList.push(obj);\r
           }\r
           eles = obj = void 0;\r
         };\r
-        frame.initialize();\r
     };\r
   }\r
   \r
@@ -2149,6 +2152,7 @@ base("$getDocument").mix ( function() {
             if (!this.isPaused) {\r
               frame++;\r
               try {\r
+                this.initialize();\r
                 this.setFrame(frame);\r
               } catch(e) {\r
               }\r
index f87a922..65c010f 100644 (file)
@@ -2141,6 +2141,7 @@ describe("SMIL Animation Spec", function() {
         expect($set.defaultValue).toBe("");\r
         expect($set.isDefault).toBeFalsy();\r
         expect($set.attrNameSpace).toBeNull();\r
+        expect($set.numberOfElemList).toBe(0);\r
         $set.init();\r
         expect($set.timeline).toBe(frame.$begin);\r
         $set.init(ele);\r
@@ -2149,7 +2150,6 @@ describe("SMIL Animation Spec", function() {
         expect($set.isDefault).toBeFalsy();\r
         expect($set.attrNameSpace).toBeNull();\r
         expect($set.timeline).toBe(frame.$begin);\r
-        expect($set.nubmerOfelemList).toBe(0);\r
         \r
         expect($set.elementList.length).toBe(0);\r
         $set.initialize();\r