OSDN Git Service

Version 0.6.207, Modification of variable scope leaks.
authoritozyun <itozyun@user.sourceforge.jp>
Wed, 13 Jan 2016 16:08:59 +0000 (01:08 +0900)
committeritozyun <itozyun@user.sourceforge.jp>
Wed, 13 Jan 2016 16:08:59 +0000 (01:08 +0900)
12 files changed:
0.6.x/js/01_core/13_XClass.js
0.6.x/js/02_dom/06_XNodeCSS.js
0.6.x/js/02_dom/10_XNodeAnime.js
0.6.x/js/02_dom/20_XNode.js
0.6.x/js/06_net/03_XNetForm.js
0.6.x/js/06_net/05_XXHRGadget.js
0.6.x/js/06_net/10_XOAuth2.js
0.6.x/js/07_audio/00_XAudio.js
0.6.x/js/07_audio/10_XAudioSprite.js
0.6.x/js/11_hid/01_KB.js
0.6.x/js/20_ui/06_AbstractUINode.js
0.6.x/js/20_ui/20_Root.js

index de84007..a107366 100644 (file)
@@ -36,7 +36,7 @@ X_Class_CommonMethods =
         * 全ての動的メンバを削除して、インスタンスを破棄する。<br>\r
         * インスタンスが X.EventDispatcher とそのサブクラスの場合、次の動作をする。\r
         * <ol>\r
-        * <li>X.Event.BEFORE_KILL_INSTANCE を発火する。戻り値のビットフラグに X_Callback.PREVENT_DEFAULT が立つ場合、破棄をキャンセルし X.Event.KILL_INSTANCE_CANCELED を発火する。この間に kill() が呼ばれても無視される。\r
+        * <li>X.Event.BEFORE_KILL_INSTANCE を発火する。戻り値のビットフラグに X.Callback.PREVENT_DEFAULT が立つ場合、破棄をキャンセルし X.Event.KILL_INSTANCE_CANCELED を発火する。この間に kill() が呼ばれても無視される。\r
         * <li>破棄に進む場合は、X.Event.KILL_INSTANCE を発火する。\r
         * <li>dispatch 中は、インスタンスの全ての dispatch が終了するまで実際の破棄を待つ。\r
         * <li>実際の破棄では、インスタンスのメンバの削除に加えて全てのイベントリスナを解除する。\r
index aa34a08..3719b43 100644 (file)
@@ -320,8 +320,8 @@ function X_Node_CSS_objToIEFilterText( that, opt_css, opt_cssList ){
                test    = X_Node_CSS_FILTER_FIX_PROPS,
                filters = [],
                n       = -1,
-               p, id, v, num, ary, params, i, l, dir,
-               afterUpdate, impossible;
+               p, id, v, num, vu, u, _v, ary, params, i, l, dir,
+               afterUpdate, impossible, color;
 
        for( p in obj ){
                //if( X_EMPTY_OBJECT[ p ] ) continue;
@@ -445,7 +445,7 @@ function X_Node_CSS_objToIEFilterText( that, opt_css, opt_cssList ){
                        sinY   = Math.sin( radian ),
                        
                        skewX  = X_Node_CSS_ieMathRangeFix( params[ 3 ] ), //skew
-                       skewY  = X_Node_CSS_ieMathRangeFix( params[ 4 ] );
+                       skewY  = X_Node_CSS_ieMathRangeFix( params[ 4 ] ),
                        
                        _skX   = Math.tan( skewX * PI_180 ),
                        _skY   = Math.tan( skewY * PI_180 ),
@@ -510,7 +510,7 @@ function X_Node_CSS_onAfterUpdateIEFilterFix( that ){
                elm    = that[ '_rawObject' ],
                filter = elm.style.filter || '',
                origin = filter,
-               p, v, plus;
+               p, v, plus, id;
 
        for( p in css ){
                if( !( id = test[ p ] ) ) continue;
@@ -846,7 +846,7 @@ X_Node_CSS_getCharSize =
                }) :
        X_UA_DOM.IE4 ?
                (function( that ){
-                       var font, vu, v, u, _v;
+                       var font, vu, v, u, _v, elm;
                        
                        X_Node_updateTimerID && X_Node_startUpdate();
                        if( that === X_Node_body && X_ViewPort_baseFontSize ) return X_ViewPort_baseFontSize;
index e856bd8..580d6da 100644 (file)
@@ -146,7 +146,7 @@ function X_Node_animate( obj ){
        obj.altY        = fallback & 16 ? 'bottom' : 'top';\r
        \r
        // scale\r
-       if( obj.toScaleX !== 1 && obj.fromScaleX !== 1 && obj.toScaleY !== 1 && obj.fromScaleY !== 1 ){\r
+       if( obj.toScaleX !== 1 || obj.fromScaleX !== 1 || obj.toScaleY !== 1 || obj.fromScaleY !== 1 ){\r
                sameRate = obj.fromScaleX === obj.fromScaleY && obj.toScaleX === obj.toScaleY;\r
                \r
                if( X_NodeAnime_hasTransform ){\r
@@ -315,7 +315,7 @@ function X_NodeAnime_stopNow( xnode ){
  */\r
 function X_NodeAnime_detectWaitAnimation( xnode, duration, isTest ){\r
        var list = X_NodeAnime_QUEUE,\r
-               i    = 0, _xnode;\r
+               i    = 0, _xnode, obj;\r
        \r
        for( ; _xnode = list[ i ]; ++i ){\r
                if( _xnode === xnode ) break;\r
index b0ebdf4..f09db3a 100644 (file)
@@ -1202,7 +1202,7 @@ function X_Node_call( name /*, opt_args... */ ){
        var args = arguments,
                l    = args.length - 1,
                v, raw, parent, body,
-               childX, childY, childW, childH,
+               child, childX, childY, childW, childH,
                parentW, parentH,
                parentSX, parentSY, parentSW, parentSH,
                visibleX, visibleY, visibleW, visibleH,
@@ -1258,6 +1258,7 @@ function X_Node_call( name /*, opt_args... */ ){
        };
        
        if( name === 'inView' ){
+               if( !( this[ '_flags' ] & X_NodeFlags_IN_TREE ) ) return { 'isInView' : false };
                body   = X_elmBody;
                child  = raw;
                visibleX = visibleY = visibleW = visibleH = 0;
@@ -1633,12 +1634,34 @@ var X_Node__commitUpdate =
                                };
                        };
 
+/*
+ *                     if( ( anime = that[ '_anime' ] ) && 6 <= anime.phase && anime.doScroll ){
+                               if( anime.phase === 6 ){
+                                       v = anime.fromScrollX;
+                                       if( v === v ){
+                                               elm.scrollLeft = v;
+                                       } else {
+                                               anime.fromScrollX = elm.scrollLeft;
+                                       };
+                                       v = anime.fromScrollY;
+                                       if( v === v ){
+                                               elm.scrollTop = v;
+                                       } else {
+                                               anime.fromScrollY = elm.scrollTop;
+                                       };
+                               } else {
+                                       elm.scrollLeft = anime.scrollX;
+                                       elm.scrollTop  = anime.scrollY;
+                               };
+                       };
+ */
+
                        return elm;
                }) :
        X_UA_DOM.IE4 ? 
                ( function( that, parentElement, prevElement, accumulatedFlags ){
                        var elm = that[ '_rawObject' ] || X_Node__ie4getRawNode( that ),
-                               xnodes, l, i, dirty, mix, html, text, prev;
+                               xnodes, l, i, dirty, mix, html, text, prev, anime, v;
 
                        if( !that[ '_tag' ] ){
                                that[ '_flags' ] & X_NodeFlags_DIRTY_CONTENT && X_Node__updateRawNode( that, elm );
index 66a1bac..cdbcb4f 100644 (file)
@@ -1,7 +1,7 @@
 //{+netform"<form>によるGETとPOST"(動的に生成したフォームによるGETとPOST。)[+net,+ninjaiframe]\r
 \r
 var X_FormSender_errorTimerID,\r
-       X_FormSender_isLeave,\r
+       X_FormSender_isLeave, X_FormSender_isSameDomain,\r
        X_FormSender_onloadCount = 0;\r
 \r
 X_TEMP.X_FormSender_init = function(){\r
@@ -30,6 +30,7 @@ X_TEMP.X_FormSender_params = {
                        load : function( option ){\r
                                //createURL\r
                                var params  = option[ 'params'  ] || {},\r
+                                       url     = option[ 'url' ],\r
                                        target  = option[ 'target'  ],\r
                                        timeout = option[ 'timeout' ],\r
                                        // http://search.web-sun.com/zatu/charset.html\r
@@ -40,12 +41,12 @@ X_TEMP.X_FormSender_params = {
                                html   = [\r
                                        // <meta http-equiv="Content-Type" content="text/html; charset=euc-jp">\r
                                        '<form method="', X_FormSender_escapeQuote( option[ 'method' ] || 'GET' ), \r
-                                               '" action="', X_FormSender_escapeQuote( option[ 'url' ] || '' ), \r
+                                               '" action="', X_FormSender_escapeQuote( url || '' ), \r
                                                '" target="', X_FormSender_escapeQuote( target ),\r
                                                '">' ];\r
                                \r
-                               X_FormSender_isLeave = target === '_top' || target === '_parent';\r
-\r
+                               X_FormSender_isLeave      = target === '_top' || target === '_parent';\r
+                               X_FormSender_isSameDomain = X_URL_isSameDomain( url );\r
                                \r
                                for( k in params ){\r
                                        // TODO 使用すべきでない name\r
@@ -91,9 +92,12 @@ function X_FormSender_iframeListener( e ){
                        };\r
                        \r
                        if( ++X_FormSender_onloadCount === 1 ){\r
-                               idoc = this[ '_rawObject' ].contentDocument || this._iwin.document,\r
-\r
-                               X_FormSender[ 'asyncDispatch' ]( { type : X_EVENT_SUCCESS, response : idoc && idoc.body ? idoc.body.innerHTML : '' } );\r
+                               if( X_FormSender_isSameDomain ){\r
+                                       idoc = this[ '_rawObject' ].contentDocument || this._iwin.document;\r
+                                       X_FormSender[ 'asyncDispatch' ]( { type : X_EVENT_SUCCESS, response : idoc && idoc.body ? idoc.body.innerHTML : '' } );                                 \r
+                               } else {\r
+                                       X_FormSender[ 'asyncDispatch' ]( { type : X_EVENT_SUCCESS } );\r
+                               };\r
                        };\r
                        break;\r
                case 'ninjaerror' :\r
index 6950697..c13ed9f 100644 (file)
@@ -177,7 +177,7 @@ X_TEMP.X_GadgetXHR_props = {
                        \r
                        max = X_GadgetXHR_maxQueryLength - X_GadgetXHR_GADGET_URL.length - 5;\r
                        \r
-                       sendStr = X_JSON_stringify( req );\r
+                       sendStr = /* X_JSON_stringify */X[ 'JSON' ].stringify( req );\r
                        \r
                        while( sendStr.length ){\r
                                l   = max;\r
index b6632be..b37a6f9 100644 (file)
@@ -104,7 +104,7 @@ X[ 'OAuth2' ] = X_EventDispatcher[ 'inherits' ](
                         */
                        'requestAuth' : function(){
                                var e = X_EventDispatcher_CURRENT_EVENTS[ X_EventDispatcher_CURRENT_EVENTS.length - 1 ],
-                                       w, h;
+                                       w, h, pair;
                                
                                // TODO pointer event 内か?チェック
                                if( !e || !e[ 'pointerType' ] ){
index 21cc83b..4b48359 100644 (file)
@@ -57,8 +57,7 @@ X_TEMP.onSystemReady.push(
  * @param {array|string} sourceList\r
  * @param {object=} opt_option\r
  * @example //\r
- * var audio = X.Audio( [ 'etc/special.mp3', 'etc/special.ogg', 'etc/special.wav' ] )\r
-                                       .listenOnce( X.Event.READY, onReady );\r
+ * var audio = X.Audio( [ 'etc/special.mp3', 'etc/special.ogg', 'etc/special.wav' ] ).listenOnce( X.Event.READY, onReady );\r
  */\r
 X[ 'Audio' ] = X_EventDispatcher[ 'inherits' ](\r
        'X.Audio',\r
@@ -92,7 +91,7 @@ X[ 'Audio' ] = X_EventDispatcher[ 'inherits' ](
                 * @alias Audio.prototype.play\r
                 * @param {number=} startTime 開始時間を ms で\r
                 * @param {number=} endTime 終了時間を ms で\r
-                * @param {boolean=} endTime に達した際に曲をループさせるか\r
+                * @param {boolean=} loop endTimeに達した際に曲をループさせるか\r
                 * @param {number=} loopStartTime ループ以後の開始時間を ms で\r
                 * @param {number=} loopEndTime ループ以後の終了時間を ms で\r
                 * @return {Audio} メソッドチェーン\r
@@ -129,18 +128,18 @@ X[ 'Audio' ] = X_EventDispatcher[ 'inherits' ](
                 * @param {object=} obj setter の場合、上書きする値を格納したobject\r
                 * @return {Audio|object}\r
                 * @example\r
-                * audio.setState(\r
                                      {\r
-                                       'startTime'     : 0,\r
-                                       'endTime'       : 80000,\r
-                                       'loopStartTime' : 120000,\r
-                                       'loopEndTime'   : 200000,\r
-                                       'currentTime'   : 0,\r
-                                       'loop'          : true,\r
-                                       'looded'        : false,\r
-                                       'volume'        : 1,\r
-                                       'autoplay'      : true\r
-                                       });\r
+audio.setState(\r
+ {\r
+       'startTime'     : 0,\r
+       'endTime'       : 80000,\r
+       'loopStartTime' : 120000,\r
+       'loopEndTime'   : 200000,\r
+       'currentTime'   : 0,\r
+    'loop'          : true,\r
+    'looded'        : false,\r
+    'volume'        : 1,\r
+    'autoplay'      : true\r
+});\r
                 */\r
                'state' : function( obj ){\r
                        var pair = X_Pair_get( this );\r
@@ -179,7 +178,7 @@ X[ 'Audio' ] = X_EventDispatcher[ 'inherits' ](
                /**\r
                 * ボリュームの setter 実装不十分!\r
                 * @alias Audio.prototype.volume\r
-                * @param {number} v \r
+                * @param {number} v 0~1\r
                 * @return {Audio}\r
                 */\r
                'volume' : function( v ){\r
index c3248a9..bb4272b 100644 (file)
@@ -265,7 +265,7 @@ var X_AudioSprite_members =
                 */\r
                'seek' : function( uid, position ){\r
                        var track = X_AudioSprite_TEMP.tracks[ uid ],\r
-                               end, strat;\r
+                               end, start;\r
                        if( track ){\r
                                delete track.seekTime;\r
                                end   = X_Audio_getEndTime( track );\r
index 26d1544..83e0bfb 100644 (file)
@@ -42,7 +42,7 @@ var X_KB_SPECIALS = eval( // IE5- 対策
                                        var keyCode = e.keyCode,  // keyCode says something about the actual keyboard key the user pressed\r
                                                chrCode = e.charCode, // while charCode gives the ASCII value of the resulting character\r
                                                cb      = X_CALLBACK_NONE,\r
-                                               special, is10Key, _keyCode;\r
+                                               special, _keyCode;\r
                                        \r
                                        console.log( e.type + ' > keyCode:' + keyCode + ' chrCode:' + chrCode );\r
                                        \r
@@ -66,15 +66,15 @@ var X_KB_SPECIALS = eval( // IE5- 対策
                                                                };\r
                                                                \r
                                                                cb = this[ 'dispatch' ]( {\r
-                                                                       type     : 'keydown',\r
-                                                                       keyCode  : keyCode,\r
-                                                                       charCode : chrCode,\r
-                                                                       keyName  : X_Type_isString( special ) ? special : '',\r
-                                                                       is10key  : !!is10Key,\r
-                                                                       shiftKey : !!X_KB_DOWN_KEYS[ 16 ],\r
-                                                                       ctrlKey  : !!X_KB_DOWN_KEYS[ 17 ],\r
-                                                                       altKey   : !!X_KB_DOWN_KEYS[ 18 ],\r
-                                                                       metaKey  : !!X_KB_DOWN_KEYS[ 224 ]\r
+                                                                       type      : 'keydown',\r
+                                                                       keyCode   : keyCode,\r
+                                                                       charCode  : chrCode,\r
+                                                                       'keyName' : X_Type_isString( special ) ? special : '',\r
+                                                                       'is10key' : !!X_KB_lastIs10Key,\r
+                                                                       shiftKey  : !!X_KB_DOWN_KEYS[ 16 ],\r
+                                                                       ctrlKey   : !!X_KB_DOWN_KEYS[ 17 ],\r
+                                                                       altKey    : !!X_KB_DOWN_KEYS[ 18 ],\r
+                                                                       metaKey   : !!X_KB_DOWN_KEYS[ 224 ]\r
                                                                } );\r
                                                                \r
                                                                if( cb & X_CALLBACK_PREVENT_DEFAULT ){\r
@@ -97,21 +97,21 @@ var X_KB_SPECIALS = eval( // IE5- 対策
                                                                return X_KB_CANCELED[ chrCode ] ? X_CALLBACK_PREVENT_DEFAULT : cb;\r
                                                        } else\r
                                                        if( keyCode === 32 ){\r
-                                                               charCode = 32;\r
+                                                               chrCode = 32;\r
                                                        };\r
 \r
                                                        if( 32 <= chrCode && chrCode <= 126 ){\r
                                                                X_KB_TRANSFOEM[ X_KB_lastKeyCode ] = chrCode;\r
                                                                \r
                                                                cb = this[ 'dispatch' ]( {\r
-                                                                       type     : 'keydown',\r
-                                                                       keyCode  : X_KB_lastIs10Key ? X_KB_lastKeyCode : 0,\r
-                                                                       charCode : chrCode,\r
-                                                                       is10key  : X_KB_lastIs10Key,\r
-                                                                       shiftKey : !!X_KB_DOWN_KEYS[ 16 ],\r
-                                                                       ctrlKey  : !!X_KB_DOWN_KEYS[ 17 ],\r
-                                                                       altKey   : !!X_KB_DOWN_KEYS[ 18 ],\r
-                                                                       metaKey  : !!X_KB_DOWN_KEYS[ 224 ]\r
+                                                                       type      : 'keydown',\r
+                                                                       keyCode   : X_KB_lastIs10Key ? X_KB_lastKeyCode : 0,\r
+                                                                       charCode  : chrCode,\r
+                                                                       'is10key' : X_KB_lastIs10Key,\r
+                                                                       shiftKey  : !!X_KB_DOWN_KEYS[ 16 ],\r
+                                                                       ctrlKey   : !!X_KB_DOWN_KEYS[ 17 ],\r
+                                                                       altKey    : !!X_KB_DOWN_KEYS[ 18 ],\r
+                                                                       metaKey   : !!X_KB_DOWN_KEYS[ 224 ]\r
                                                                } );\r
                                                                \r
                                                                X_KB_lastIs10Key = true;\r
@@ -125,16 +125,16 @@ var X_KB_SPECIALS = eval( // IE5- 対策
                                                \r
                                                        if( ( special = X_KB_SPECIALS[ keyCode ] ) && ( !X_KB_DOWN_KEYS[ keyCode ] && !X_KB_DOWN_KEYS[ special ] ) ){\r
                                                                cb |= this[ 'dispatch' ]( {\r
-                                                                       type      : 'keydown',\r
-                                                                       keyCode   : keyCode,\r
-                                                                       charCode  : 0,\r
-                                                                       keyName   : special,\r
-                                                                       is10key   : false,\r
-                                                                       isVirtual : true,\r
-                                                                       shiftKey  : !!X_KB_DOWN_KEYS[ 16 ],\r
-                                                                       ctrlKey   : !!X_KB_DOWN_KEYS[ 17 ],\r
-                                                                       altKey    : !!X_KB_DOWN_KEYS[ 18 ],\r
-                                                                       metaKey   : !!X_KB_DOWN_KEYS[ 224 ]\r
+                                                                       type        : 'keydown',\r
+                                                                       keyCode     : keyCode,\r
+                                                                       charCode    : 0,\r
+                                                                       'keyName'   : special,\r
+                                                                       'is10key'   : false,\r
+                                                                       'isVirtual' : true,\r
+                                                                       shiftKey    : !!X_KB_DOWN_KEYS[ 16 ],\r
+                                                                       ctrlKey     : !!X_KB_DOWN_KEYS[ 17 ],\r
+                                                                       altKey      : !!X_KB_DOWN_KEYS[ 18 ],\r
+                                                                       metaKey     : !!X_KB_DOWN_KEYS[ 224 ]\r
                                                                } );\r
                                                        };\r
                                                \r
@@ -150,14 +150,14 @@ var X_KB_SPECIALS = eval( // IE5- 対策
                                                        };\r
                                                \r
                                                        cb |= this[ 'dispatch' ]( {\r
-                                                               type     : 'keyup',\r
-                                                               keyCode  : keyCode,\r
-                                                               charCode : chrCode,\r
-                                                               keyName  : X_Type_isString( special ) ? special : '',\r
-                                                               shiftKey : X_KB_DOWN_KEYS[ 16 ],\r
-                                                               ctrlKey  : X_KB_DOWN_KEYS[ 17 ],\r
-                                                               altKey   : X_KB_DOWN_KEYS[ 18 ],\r
-                                                               metaKey  : X_KB_DOWN_KEYS[ 224 ]\r
+                                                               type      : 'keyup',\r
+                                                               keyCode   : keyCode,\r
+                                                               charCode  : chrCode,\r
+                                                               'keyName' : X_Type_isString( special ) ? special : '',\r
+                                                               shiftKey  : X_KB_DOWN_KEYS[ 16 ],\r
+                                                               ctrlKey   : X_KB_DOWN_KEYS[ 17 ],\r
+                                                               altKey    : X_KB_DOWN_KEYS[ 18 ],\r
+                                                               metaKey   : X_KB_DOWN_KEYS[ 224 ]\r
                                                        } );\r
 \r
                                                        return cb;\r
index 025aac3..5919e21 100644 (file)
@@ -973,7 +973,7 @@ X.UI.AbstractUINode = X_Class_create(
                        var newNode,\r
                                //newPair = X_Pair_get( newNode ),\r
                                pair    = X_Pair_get( this ),\r
-                               attr, listeners, type, list, i, l, k;\r
+                               attr, listeners, type, list, i, l, k, def, f;\r
 \r
                        // attr もコピー\r
                        if( pair.attrObject ){\r
index 5515f8a..bd1a84b 100644 (file)
@@ -116,7 +116,7 @@ function X_UI_eventRellay( e ){
 
 function X_UI_onMouseOut( e ){
        var list = XUI_UINODES_HOVER,
-               i = list.length;
+               i = list.length, data;
        console.log( 'pointer out!!' + e.type + i + ' ' + e.pointerType );
 
        e = X_Object_copy( e );