OSDN Git Service

Modify a _setEndFrame method
authordhrname <dhrname@users.sourceforge.jp>
Sat, 3 Oct 2015 13:24:39 +0000 (22:24 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Sat, 3 Oct 2015 13:24:39 +0000 (22:24 +0900)
org/w3c/dom/smil.js
tool/Spec/spec/SvgDomSpec.js

index b3bbda7..9892ef2 100644 (file)
@@ -992,7 +992,7 @@ base("$calcMode").up("$attribute").mix( {
     if (!obj) {\r
       return null;\r
     }\r
-    /*activeTimeとbeginとsimpleDurプロパティは_setEndFrame関数内で使うため、コピーしておく*/\r
+    /*以下のプロパティは_setEndFrame関数内で使うため、コピーしておく*/\r
     this.activeTime = obj.activeTime;\r
     this.begin = obj.begin;\r
     this.simpleDuration = obj.simpleDuration;\r
@@ -1010,8 +1010,10 @@ base("$calcMode").up("$attribute").mix( {
   /*アニメが終了した際の後処理\r
    * 終了した後は、ひたすらtrueを値として返す*/\r
   _setEndFrame: function(frame) {\r
-              if ( ( frame < (this.begin + this.activeTime) ) || this.isEnd) {\r
-                /*アニメーションが終了間近でなければ凍結の処理をしない*/\r
+              if (isNaN(this.begin + this.activeTime)\r
+               || ( frame < (this.begin + this.activeTime) ) || this.isEnd) {\r
+                /*イベントが設定されており、未解決である場合、あるいは、\r
+                 * アニメーションが終了間近でなければ凍結の処理をしない*/\r
                 return true;\r
               } else {\r
                 this.isEnd = true;\r
@@ -1066,7 +1068,7 @@ base("$calcMode").up("$attribute").mix( {
         { setFrame: this._setEndFrame.bind(this),\r
           begin: 1,\r
           activeTime: 1,\r
-          rank: Number.MAX_VAULE //最低ランクにすることで、一番最後にタイムラインを実行させる\r
+          rank: Number.MAX_VALUE //最低ランクにすることで、一番最後にタイムラインを実行させる\r
         }\r
       );\r
     }\r
index 8c35333..13feaf9 100644 (file)
@@ -4247,6 +4247,7 @@ describe("SMIL Animation Spec", function() {
           expect(evt.target.getAttributeNS(null, "fill") || null).toBe("rgb(10, 10, 1)");\r
         }, false );\r
         frame.setFrame(0);\r
+        expect($animate.isEnd).toBeFalsy();\r
         p.dispatchEvent(evt);\r
       } );\r
     } );\r