OSDN Git Service

Version 0.6.135, fix for closure compiler.
authoritozyun <itozyun@user.sourceforge.jp>
Thu, 26 Mar 2015 08:36:10 +0000 (17:36 +0900)
committeritozyun <itozyun@user.sourceforge.jp>
Thu, 26 Mar 2015 08:36:10 +0000 (17:36 +0900)
23 files changed:
0.6.x/js/01_core/10_XCallback.js
0.6.x/js/01_core/11_XClass.js
0.6.x/js/01_core/16_XViewPort.js
0.6.x/js/02_dom/02_XNode.js
0.6.x/js/02_dom/08_XNodeSelector.js
0.6.x/js/02_dom/09_XHTMLParser.js
0.6.x/js/02_dom/22_XTreeBuilder.js
0.6.x/js/03_plugin/00_XPlugin.js
0.6.x/js/05_util/01_XNinjaIframe.js
0.6.x/js/06_net/00_XNet.js
0.6.x/js/06_net/01_XNetXHR.js
0.6.x/js/06_net/02_XNetJSONP.js
0.6.x/js/07_audio/00_XAudio.js
0.6.x/js/07_audio/01_XWebAudio.js
0.6.x/js/07_audio/02_XHTMLAudio.js
0.6.x/js/07_audio/03_XSilverlightAudio.js
0.6.x/js/20_ui/02_XUI_Attr.js
0.6.x/js/20_ui/06_AbstractUINode.js
0.6.x/js/20_ui/08_Box.js
0.6.x/js/20_ui/14_ChromeBox.js
0.6.x/js/20_ui/15_ScrollBox.js
0.6.x/js/20_ui/17_Text.js
0.6.x/js/20_ui/20_PageRoot.js

index 964b2ca..f5ee5ef 100644 (file)
@@ -126,7 +126,7 @@ var __CallbackHash__ =
  * @namespace X.Callback\r
  * @alias X.Callback\r
  */\r
-X.Callback = {\r
+X[ 'Callback' ] = {\r
        /**\r
         * このコールバックでは返り値による操作は無い。\r
         */\r
index 52207a5..6ead421 100644 (file)
@@ -5,7 +5,7 @@
 var\r
        /**\r
         * 全てのクラスのスーパークラスのようなもの。(ライブラリ内にカプセル化されているため、ユーザが触ることはありません)<br>\r
-        * X.Class.create() で定義されたクラスのインスタンスが共通で備えるメソッド を確認してください。\r
+        * X_Class.create() で定義されたクラスのインスタンスが共通で備えるメソッド を確認してください。\r
         * @class __ClassBase__\r
         * @private\r
         * @abstract\r
@@ -77,7 +77,7 @@ X_Class_CommonMethods =
                        };\r
                        \r
                        this[ 'dispatch' ]( X_EVENT_KILL_INSTANCE );\r
-                       this._listeners && X_EventDispatcher_systemUnlisten( this );\r
+                       this[ '_listeners' ] && X_EventDispatcher_systemUnlisten( this );\r
                };\r
                \r
                for( p in instance ){\r
@@ -223,6 +223,20 @@ X_Class_CommonMethods =
 // --- interface ----------------------------------------------------------- //\r
 // ------------------------------------------------------------------------- //\r
 \r
+/*\r
+ * @enum {number}\r
+ * @const\r
+ */\r
+var X_Class = {\r
+       NONE         :  0,\r
+       POOL_OBJECT  :  1,\r
+       ABSTRACT     :  2,\r
+       FINAL        :  4,\r
+       SUPER_ACCESS :  8,\r
+       PRIVATE_DATA : 16,\r
+       SINGLETON    : 32\r
+};\r
+\r
 /**\r
  * <p>Class を定義し システムの管理下に置く。\r
  * <p>prototype 継承のブラウザ毎の差異も吸収し、 以下から最適な方法をしてくれる。\r
@@ -234,7 +248,7 @@ X_Class_CommonMethods =
  * </ol>\r
  * \r
  * <ol>\r
- * <li>X.Class.create( opt_settings, opt_name, opt_privateClass, opt_props ) でクラスを登録.\r
+ * <li>X_Class.create( opt_settings, opt_name, opt_privateClass, opt_props ) でクラスを登録.\r
  * <li>コンストラクタ となるメソッドは、opt_props 内の Constructor : function( arg ){ ... }, に書く.\r
  * <li>通常通り new で インスタンス生成\r
  * <li>kill() でオブジェクトをクリーンして削除、pool が有効の場合は pool される.\r
@@ -249,44 +263,44 @@ X[ 'Class' ] = {
      * 設定なし。\r
      * @const\r
      */        \r
-       'NONE'         : 0,\r
+       'NONE'         : X_Class.NONE,\r
        \r
     /**\r
      * インスタンスは破棄時(this.kill())に回収され、次回の new MyClass() 時に再利用されます。\r
      * @const\r
      */\r
-       'POOL_OBJECT'  :  1,\r
+       'POOL_OBJECT'  :  X_Class.POOL_OBJECT,\r
        \r
        /**\r
         * 定義するクラスは抽象クラスになります。new AbstractClass() とするとエラーになります。\r
         * @const\r
         */\r
-       'ABSTRACT'     :  2,\r
+       'ABSTRACT'     :  X_Class.ABSTRACT,\r
 \r
        /**\r
         * クラスの継承を禁止する。\r
         * @const\r
         */\r
-       'FINAL'        :  4,\r
+       'FINAL'        :  X_Class.FINAL,\r
 \r
        /**\r
         * 使用を中止。petanR ライブラリ使用プロジェクトから SUPER_ACCESS を消したらここも削除。\r
         * @const\r
         */\r
-       'SUPER_ACCESS' :  8,\r
+       'SUPER_ACCESS' :  X_Class.SUPER_ACCESS,\r
 \r
        /**\r
         * 内部コード、主に X.UI フレームワークに対して、フレーム外に露出するインスタンスとペアで動作する、シャドウなインスタンスの使用を宣言する。\r
         * Javascript はインスタンス毎のカプセル化がとてもコスト高。微妙なコスト増で隠蔽されたインスタンスを使う。\r
         * @const\r
         */\r
-       'PRIVATE_DATA' : 16,\r
+       'PRIVATE_DATA' : X_Class.PRIVATE_DATA,\r
 \r
        /**\r
         * 未実装。でも目印になるので付けておきましょう。\r
         * @const\r
         */\r
-       'SINGLETON'    : 32,\r
+       'SINGLETON'    : X_Class.SINGLETON,\r
 \r
        'create'       : X_Class_create,\r
        \r
@@ -305,10 +319,10 @@ X[ 'Class' ] = {
 // ------------------------------------------------------------------------- //\r
        /**\r
         * クラスを定義する。<br>\r
-        * X.Class.create() によるクラス定義は必ずしもコンストラクタを必要としません。クラス定義時にコンストラクタが未設定の場合、スーパークラスがあればそのコンストラクタを使用します。\r
-        * @alias X.Class.create\r
+        * X_Class.create() によるクラス定義は必ずしもコンストラクタを必要としません。クラス定義時にコンストラクタが未設定の場合、スーパークラスがあればそのコンストラクタを使用します。\r
+        * @alias X_Class.create\r
         * @param {string} [displayName] クラスの名前\r
-        * @param {number} [classSetting=0] X.Class.POOL_OBJECT | X.Class.FINAL など\r
+        * @param {number} [classSetting=0] X_Class.POOL_OBJECT | X_Class.FINAL など\r
         * @param {__ClassBase__=} [privateClass] このクラスとペアで動作するシャドウクラス\r
         * @param {object} [props={}] このクラスのメンバと関数。コンストラクタは Constructor と書くこと\r
         * @return {__ClassBase__}\r
@@ -330,10 +344,10 @@ X[ 'Class' ] = {
                // クラス設定\r
                classDef.setting = classSetting = args[ 0 ];\r
                if( X_Type_isNumber( classSetting ) ){\r
-                       opt_pool     = !!( classSetting & X.Class.POOL_OBJECT  );\r
-                       opt_abstract = !!( classSetting & X.Class.ABSTRACT     );\r
-                       opt_final    = !!( classSetting & X.Class.FINAL        );\r
-                       opt_private  = !!( classSetting & X.Class.PRIVATE_DATA );\r
+                       opt_pool     = !!( classSetting & X_Class.POOL_OBJECT  );\r
+                       opt_abstract = !!( classSetting & X_Class.ABSTRACT     );\r
+                       opt_final    = !!( classSetting & X_Class.FINAL        );\r
+                       opt_private  = !!( classSetting & X_Class.PRIVATE_DATA );\r
                        if( opt_final && opt_abstract ){\r
                                X.Logger.critical( 'final & Abstract!' );\r
                                return;\r
@@ -347,7 +361,7 @@ X[ 'Class' ] = {
                if( X_Class_PRIVATE_CLASS_LIST.indexOf( args[ 0 ] ) !== -1 ){\r
                        privateDef = X_Class_getClassDef( args[ 0 ] );\r
                        if( privateDef.isPrivate !== true ){\r
-                               X.Logger.critical( 'PrivateClass not found! please, X.Class.create( X.Class.PRIVATE, {...} ).' );\r
+                               X.Logger.critical( 'PrivateClass not found! please, X_Class.create( X_Class.PRIVATE, {...} ).' );\r
                                return;\r
                        } else\r
                        if( privateDef.Abstract === true ){\r
@@ -530,11 +544,11 @@ function X_Class_subClassOf( klass ){
 };\r
                        \r
 /**\r
- * サブクラスを作ります。与える引数は X.Class.create と同じです。http://d.hatena.ne.jp/m-hiyama/20051018/1129605002\r
+ * サブクラスを作ります。与える引数は X_Class.create と同じです。http://d.hatena.ne.jp/m-hiyama/20051018/1129605002\r
  * @alias __ClassBase__.inherits\r
- * @example var SubClass = SuperClass.inherits( 'Sub', X.Class.FINAL, { ... } );\r
+ * @example var SubClass = SuperClass.inherits( 'Sub', X_Class.FINAL, { ... } );\r
  * @param {string} [displayName] クラスの名前\r
- * @param {number} [classSetting=0] X.Class.POOL_OBJECT | X.Class.FINAL など\r
+ * @param {number} [classSetting=0] X_Class.POOL_OBJECT | X_Class.FINAL など\r
  * @param {__ClassBase__=} [privateClass] このクラスとペアで動作するシャドウクラス\r
  * @param {object} [props={}] このクラスのメンバと関数。コンストラクタは Constructor と書くこと\r
  * @return {__ClassBase__}\r
@@ -564,9 +578,9 @@ function X_Class_inherits( /* displayName, classSetting, opt_PrivateClass, props
                args.shift();\r
        } else {\r
                // クラス設定がない場合、親からコピーして、Abstract flag は落とす??\r
-               classSetting = superDef.setting;// &= ~X.Class.ABSTRACT;\r
+               classSetting = superDef.setting;// &= ~X_Class.ABSTRACT;\r
        };\r
-       if( superDef.isPrivate ) classSetting = classSetting | X.Class.PRIVATE_DATA;\r
+       if( superDef.isPrivate ) classSetting = classSetting | X_Class.PRIVATE_DATA;\r
 \r
        params.push( classSetting );\r
 \r
@@ -590,7 +604,7 @@ function X_Class_inherits( /* displayName, classSetting, opt_PrivateClass, props
        } else {\r
                X_Class_traits = new Super( X_Closure_COMMAND_DROP );\r
        };\r
-       klass  = X.Class.create.apply( X.Class, params );\r
+       klass  = X_Class_create.apply( X.Class, params );\r
        X_Class_traits = null;\r
        \r
        def    = X_Class_getClassDef( klass );\r
index d31a5fe..bcc341a 100644 (file)
@@ -21,7 +21,7 @@ var X_ViewPort_readyState,
        X_Dom_orientationchange = window[ 'orientation' ] !== undefined && function( e ){
                X_ViewPort_orientationFlag = true;
                !X_UA[ 'Android' ] && X_ViewPort_resize();
-               //console.log( '-- orientationchange : ' + X.ViewPort.getSize[ 0 ] + ' ' + X.ViewPort.getSize[ 1 ] );
+               //console.log( '-- orientationchange : ' + X[ 'ViewPort' ].getSize[ 0 ] + ' ' + X[ 'ViewPort' ].getSize[ 1 ] );
        },
        
        X_ViewPort_document = X_EventDispatcher( document ),
@@ -87,7 +87,7 @@ X_ViewPort = X_Class_override(
  * @namespace X.ViewPort
  * @alias X.ViewPort
  */
-X.ViewPort = {
+X[ 'ViewPort' ] = {
        
        'listen' : function( type, arg1, arg2, arg3 ){
                if( type <= X_ViewPort_readyState ){
@@ -98,7 +98,7 @@ X.ViewPort = {
                };
                // ie8-では keydown -> documentへ
                type && arg1 && X_ViewPort[ 'listen' ]( type, arg1, arg2, arg3 );
-               return X.ViewPort;
+               return X[ 'ViewPort' ];
        },
        
        
@@ -110,12 +110,12 @@ X.ViewPort = {
                        X_ViewPort[ 'asyncDispatch' ]( type );
                };
                type && arg1 && X_ViewPort[ 'listenOnce' ]( type, arg1, arg2, arg3 );
-               return X.ViewPort;
+               return X[ 'ViewPort' ];
        },
        
        'unlisten' : function( type, arg1, arg2, arg3 ){
                type && arg1 && X_ViewPort[ 'unlisten' ]( type, arg1, arg2, arg3 );
-               return X.ViewPort;
+               return X[ 'ViewPort' ];
        },
        
        'listening' : function( type, arg1, arg2, arg3 ){
@@ -421,7 +421,7 @@ console.log( 'X.Dom dom:w3c=' + X_UA_DOM.W3C + ' ev:w3c=' + X_UA_EVENT.W3C );
 if( X_UA_EVENT.W3C ){
        X_ViewPort_document[ 'listenOnce' ]( 'DOMContentLoaded', X_TEMP.onDomContentLoaded );
 } else
-if( 6 <= X_UA[ 'IE' ] && X.inHead ){
+if( 6 <= X_UA[ 'IE' ] && X[ 'inHead' ] ){
        // if this script in Head
        document.write( "<script id=__ie_onload defer src=javascript:void(0)><\/script>" );
        X_TEMP._script = document.getElementById( "__ie_onload" );
index 7da1288..b3e6576 100644 (file)
@@ -109,7 +109,7 @@ var X_Node_BITMASK_RESET_STYLE  = ( ( 2 << 29 ) - 1 + ( 2 << 29 ) ) ^ (
  */\r
 var    Node = X[ 'Node' ] = X_EventDispatcher[ 'inherits' ](\r
        'X.Node',\r
-       X.Class.POOL_OBJECT, // X.Class.FINAL\r
+       X_Class.POOL_OBJECT, // X_Class.FINAL\r
        \r
        {\r
                /**\r
@@ -261,7 +261,7 @@ var Node = X[ 'Node' ] = X_EventDispatcher[ 'inherits' ](
                        if( X_Node_newByTag ){\r
                                X_Node_newByTag = false;\r
                                this[ '_tag' ]  = v.toUpperCase();\r
-                               arguments[ 1 ] && this.attr( arguments[ 1 ] );\r
+                               arguments[ 1 ] && this[ 'attr' ]( arguments[ 1 ] );\r
                                css = arguments[ 2 ];\r
                                css && this[ X_Type_isString( css ) ? 'cssText' : 'css' ]( css );\r
                        } else\r
@@ -357,7 +357,7 @@ var Node = X[ 'Node' ] = X_EventDispatcher[ 'inherits' ](
                \r
                'empty'          : X_Node_empty,\r
                \r
-               destroy        : X_Node_destroy, // -> kill && kill event\r
+               destroy          : X_Node_destroy, // -> kill && kill event\r
                \r
                'contains'       : X_Node_contains,\r
                \r
@@ -563,7 +563,7 @@ function X_Node_clone( opt_clone_children ){
        if( this[ '_tag' ] ){\r
                X_Node_newByTag = true;\r
                xnode = new Node( this[ '_tag' ], X_Object_clone( this[ '_attrs' ] ), X_Object_clone( this[ '_css' ] ) )\r
-                       .attr( { 'id' : this[ '_id' ] } )\r
+                       [ 'attr' ]( { 'id' : this[ '_id' ] } )\r
                        [ 'className' ]( this[ '_className' ] );\r
                if( opt_clone_children && ( xnodes = this[ '_xnodes' ] ) && ( l = xnodes.length ) ){\r
                        for( i = 0; i < l; ++i ){\r
@@ -604,7 +604,7 @@ function X_Node_append( v ){
                        break;\r
                case X_Node_TYPE.HTML_STRING :\r
                case X_Node_TYPE.STRING :\r
-                       return this.append.apply( this, X_HtmlParser_parse( v, true ) );\r
+                       return X_Node_append.apply( this, X_HtmlParser_parse( v, true ) );\r
                case X_Node_TYPE.XNODE :\r
                        // 親の xnodes から v を消す\r
                        v.parent && v[ 'remove' ]();\r
@@ -836,7 +836,7 @@ function X_Node_destroy( isChild ){
                //      xnodes[ --i ].destroy( true );\r
                //};\r
        };\r
-       elm && this._listeners && this[ 'unlisten' ](); // イベントの退避\r
+       elm && this[ '_listeners' ] && this[ 'unlisten' ](); // イベントの退避\r
 \r
        if( this[ '_flags' ] & X_Node_State.IN_TREE ){\r
                !isChild && this[ 'remove' ]();\r
@@ -856,7 +856,7 @@ function X_Node_onBeforeKill( e ){
        if( ( this[ '_flags' ] & X_Node_State.EXIST ) === 0 ) return X_Callback_NONE;\r
        \r
        elm = this[ '_rawObject' ] || X_UA_DOM.IE4 && X_Node__ie4getRawNode( this );\r
-       elm && this._listeners && this[ 'unlisten' ](); // イベントの退避\r
+       elm && this[ '_listeners' ] && this[ 'unlisten' ](); // イベントの退避\r
 \r
        if( xnodes && ( i = xnodes.length ) ){\r
                for( ; i; ){\r
@@ -1031,7 +1031,7 @@ function X_Node_html( html ){
        // setter\r
        if( html !== undefined ){ // String 以外に Number や false null なども許可\r
                if( !this[ '_tag' ] ) return this[ 'text' ]( html );\r
-               return html ? this[ 'empty' ]().append.apply( this, X_HtmlParser_parse( html, true ) ) : this[ 'empty' ]();\r
+               return html ? this[ 'empty' ]()[ 'append' ].apply( this, X_HtmlParser_parse( html, true ) ) : this[ 'empty' ]();\r
        };\r
        \r
        // getter\r
@@ -1210,7 +1210,7 @@ function X_Node_startUpdate( time ){
 \r
        if( time ){\r
                // X.Timer 経由でないと発火しない このイベントでサイズを取ると無限ループに\r
-               X_System._listeners && X_System._listeners[ X_EVENT_BEFORE_UPDATE ] && X_System[ 'dispatch' ]( X_EVENT_BEFORE_UPDATE );\r
+               X_System[ '_listeners' ] && X_System[ '_listeners' ][ X_EVENT_BEFORE_UPDATE ] && X_System[ 'dispatch' ]( X_EVENT_BEFORE_UPDATE );\r
        };\r
 \r
        removal = X_Node_reserveRemoval;\r
@@ -1239,10 +1239,10 @@ function X_Node_startUpdate( time ){
        \r
        if( time ){\r
                // X.Timer 経由でないと発火しない このイベントでサイズを取ると無限ループに\r
-               X_System._listeners && X_System._listeners[ X_EVENT_UPDATED ] && X_System[ 'dispatch' ]( X_EVENT_UPDATED );     \r
+               X_System[ '_listeners' ] && X_System[ '_listeners' ][ X_EVENT_UPDATED ] && X_System[ 'dispatch' ]( X_EVENT_UPDATED );   \r
        };\r
        \r
-       X_ViewPort._listeners && X_ViewPort._listeners[ X_EVENT_AFTER_UPDATE ] && X_ViewPort[ 'asyncDispatch' ]( X_EVENT_AFTER_UPDATE );\r
+       X_ViewPort[ '_listeners' ] && X_ViewPort[ '_listeners' ][ X_EVENT_AFTER_UPDATE ] && X_ViewPort[ 'asyncDispatch' ]( X_EVENT_AFTER_UPDATE );\r
 };\r
 \r
 /*\r
@@ -1367,7 +1367,7 @@ var X_Node__commitUpdate =
                                                if( X_UA[ 'Gecko' ] ){\r
                                                        if( that[ '_tag' ] === 'IFRAME' && ( !that[ '_attrs' ] || !that[ '_attrs' ][ 'src' ] ) ){\r
                                                                //elm.contentWindow.location.replace = elm.src = 'about:blank';\r
-                                                               that.attr( 'src', 'about:blank' );\r
+                                                               that[ 'attr' ]( 'src', 'about:blank' );\r
                                                        };\r
                                                };\r
                                        };\r
@@ -1382,7 +1382,7 @@ var X_Node__commitUpdate =
                                        parentElement.appendChild( elm );\r
                        };\r
                        \r
-                       if( that._listeners && ( that[ '_flags' ] & X_Node_State.ACTUAL_LISTENING ) === 0 ){\r
+                       if( that[ '_listeners' ] && ( that[ '_flags' ] & X_Node_State.ACTUAL_LISTENING ) === 0 ){\r
                                X_EventDispatcher_toggleAllEvents( that, true );// イベントの退避\r
                                that[ '_flags' ] |= X_Node_State.ACTUAL_LISTENING;\r
                        };\r
@@ -1779,7 +1779,7 @@ var X_Node__actualRemove =
                        if( !elm ) return;\r
                        \r
                        if( that[ '_flags' ] & X_Node_State.ACTUAL_LISTENING ){\r
-                               that._listeners && X_EventDispatcher_toggleAllEvents( that, false );// イベントの退避\r
+                               that[ '_listeners' ] && X_EventDispatcher_toggleAllEvents( that, false );// イベントの退避\r
                                that[ '_flags' ] &= ~X_Node_State.ACTUAL_LISTENING;\r
                        };\r
                        \r
@@ -1830,7 +1830,7 @@ var X_Node__actualRemove =
                        };\r
 \r
                        if( !elm ) return;\r
-                       that._listeners && X_EventDispatcher_toggleAllEvents( that, false );// イベントの退避\r
+                       that[ '_listeners' ] && X_EventDispatcher_toggleAllEvents( that, false );// イベントの退避\r
                        \r
                        // 破棄前にインタラクティブな属性値を控える\r
                        if( X_Node_Attr_HAS_VALUE[ that[ '_tag' ] ] && ( !that[ '_newAttrs' ] || !X_Object_inObject( 'value', that[ '_newAttrs' ] ) ) ){\r
index e7eded4..1268ac3 100644 (file)
@@ -8,21 +8,21 @@
  */\r
 \r
 var\r
-       X_Node_Selector__PSEUDO    = {\r
+       X_Node_Selector__PSEUDO = {\r
                'nth-child'        : 9,\r
                'nth-last-child'   : 14,\r
                'nth-of-type'      : 11,\r
                'nth-last-of-type' : 16,\r
-               root               : 4,\r
-               link               : 4,\r
-               lang               : 4,\r
-               empty              : 5,\r
-               target             : 6,\r
-               invalid            : 7,\r
-               enabled            : 7,\r
-               checked            : 7,\r
-               disabled           : 8,\r
-               contains           : 8,\r
+               'root'             : 4,\r
+               'link'             : 4,\r
+               'lang'             : 4,\r
+               'empty'            : 5,\r
+               'target'           : 6,\r
+               'invalid'          : 7,\r
+               'enabled'          : 7,\r
+               'checked'          : 7,\r
+               'disabled'         : 8,\r
+               'contains'         : 8,\r
                'last-child'       : 10,\r
                'only-child'       : 10,                        \r
                'first-child'      : 11,\r
@@ -41,16 +41,16 @@ var
                '@'   : 6  // XML 用の拡張、属性ノードを辿る http://www.marguerite.jp/Nihongo/WWW/RefDOM/_Attr_interface.html\r
        },\r
        X_Node_Selector__SELECTOR = {\r
-               ''    : 0, // none\r
-               tag   : 1,\r
-               '#'   : 2,\r
-               '.'   : 3,\r
-               ':'   : 4,\r
-               '['   : 5,\r
-               not   : 6,\r
-               scope : 7,\r
-               root  : 8,\r
-               link  : 9\r
+               ''      : 0, // none\r
+               'tag'   : 1,\r
+               '#'     : 2,\r
+               '.'     : 3,\r
+               ':'     : 4,\r
+               '['     : 5,\r
+               'not'   : 6,\r
+               'scope' : 7,\r
+               'root'  : 8,\r
+               'link'  : 9\r
        },\r
        X_Node_Selector__OPERATORS = { '==' : 1, '!=': 2, '~=': 3, '^=': 4, '$=': 5, '*=': 6, '|=': 7 }, // '':0 は属性が存在するならtrue\r
        // TODO { a : 1, A : 2, _ : 3,,, }\r
@@ -632,8 +632,8 @@ function X_Node_Selector__parse( query, last ){
        };\r
 \r
 var X_Node_Selector__filter = {\r
-       'root' : function( elem ){\r
-               return elem === ( elem.ownerDocument || elem.document ).documentElement;\r
+       'root' : function(){\r
+               return X_Node_html;\r
        },\r
        'target' : {\r
                m : function( flags, xnodes ){\r
@@ -684,7 +684,7 @@ var X_Node_Selector__filter = {
                                i = 0, n = -1, xnode, tmp, node;\r
                        for( ; xnode = xnodes[i]; ++i ){\r
                                tmp = true;\r
-                               for( node = xnode[ 'firstChild' ](); node; node = node.nextSibling() ){\r
+                               for( node = xnode[ 'firstChild' ](); node; node = node[ 'next' ]() ){\r
                                        if( node[ '_tag' ] || node[ '_text' ] ){\r
                                                tmp = false;\r
                                                break;\r
index b41eda9..60b6d27 100644 (file)
@@ -6,37 +6,35 @@
  */\r
 \r
 var X_HTMLParser_CHARS = {\r
-               A:1,B:1,C:1,D:1,E:1,F:1,G:1,H:1,I:1,J:1,K:1,L:1,M:1,N:1,O:1,P:1,Q:1,R:1,S:1,T:1,U:1,V:1,W:1,X:1,Y:1,Z:1,\r
-               a:2,b:2,c:2,d:2,e:2,f:2,g:2,h:2,i:2,j:2,k:2,l:2,m:2,n:2,o:2,p:2,q:2,r:2,s:2,t:2,u:2,v:2,w:2,x:2,y:2,z:2,\r
-               // "0" : 4, "1" : 4, "2" : 4, "3" : 4, "4" : 4, "5" : 4, "6" : 4, "7" : 4, "8" : 4, "9" : 4, closure compiler で minify すると ie4 で error、eval使う\r
+               'A':1,'B':1,'C':1,'D':1,'E':1,'F':1,'G':1,'H':1,'I':1,'J':1,'K':1,'L':1,'M':1,'N':1,'O':1,'P':1,'Q':1,'R':1,'S':1,'T':1,'U':1,'V':1,'W':1,'X':1,'Y':1,'Z':1,\r
+               'a':2,'b':2,'c':2,'d':2,'e':2,'f':2,'g':2,'h':2,'i':2,'j':2,'k':2,'l':2,'m':2,'n':2,'o':2,'p':2,'q':2,'r':2,'s':2,'t':2,'u':2,'v':2,'w':2,'x':2,'y':2,'z':2,\r
+               // "0" ': 4, "1" : 4, "2" : 4, "3" : 4, "4" : 4, "5" : 4, "6" : 4, "7" : 4, "8" : 4, "9" : 4, closure compiler で minify すると ie4 で error、eval使う\r
                \r
                '\t' : 16, '\r\n' : 16, '\r' : 16, '\n' : 16, '\f' : 16, '\b' : 16, ' ' : 16\r
        },\r
-       X_HTMLParser_alphabets  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',\r
-       X_HTMLParser_whiteSpace = '\t\r\n\f\b ',\r
 \r
        // Empty Elements - HTML 4.01\r
-       X_HTMLParser_empty = X_Dom_DTD_EMPTY,\r
+       // X_Dom_DTD_EMPTY\r
 \r
        // Block Elements - HTML 4.01\r
-       X_HTMLParser_block = {ADDRESS:1,APPLET:1,BLOCKQUOTE:1,BUTTON:1,CENTER:1,DD:1,DEL:1,DIR:1,DIV:1,DL:1,DT:1,FIELDSET:1,FORM:1,FRAMESET:1,HR:1,IFRAME:1,INS:1,\r
-               ISINDEX:1,LI:1,MAP:1,MENU:1,NOFRAMES:1,NOSCRIPT:1,OBJECT:1,OL:1,P:1,PRE:1,SCRIPT:1,TABLE:1,TBODY:1,TD:1,TFOOT:1,TH:1,THEAD:1,TR:1,UL:1 },\r
+       X_HTMLParser_block = {'ADDRESS':1,'APPLET':1,'BLOCKQUOTE':1,'BUTTON':1,'CENTER':1,'DD':1,'DEL':1,'DIR':1,'DIV':1,'DL':1,'DT':1,'FIELDSET':1,'FORM':1,'FRAMESET':1,'HR':1,'IFRAME':1,'INS':1,\r
+               'ISINDEX':1,'LI':1,'MAP':1,'MENU':1,'NOFRAMES':1,'NOSCRIPT':1,'OBJECT':1,'OL':1,'P':1,'PRE':1,'SCRIPT':1,'TABLE':1,'TBODY':1,'TD':1,'TFOOT':1,'TH':1,'THEAD':1,'TR':1,'UL':1 },\r
        // Inline Elements - HTML 4.01\r
-       X_HTMLParser_inline = {A:1,ABBR:1,ACRONYM:1,APPLET:1,B:1,BASEFONT:1,BDO:1,BIG:1,BR:1,BUTTON:1,CITE:1,CODE:1,DEL:1,DFN:1,EM:1,FONT:1,I:1,IFRAME:1,IMG:1,\r
-               INPUT:1,INS:1,KBD:1,LABEL:1,MAP:1,OBJECT:1,Q:1,S:1,SAMP:1,SCRIPT:1,SELECT:1,SMALL:1,SPAN:1,STRIKE:1,STRONG:1,SUB:1,SUP:1,TEXTAREA:1,TT:1,U:1,VAR:1},\r
-       // Elements that you can, intentionally, leave open\r
+       X_HTMLParser_inline = {'A':1,'ABBR':1,'ACRONYM':1,'APPLET':1,'B':1,'BASEFONT':1,'BDO':1,'BIG':1,'BR':1,'BUTTON':1,'CITE':1,'CODE':1,'DEL':1,'DFN':1,'EM':1,'FONT':1,'I':1,'IFRAME':1,'IMG':1,\r
+               'INPUT':1,'INS':1,'KBD':1,'LABEL':1,'MAP':1,'OBJECT':1,'Q':1,'S':1,'SAMP':1,'SCRIPT':1,'SELECT':1,'SMALL':1,'SPAN':1,'STRIKE':1,'STRONG':1,'SUB':1,'SUP':1,'TEXTAREA':1,'TT':1,'U':1,'VAR':1},\r
+       // Elements that you can,' intentionally,' leave open\r
        // (and which close themselves)\r
-       X_HTMLParser_closeSelf = {OLGROUP:1,DD:1,DT:1,LI:1,OPTIONS:1,P:1,TBODY:1,TD:1,TFOOT:1,TH:1,THEAD:1,TR:1}, // add tbody\r
+       X_HTMLParser_closeSelf = {'OLGROUP':1,'DD':1,'DT':1,'LI':1,'OPTIONS':1,'P':1,'TBODY':1,'TD':1,'TFOOT':1,'TH':1,'THEAD':1,'TR':1}, // add tbody\r
 \r
        X_HTMLParser_sisters = {\r
-               TH : { TD : 1 },\r
-               TD : { TH : 1 },\r
-               DT : { DD : 1 },\r
-               DD : { DT : 1 },\r
-               COLGROUP : { CAPTION : 1 },\r
-               THEAD    : { CAPTION : 1, COLGROUP : 1 },\r
-               TFOOT    : { CAPTION : 1, COLGROUP : 1, THEAD : 1, TBODY : 1 },\r
-               TBODY    : { CAPTION : 1, COLGROUP : 1, THEAD : 1, TFOOT : 1 }\r
+               'TH' : { 'TD' : 1 },\r
+               'TD' : { 'TH' : 1 },\r
+               'DT' : { 'DD' : 1 },\r
+               'DD' : { 'DT' : 1 },\r
+               'COLGROUP' : { 'CAPTION' : 1 },\r
+               'THEAD'    : { 'CAPTION' : 1, 'COLGROUP' : 1 },\r
+               'TFOOT'    : { 'CAPTION' : 1, 'COLGROUP' : 1, 'THEAD' : 1, 'TBODY' : 1 },\r
+               'TBODY'    : { 'CAPTION' : 1, 'COLGROUP' : 1, 'THEAD' : 1, 'TFOOT' : 1 }\r
        },\r
        /*\r
         * http://www.tohoho-web.com/html/tbody.htm\r
@@ -47,10 +45,9 @@ var X_HTMLParser_CHARS = {
         */\r
 \r
        // Attributes that have their values filled in disabled="disabled"\r
-       X_HTMLParser_fillAttrs = X_Node_Attr_noValue, //{checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};\r
 \r
        // Special Elements (can contain anything)\r
-       X_HTMLParser_special = { SCRIPT : 1, STYLE : 1, PLAINTEXT : 1, XMP : 1, TEXTAREA : 1 },\r
+       X_HTMLParser_special = { 'SCRIPT' : 1, 'STYLE' : 1, 'PLAINTEXT' : 1, 'XMP' : 1, 'TEXTAREA' : 1 },\r
        \r
        X_HTMLParser_skipFixNesting = false;\r
        \r
@@ -256,7 +253,7 @@ var X_HTMLParser_CHARS = {
 \r
        function X_HTMLParser_saveAttr( attrs, name, value ){\r
                name  = name.toLowerCase();\r
-               value = X_HTMLParser_fillAttrs[ name ] === 1 ? name : value;\r
+               value = X_Node_Attr_noValue[ name ] === 1 ? name : value;\r
                attrs[ attrs.length ] = {\r
                        name    : name,\r
                        value   : value,\r
@@ -278,7 +275,7 @@ var X_HTMLParser_CHARS = {
                        };\r
                };\r
                last && X_HTMLParser_closeSelf[ tagName ] === 1 && ( last === tagName || ( sisters[ tagName ] && sisters[ tagName ][ last ] === 1 ) ) && parseEndTag( stack, handler, last );\r
-               empty = empty || X_HTMLParser_empty[ tagName ];\r
+               empty = empty || X_Dom_DTD_EMPTY[ tagName ];\r
                !empty && ( stack[ stack.length ] = tagName );\r
                \r
                return handler.start( tagName, attrs, empty, index );\r
@@ -336,7 +333,7 @@ var X_HTMLParser_htmlStringToXNode = {
                                        };\r
                                };\r
                        };\r
-                       xnode.attr( _attrs );\r
+                       xnode[ 'attr' ]( _attrs );\r
                };\r
        },\r
        end : function(){\r
@@ -386,7 +383,7 @@ var X_HTMLParser_asyncHtmlStringToXNode = {
 function X_HTMLParser_asyncParse( html, ignoreError ){\r
        var dispatcher = X_Class_override( X_EventDispatcher(), X_HTMLParser_asyncHtmlStringToXNode ),\r
                worker = X_HTMLParser_htmlStringToXNode;\r
-       dispatcher[ 'listenOnce' ]( X_EVENT_SUCCESS, dispatcher, dispatcher.kill );\r
+       dispatcher[ 'listenOnce' ]( X_EVENT_SUCCESS, dispatcher, dispatcher[ 'kill' ] );\r
        worker.flat = [];\r
        worker.nest.length = 0;\r
        worker.ignoreError = ignoreError;\r
index 9e883b2..ed57307 100644 (file)
@@ -196,7 +196,7 @@ X_ViewPort[ 'listenOnce' ]( X_EVENT_PRE_INIT,
        X_HTMLParser_asyncParse( html, true )\r
                [ 'listen' ]( X_EVENT_PROGRESS,\r
                        function( e ){\r
-                               elmProgress.style.width = ( e.percent * 100 | 0 ) + '%';\r
+                               elmProgress.style.width = ( e[ 'percent' ] * 100 | 0 ) + '%';\r
                        }\r
                )\r
                [ 'listenOnce' ]( X_EVENT_SUCCESS,\r
@@ -308,6 +308,7 @@ X_TEMP.asyncCreateTree = function( parent, elems, elmProgress, async ){
                current = null;\r
        };\r
        // complete\r
+       console.log( 'xtree 作成完了' );\r
        X_ViewPort[ 'asyncDispatch' ]( X_EVENT_XTREE_READY );\r
        elmProgress.parentNode ? elmProgress.parentNode.removeChild( elmProgress ) : ( elmProgress.outerHTML = '' );\r
        delete X_TEMP.asyncCreateTree;\r
@@ -374,7 +375,7 @@ X_TEMP.bindElementToXnode =
                                                current.xtext = null;\r
                                                \r
                                                if( tag === 'TEXTAREA' ){\r
-                                                       xnode.attr( 'value', xnode[ 'html' ]() )[ 'empty' ]();\r
+                                                       xnode[ 'attr' ]( 'value', xnode[ 'html' ]() )[ 'empty' ]();\r
                                                        \r
                                                } else\r
                                                if( elm.childNodes && elm.childNodes.length ){\r
@@ -518,7 +519,7 @@ X_TEMP.bindElementToXnode =
                                        current.xtext = null;\r
                                        \r
                                        if( tag === 'TEXTAREA' ){\r
-                                               xnode.attr( 'value', xnode[ 'html' ]() )[ 'empty' ]();\r
+                                               xnode[ 'attr' ]( 'value', xnode[ 'html' ]() )[ 'empty' ]();\r
                                        } else\r
                                        if( xnode[ '_xnodes' ] && xnode[ '_xnodes' ].length ){\r
                                                return {\r
index 1a65f93..e64422c 100644 (file)
@@ -81,19 +81,19 @@ var X_Pulgin_FLASH_VERSION =
  */
 X[ 'Pulgin' ] = {
        
-       Flash              : X_Pulgin_FLASH_VERSION,
+       'Flash'              : X_Pulgin_FLASH_VERSION,
 
-       FlashEnabled       : !!X_Pulgin_FLASH_ENABLED,
+       'FlashEnabled'       : !!X_Pulgin_FLASH_ENABLED,
 
-       Silverlight        : X_Pulgin_SILVER_LIGHT_VERSION,
+       'Silverlight'        : X_Pulgin_SILVER_LIGHT_VERSION,
        
-       SilverlightEnabled : !!X_Pulgin_SILVER_LIGHT_ENABLED,
+       'SilverlightEnabled' : !!X_Pulgin_SILVER_LIGHT_ENABLED,
        
-       Unity              : X_Pulgin_UNITY_VERSION,
+       'Unity'              : X_Pulgin_UNITY_VERSION,
        
-       UnityEnabled       : !!X_Pulgin_UNITY_ENABLED,
+       'UnityEnabled'       : !!X_Pulgin_UNITY_ENABLED,
        
-       GearsEnabled       : X_Pulgin_GEARS_ENABLED
+       'GearsEnabled'       : X_Pulgin_GEARS_ENABLED
        
 };
 
index 3c25676..e88cb34 100644 (file)
@@ -40,7 +40,7 @@ X[ 'Util' ][ 'NinjaIframe' ] = X_EventDispatcher[ 'inherits' ](
                        // http://nanto.asablo.jp/blog/2011/12/08/6237308\r
                        // IE 6/7 で文書間通信を実現するための一案\r
                        if( X_UA[ 'IE' ] < 9 ){\r
-                               this.xnodeIframe.attr( 'src', 'about:blank' );\r
+                               this.xnodeIframe[ 'attr' ]( 'src', 'about:blank' );\r
                        };\r
                        // Safari 2.0.* bug: iframe's absolute position and src set.\r
                        if( !X_UA[ 'Webkit' ]  ){\r
@@ -67,6 +67,7 @@ X[ 'Util' ][ 'NinjaIframe' ] = X_EventDispatcher[ 'inherits' ](
                                                this._ready = true;\r
                                                return;\r
                                        };\r
+                                       break;\r
                                        \r
                                case 'readystatechange' :\r
                                        if( ( raw.readyState !== 'complete' && raw.readyState !== 'loaded' ) ) break;\r
@@ -81,6 +82,7 @@ X[ 'Util' ][ 'NinjaIframe' ] = X_EventDispatcher[ 'inherits' ](
                                        console.log( 'iframe load.' );\r
                                        this[ 'asyncDispatch' ]( X_EVENT_SUCCESS );\r
                                        break;\r
+\r
                                case 'error' :\r
                                        this[ 'asyncDispatch' ]( X_EVENT_ERROR );\r
                                        break;\r
@@ -116,7 +118,7 @@ X[ 'Util' ][ 'NinjaIframe' ] = X_EventDispatcher[ 'inherits' ](
                \r
                'close' : function(){\r
                        X_ViewPort[ 'unlisten' ]( X_EVENT_AFTER_UPDATE, this );\r
-                       this.xnodeIframe[ 'call' ]( 'close' );\r
+                       this.xnodeIframe.call( 'close' );\r
                        this.xnodeIframe.destroy();\r
                }\r
                \r
index b9cff54..2d69294 100644 (file)
@@ -74,7 +74,7 @@ var X_NET_TYPE_XHR   = 1,
  */\r
 var X_NET_Queue = X_EventDispatcher[ 'inherits' ](\r
                'XNetQueue',\r
-               X.Class.POOL_OBJECT,\r
+               X_Class.POOL_OBJECT,\r
                \r
                /** @lends X_NET_Queue.prototype */\r
                {\r
index c81dee5..6a570fc 100644 (file)
@@ -54,7 +54,7 @@ if( X_Net_XHR_ACTIVE_X ){
        X_Net_XHR_ACTIVE_X = X_Net_XHR_ACTIVE_X[ 1 ];\r
 };\r
 \r
-X.Net.XHR = {\r
+X[ 'Net' ][ 'XHR' ] = {\r
 \r
 /*\r
  * http://hakuhin.jp/as/import.html\r
@@ -62,13 +62,13 @@ X.Net.XHR = {
  * http://hakuhin.jp/as/javascript.html\r
  * Flash から JavaScript にアクセスする(3+)\r
  */\r
-       FLASH       : false,\r
+       'FLASH'       : false,\r
 \r
 // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest\r
 // Progress Events     Chrome7, firefox3.5, ie10, opera12, Safari?, Chrome for Android 0.16\r
-       PROGRESS    : false, //\r
+       'PROGRESS'    : false, //\r
 \r
-       UL_PROGRESS : false\r
+       'UL_PROGRESS' : false\r
 \r
 };\r
 \r
@@ -370,7 +370,7 @@ if( X_Net_XHR_W3C || X_Net_XHR_ACTIVE_X ){
                                this._timerID = 0;\r
                        },\r
                        \r
-                       onUploadProgress : X.Net.XHR.UL_PROGRESS && function( e ){\r
+                       onUploadProgress : X[ 'Net' ][ 'XHR' ][ 'UL_PROGRESS' ] && function( e ){\r
                                var raw  = X_NET_XHRWrapper[ '_rawObject' ].upload,\r
                                        live = !X_NET_XHRWrapper._canceled,\r
                                        states, data;\r
@@ -393,7 +393,7 @@ if( X_Net_XHR_W3C || X_Net_XHR_ACTIVE_X ){
        if( X_Net_XHR_ACTIVE_X ){ // win ie5-6\r
                X_NET_XHRWrapper[ 'listen' ]( 'readystatechange' );\r
        } else \r
-       if( X.Net.XHR.PROGRESS ){\r
+       if( X[ 'Net' ][ 'XHR' ][ 'PROGRESS' ] ){\r
                X_NET_XHRWrapper[ 'listen' ]( [ 'load', 'progress', 'error', 'timeout' ] ); //, 'abort'\r
        } else {\r
                X_NET_XHRWrapper[ 'listen' ]( [ 'load', 'readystatechange', 'error', 'timeout' ] ); //, 'abort'\r
index 04bfc4a..6c008f0 100644 (file)
@@ -19,8 +19,8 @@
  * TODO postMessage
  */
 
-X.Net.JSONP = {
-       cb : function( accessKey, jsonString, time, opt_json2FileSize ){
+X[ 'Net' ][ 'JSONP' ] = {
+       'cb' : function( accessKey, jsonString, time, opt_json2FileSize ){
                        if( accessKey !== X_NET_JSONP_ACCESS_KEY || !X_NET_JSONPWrapper._busy ) return;
                        
                        X_NET_JSONPWrapper._busy = false;
@@ -54,7 +54,7 @@ function X_NET_JSONP_loadScriptInNinjaIframe( url ){
                json2FileSize = 18103,
                html;
        
-       X_NET_JSONP_NinjaIframe || ( X_NET_JSONP_NinjaIframe = new X.Util.NinjaIframe() );
+       X_NET_JSONP_NinjaIframe || ( X_NET_JSONP_NinjaIframe = X[ 'Util' ][ 'NinjaIframe' ]() );
        
        // TODO '<scr'+'ipt> 化 恐らくアンチウイルスソフトが反応しないための対策
        // TODO postMessage の利用
@@ -164,7 +164,7 @@ function X_NET_JSONP_loadScriptInNinjaIframe( url ){
        };
        
        X_NET_JSONP_NinjaIframe
-               .refresh( html.join( '' ) )
+               [ 'refresh' ]( html.join( '' ) )
                [ 'listen' ]( [ X_EVENT_SUCCESS, X_EVENT_ERROR ], X_NET_JSONPWrapper, X_NET_JSONP_iframeListener );
 };
 
@@ -172,7 +172,7 @@ function X_NET_JSONP_loadScriptInNinjaIframe( url ){
 function X_NET_JSONP_iframeListener( e ){
        switch( e.type ){
                case X_EVENT_SUCCESS :
-                       console.log( 'iframe onload, but' );
+                       console.log( 'iframe onload, but ' + X_NET_JSONPWrapper._onloadCount + ' < ' + X_Net_JSONP_onloadCount );
                        if( ++X_NET_JSONPWrapper._onloadCount < X_Net_JSONP_onloadCount ) return;
                        // TODO callback が無ければ error
                        X_NET_JSONPWrapper[ 'asyncDispatch' ]( 1000, X_EVENT_ERROR );
index 7a70f5f..edd2dec 100644 (file)
@@ -42,7 +42,7 @@ function X_Audio_getAudioWrapper( proxy ){
 \r
 X[ 'Audio' ] = X_EventDispatcher[ 'inherits' ](\r
        'X.Audio',\r
-       X.Class.POOL_OBJECT,\r
+       X_Class.POOL_OBJECT,\r
        {\r
                'source'      : '',\r
                'backendName' : '',\r
index fb4a95f..0263875 100644 (file)
@@ -20,7 +20,7 @@ if( X_Audio_WebAudio_context ){
        
        X_Audio_WebAudioWrapper = X_EventDispatcher[ 'inherits' ](
                'X.AV.WebAudioWrapper',
-               X.Class.POOL_OBJECT,
+               X_Class.POOL_OBJECT,
                {
                        
                        url             : '',
index 14aee23..5122880 100644 (file)
@@ -11,7 +11,7 @@ var X_Audio_HTMLAudio_playTrigger =
                X_UA[ 'AndroidBrowser4' ] ? 'loadeddata' : \r
                X_UA[ 'OperaMobile' ] || X_UA[ 'OperaTablet' ] ? 'loadeddata' : 'canplay',\r
        X_Audio_HTMLAudioWrapper,\r
-       X_Audio_constructor = window.Audio || window.HTMLAudioElement,\r
+       X_Audio_constructor = window[ 'Audio' ] || window.HTMLAudioElement,\r
        X_Audio_rawAudio,\r
        // Opera Mobile 12 android4.4.4 & 2.3.5 は 2回目以降の currentTime へのセットで currentTime が更新されなくなるため、タイマーを使用する\r
        X_Audio_HTMLAudioWrapper_currentTimeFix  = !!X_UA[ 'OperaMobile' ] || !!X_UA[ 'OperaTablet' ], // || ( X_UA[ 'WinPhone' ] && X_UA[ 'IE9' ] ),\r
@@ -40,14 +40,14 @@ if( X_Audio_constructor && !X_Audio_HTMLAudioWrapper_badOperaAndroid ){
 \r
        if( X_Audio_rawAudio.canPlayType ){\r
                X_Audio_codecs = {\r
-             mp3  : X_Audio_rawAudio.canPlayType('audio/mpeg'),\r
-             opus : X_Audio_rawAudio.canPlayType('audio/ogg; codecs="opus"'),\r
-             ogg  : X_Audio_rawAudio.canPlayType('audio/ogg; codecs="vorbis"'),\r
-             wav  : X_Audio_rawAudio.canPlayType('audio/wav; codecs="1"'),\r
-             aac  : X_Audio_rawAudio.canPlayType('audio/aac'),\r
-             m4a  : X_Audio_rawAudio.canPlayType('audio/x-m4a') + X_Audio_rawAudio.canPlayType('audio/m4a') + X_Audio_rawAudio.canPlayType('audio/aac'),\r
-             mp4  : X_Audio_rawAudio.canPlayType('audio/x-mp4') + X_Audio_rawAudio.canPlayType('audio/mp4') + X_Audio_rawAudio.canPlayType('audio/aac'),\r
-             weba : X_Audio_rawAudio.canPlayType('audio/webm; codecs="vorbis"')\r
+             'mp3'  : X_Audio_rawAudio.canPlayType('audio/mpeg'),\r
+             'opus' : X_Audio_rawAudio.canPlayType('audio/ogg; codecs="opus"'),\r
+             'ogg'  : X_Audio_rawAudio.canPlayType('audio/ogg; codecs="vorbis"'),\r
+             'wav'  : X_Audio_rawAudio.canPlayType('audio/wav; codecs="1"'),\r
+             'aac'  : X_Audio_rawAudio.canPlayType('audio/aac'),\r
+             'm4a'  : X_Audio_rawAudio.canPlayType('audio/x-m4a') + X_Audio_rawAudio.canPlayType('audio/m4a') + X_Audio_rawAudio.canPlayType('audio/aac'),\r
+             'mp4'  : X_Audio_rawAudio.canPlayType('audio/x-mp4') + X_Audio_rawAudio.canPlayType('audio/mp4') + X_Audio_rawAudio.canPlayType('audio/aac'),\r
+             'weba' : X_Audio_rawAudio.canPlayType('audio/webm; codecs="vorbis"')\r
                };\r
                (function( k, v ){\r
                        for( k in X_Audio_codecs ){\r
@@ -60,19 +60,19 @@ if( X_Audio_constructor && !X_Audio_HTMLAudioWrapper_badOperaAndroid ){
        } else {\r
                // iOS3.2.3\r
                X_Audio_codecs = {\r
-             mp3  : X_UA[ 'IE' ] || X_UA[ 'Chrome' ] || ( X_UA[ 'Windows' ]  && X_UA[ 'Safari' ]  ),\r
-             ogg  : 5 <= X_UA[ 'Gecko' ] || X_UA[ 'Chrome' ] || X_UA[ 'Opera' ] ,\r
-             wav  : X_UA[ 'Gecko' ] || X_UA[ 'Opera' ] || ( X_UA[ 'Windows' ]  && X_UA[ 'Safari' ]  ),\r
-             aac  : X_UA[ 'IE' ] || X_UA[ 'WebKit' ],\r
-             m4a  : X_UA[ 'IE' ] || X_UA[ 'WebKit' ],\r
-             mp4  : X_UA[ 'IE' ] || X_UA[ 'WebKit' ],\r
-             weba : 2 <= X_UA[ 'Gecko' ] || 10.6 <= X_UA[ 'Opera' ] // firefox4+(Gecko2+)\r
+             'mp3'  : X_UA[ 'IE' ] || X_UA[ 'Chrome' ] || ( X_UA[ 'Windows' ]  && X_UA[ 'Safari' ]  ),\r
+             'ogg'  : 5 <= X_UA[ 'Gecko' ] || X_UA[ 'Chrome' ] || X_UA[ 'Opera' ] ,\r
+             'wav'  : X_UA[ 'Gecko' ] || X_UA[ 'Opera' ] || ( X_UA[ 'Windows' ]  && X_UA[ 'Safari' ]  ),\r
+             'aac'  : X_UA[ 'IE' ] || X_UA[ 'WebKit' ],\r
+             'm4a'  : X_UA[ 'IE' ] || X_UA[ 'WebKit' ],\r
+             'mp4'  : X_UA[ 'IE' ] || X_UA[ 'WebKit' ],\r
+             'weba' : 2 <= X_UA[ 'Gecko' ] || 10.6 <= X_UA[ 'Opera' ] // firefox4+(Gecko2+)\r
                };\r
        };\r
        \r
        X_Audio_HTMLAudioWrapper = X_EventDispatcher[ 'inherits' ](\r
                'X.AV.HTML5AudioWrapper',\r
-               X.Class.POOL_OBJECT,\r
+               X_Class.POOL_OBJECT,\r
                {\r
                        \r
                        proxy           : null,\r
index 6cd6f6c..c2a113b 100644 (file)
 var X_Audio_SLAudioWrapper,\r
        X_Audio_SLAudio_uid = 0;\r
 \r
-if( X.Pulgin.SilverlightEnabled ){\r
+if( X[ 'Pulgin' ][ 'SilverlightEnabled' ] ){\r
        \r
        // X.Node.inherits はできない。_rawObject は <object> でなく silverlight\r
        X_Audio_SLAudioWrapper = X_EventDispatcher[ 'inherits' ](\r
                'X.AV.SilverlightAudioWrapper',\r
-               X.Class.POOL_OBJECT,\r
+               X_Class.POOL_OBJECT,\r
                {\r
                        '_rawType'      : X_EventDispatcher_EVENT_TARGET_TYPE.SILVER_LIGHT,\r
                proxy           : null,\r
index 70de707..0ae487f 100644 (file)
@@ -147,7 +147,7 @@ X.UI.Attr.Support = X.UI.Attr.createAttrDef( false,
 \r
 X.UI.attrClassProto = null;\r
 \r
-X.UI.AttrClass = X_Class_create( 'X.UI.AttrClass', X.Class.POOL_OBJECT );\r
+X.UI.AttrClass = X_Class_create( 'X.UI.AttrClass', X_Class.POOL_OBJECT );\r
 \r
 \r
 X.UI.Attr.copy = function( proto, supports ){\r
index 729651d..62c9043 100644 (file)
@@ -1,6 +1,6 @@
 X.UI._AbstractUINode = X_EventDispatcher[ 'inherits' ](\r
        'X.UI._AbstractUINode',\r
-       X.Class.ABSTRACT | X.Class.PRIVATE_DATA,\r
+       X_Class.ABSTRACT | X_Class.PRIVATE_DATA,\r
        {\r
                phase             : 0,\r
                dirty             : X.UI.Dirty.CLEAN,\r
@@ -825,7 +825,7 @@ X.UI._AbstractUINode = X_EventDispatcher[ 'inherits' ](
                },\r
                \r
                dispatch : function( e ){\r
-                       //console.log( e.type + ' ' + ( this._listeners && this._listeners[ e.type ] ) );\r
+                       //console.log( e.type + ' ' + ( this[ '_listeners' ] && this[ '_listeners' ][ e.type ] ) );\r
                        var xve  = X.UI.Event,\r
                                ret  = X_EventDispatcher_dispatch.call( this, e ),\r
                                type = e.type || e;\r
@@ -870,7 +870,7 @@ X.UI._AbstractUINode.ceil = function( v ){
 \r
 X.UI.AbstractUINode = X_Class_create(\r
        'AbstractUINode',\r
-       X.Class.ABSTRACT | X.Class.SUPER_ACCESS,\r
+       X_Class.ABSTRACT | X_Class.SUPER_ACCESS,\r
        {\r
                parent : function(){\r
                        return X_Class_getPrivate( this ).parent;\r
index d98c944..e90abdd 100644 (file)
@@ -51,7 +51,7 @@ X.UI.Layout.Canvas = X.UI.Layout.create( {
 \r
 X.UI._Box = X.UI._AbstractUINode.inherits(\r
        'X.UI._Box',\r
-       X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS, // 現状 super 指定がないとconstructor未定擬時に親のconstructor が使われない\r
+       X_Class.PRIVATE_DATA | X_Class.SUPER_ACCESS, // 現状 super 指定がないとconstructor未定擬時に親のconstructor が使われない\r
        {\r
                layout          : null,\r
                uinodes         : null,\r
@@ -283,7 +283,7 @@ X.UI._Box = X.UI._AbstractUINode.inherits(
 \r
 X.UI.Box = X.UI.AbstractUINode.inherits(\r
        'Box',\r
-       X.Class.SUPER_ACCESS,\r
+       X_Class.SUPER_ACCESS,\r
        X.UI._Box,\r
        {\r
                Constructor : function(){\r
index a392078..2fc9bc5 100644 (file)
@@ -1,6 +1,6 @@
 X.UI._ChromeBox = X.UI._Box.inherits(\r
        '_ChromeBox',\r
-       X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS,\r
+       X_Class.PRIVATE_DATA | X_Class.SUPER_ACCESS,\r
        {\r
                chromeNodes   : null,\r
                containerNode : null,\r
@@ -45,7 +45,7 @@ X.UI._ChromeBox = X.UI._Box.inherits(
 \r
 X.UI.ChromeBox = X.UI.Box.inherits(\r
        'ChromeBox',\r
-       X.Class.SUPER_ACCESS,\r
+       X_Class.SUPER_ACCESS,\r
        X.UI._ChromeBox,\r
        {\r
                Constructor : function(){\r
index c9ec0a0..03de673 100644 (file)
@@ -43,7 +43,7 @@ var X_UI_ScrollBox_SUPPORT_ATTRS = {
 \r
 X.UI._ScrollBox = X.UI._ChromeBox.inherits(\r
        '_ScrollBox',\r
-       X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS,\r
+       X_Class.PRIVATE_DATA | X_Class.SUPER_ACCESS,\r
        {\r
                //elmScroll     : null,\r
                //elmScroller   : null,\r
@@ -453,8 +453,8 @@ function X_UI_ScrollBox_refresh( remove ){
        this.maxScrollX = this.boxWidth  - this.containerNode.boxWidth;\r
        this.maxScrollY = this.boxHeight - this.containerNode.boxHeight;\r
 \r
-       this.hasHScroll = this.User.attr( 'scrollX' ) && this.maxScrollX < 0;\r
-       this.hasVScroll = this.User.attr( 'scrollY' ) && this.maxScrollY < 0;\r
+       this.hasHScroll = this.User[ 'attr' ]( 'scrollX' ) && this.maxScrollX < 0;\r
+       this.hasVScroll = this.User[ 'attr' ]( 'scrollY' ) && this.maxScrollY < 0;\r
 \r
        if( !this.hasHScroll ){\r
                this.maxScrollX    = 0;\r
@@ -479,7 +479,7 @@ function X_UI_ScrollBox_refresh( remove ){
 \r
 X.UI.ScrollBox = X.UI.ChromeBox.inherits(\r
        'ScrollBox',\r
-       X.Class.SUPER_ACCESS,\r
+       X_Class.SUPER_ACCESS,\r
        X.UI._ScrollBox,\r
        {\r
                Constructor : function(){\r
index fce0b11..ceb896c 100644 (file)
@@ -1,6 +1,6 @@
 X.UI._Text = X.UI._AbstractUINode.inherits(\r
        '_Text',\r
-       X.Class.PRIVATE_DATA,\r
+       X_Class.PRIVATE_DATA,\r
        {\r
                content     : null,\r
                \r
@@ -21,12 +21,12 @@ X.UI._Text = X.UI._AbstractUINode.inherits(
 \r
 X.UI.Text = X.UI.AbstractUINode.inherits(\r
        'Text',\r
-       X.Class.SUPER_ACCESS,\r
+       X_Class.SUPER_ACCESS,\r
        X.UI._Text,\r
        {\r
                Constructor : function( opt_content, opt_cssObj ){\r
                        X_Class_newPrivate( this, opt_content );\r
-                       X_Type_isObject( opt_cssObj = opt_cssObj || opt_content ) && this.attr( opt_cssObj );\r
+                       X_Type_isObject( opt_cssObj = opt_cssObj || opt_content ) && this[ 'attr' ]( opt_cssObj );\r
                },\r
                content : function( v ){\r
                        var data = X_Class_getPrivate( this );\r
index 16521e3..8b567a8 100644 (file)
@@ -47,14 +47,14 @@ function X_UI_eventRellay( e ){
                };
                if( parent !== X_UI_rootData ){
                        data.hoverClassName && data.xnode[ 'removeClass' ]( data.hoverClassName );
-                       data._listeners && data._listeners[ X.UI.Event.POINTER_OUT ] && data[ 'dispatch' ]( e, X.UI.Event.POINTER_OUT, false ); // new Event
+                       data[ '_listeners' ] && data[ '_listeners' ][ X.UI.Event.POINTER_OUT ] && data[ 'dispatch' ]( e, X.UI.Event.POINTER_OUT, false ); // new Event
                        delete data.hovering;
                        list.splice( i, 1 );
                        continue;
                };
                if( !data.hovering ){
                        data.hoverClassName && data.xnode.addClassName( data.hoverClassName );
-                       data._listeners && data._listeners[ X.UI.Event.POINTER_IN ] && data[ 'dispatch' ]( e, X.UI.Event.POINTER_IN, true ); // new Event
+                       data[ '_listeners' ] && data[ '_listeners' ][ X.UI.Event.POINTER_IN ] && data[ 'dispatch' ]( e, X.UI.Event.POINTER_IN, true ); // new Event
                        data.hovering = true;
                };
        };
@@ -69,7 +69,7 @@ function X_UI_eventRellay( e ){
 
 X.UI._PageRoot = X.UI._Box.inherits(
        '_PageRoot',
-       X.Class.FINAL | X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS,
+       X_Class.FINAL | X_Class.PRIVATE_DATA | X_Class.SUPER_ACCESS,
        {
                layout                : X.UI.Layout.Canvas,