OSDN Git Service

Version 0.6.102, rename files.
authoritozyun <itozyun@user.sourceforge.jp>
Mon, 13 Oct 2014 10:06:16 +0000 (19:06 +0900)
committeritozyun <itozyun@user.sourceforge.jp>
Mon, 13 Oct 2014 10:06:16 +0000 (19:06 +0900)
15 files changed:
0.6.x/js/01_core/11_XClass.js
0.6.x/js/01_core/13_XEventDispatcher.js
0.6.x/js/01_core/15_XSystem.js
0.6.x/js/01_core/16_XViewPort.js
0.6.x/js/01_core/17_XLogger.js
0.6.x/js/02_dom/01_XDTD.js [moved from 0.6.x/js/02_dom/01_XDomDTD.js with 100% similarity]
0.6.x/js/02_dom/02_XNode.js [moved from 0.6.x/js/02_dom/02_XDomNode.js with 100% similarity]
0.6.x/js/02_dom/04_XBoxModel.js [moved from 0.6.x/js/02_dom/04_XDomBoxModel.js with 100% similarity]
0.6.x/js/02_dom/05_XNodeAttr.js [moved from 0.6.x/js/02_dom/05_XDomAttr.js with 100% similarity]
0.6.x/js/02_dom/06_XNodeCSS.js [moved from 0.6.x/js/02_dom/06_XDomStyle.js with 100% similarity]
0.6.x/js/02_dom/07_XNodeList.js [moved from 0.6.x/js/02_dom/07_XDomNodeList.js with 100% similarity]
0.6.x/js/02_dom/08_XNodeSelector.js [moved from 0.6.x/js/02_dom/08_XDomSelector.js with 100% similarity]
0.6.x/js/02_dom/09_XHTMLParser.js [moved from 0.6.x/js/02_dom/09_XDomParser.js with 100% similarity]
0.6.x/js/02_dom/22_XTreeBuilder.js [moved from 0.6.x/js/02_dom/22_XDomBuilder.js with 100% similarity]
0.6.x/js/import.js

index 8a09da7..0379861 100644 (file)
@@ -173,10 +173,8 @@ X.Class = {
                        classDef.Constructor = props.Constructor;\r
                };\r
 \r
-               // TODO use X.Function\r
-               klass  = X_Closure_actualClosure( hash = { _ : X_Class_actualConstructor } );//new Function( 'var a=arguments,f=a.callee;if(f.__new)return f.__new(a)' );\r
+               klass  = X_Closure_actualClosure( hash = { _ : X_Class_actualConstructor } ); // TODO hash = classDef\r
                hash.c = klass;\r
-               //klass.__new = X_Class_actualConstructor;\r
                klass.superClassOf = X_Class_superClassOf;\r
                klass.subClassOf   = X_Class_subClassOf;\r
                \r
@@ -224,15 +222,9 @@ X.Class = {
                return klass;\r
        },\r
        \r
-       _getClass    : X_Class_getClass,\r
-       \r
-       _getClassDef : X_Class_getClassDef,\r
-       \r
        _newPrivate  : X_Class_newPrivate,\r
        \r
-       _getPrivate  : X_Class_getPrivate,\r
-       \r
-       _override    : X_Class_override\r
+       _getPrivate  : X_Class_getPrivate\r
        \r
 };\r
 \r
index 24fea1b..bd69138 100644 (file)
@@ -69,7 +69,7 @@ X.EventDispatcher =
                 * _rawObject には HTMLElement, window, document, XHR といったイベントターゲットオブジェクトを設定します。\r
                 * _rawObject が設定されていると on(), off() 時に addEventListener(DOM Level2) や detachEvent(ie5~8), on~(DOM0) 等を操作します。\r
                 * _rawObject は最初の on() 前に設定しておかないと addEventListener 等が意図したように行われません。\r
-                * X.Dom.Node では非同期に HTMLElement を生成していて、要素生成以前に on, off を呼び出すことができます。これは適宜に migrateEvent, restoreEvent を呼んで解決しているためです。\r
+                * X.Node では非同期に HTMLElement を生成していて、要素生成以前に on, off を呼び出すことができます。これは適宜に migrateEvent, restoreEvent を呼んで解決しているためです。\r
                 * @private\r
                 * @type {Object}\r
                 */\r
@@ -348,7 +348,7 @@ function X_EventDispatcher_listen( type, opt_arg1, opt_arg2, opt_arg3 ){
                return this;\r
        };\r
        \r
-       raw = this._rawObject || this._ie4getRawNode && this._ie4getRawNode();\r
+       raw = this._rawObject || X_UA_DOM.IE4 && X_Node__ie4getRawNode( this );\r
        add = raw && ( !list || !list[ type ] ) && X.Type.isString( type );\r
        \r
        if( this.listening( type, opt_arg1, opt_arg2, opt_arg3 ) ) return this;\r
@@ -445,7 +445,7 @@ function X_EventDispatcher_unlisten( opt_type, opt_arg1, opt_arg2, opt_arg3 ){
                delete f.once;\r
                _list.splice( i, 1 );\r
                if( !_list.length ){\r
-                       raw  = this._rawObject || this._ie4getRawNode && this._ie4getRawNode();\r
+                       raw  = this._rawObject || X_UA_DOM.IE4 && X_Node__ie4getRawNode( this );\r
                        delete list[ opt_type ];\r
                        if( empty = X_Object_isEmpty( list ) ) delete this._listeners;\r
                        if( raw && '' + parseFloat( opt_type ) !== '' + opt_type ){ // 数字イベントの除外\r
@@ -703,7 +703,7 @@ if( X.UA.WebKit < 525.13 ){ // Safari3-
 // 退避したイベントの復帰\r
 function X_EventDispatcher_toggleAllEvents( that, add ){\r
        var list = that._listeners,\r
-               raw  = that._rawObject || that._ie4getRawNode && that._ie4getRawNode(),\r
+               raw  = that._rawObject || X_UA_DOM.IE4 && X_Node__ie4getRawNode( that ),\r
                f    = add ? X_EventDispatcher_addEvent : X_EventDispatcher_removeEvent,\r
                type;\r
        if( !list || !raw ) return;\r
index 77df8aa..b244a35 100644 (file)
@@ -1,6 +1,6 @@
 \r
 \r
-var X_System = X.Class._override(\r
+var X_System = X_Class_override(\r
        new X.EventDispatcher(),\r
        {\r
                monitor : function(){\r
index b2313dd..8f65140 100644 (file)
@@ -6,9 +6,11 @@ var X_ViewPort_readyState,
        X_ViewPort_width,
        X_ViewPort_height,
        X_ViewPort_baseFontSize,
+       X_ViewPort_vScrollbarSize,
+       X_ViewPort_hScrollbarSize,
        
        X_Dom_detectFontSize = !( X.UA.IE < 9 || X.UA.iOS ) && function(){
-                       var size = Node._fontSizeNode._rawObject.offsetHeight;
+                       var size = X_Node_fontSizeNode._rawObject.offsetHeight;
                        if( X_ViewPort_baseFontSize !== size ){
                                X_ViewPort_baseFontSize && X_ViewPort.asyncDispatch( { type : X.Event.BASE_FONT_RESIZED, fontSize : size, w : X_ViewPort_width, h : X_ViewPort_height } );
                                X_ViewPort_baseFontSize = size;
@@ -24,7 +26,7 @@ var X_ViewPort_readyState,
        
        X_ViewPort_document = new X.EventDispatcher( document ),
 
-X_ViewPort = X.Class._override(
+X_ViewPort = X_Class_override(
        new X.EventDispatcher( window ),
        {
 
@@ -43,7 +45,7 @@ X_ViewPort = X.Class._override(
                                        
                                        X_ViewPort.unlisten();
                                        X_ViewPort_document.unlisten();
-                                       Node._html._actualRemove( true );
+                                       X_Node__actualRemove( X_Node_html, true );
                                        break;
                                case 'visibilitychange' :
                                        X_ViewPort.dispatch( { type : ( X_ViewPort_active = document[ 'hidden' ] ) ? X.Event.VIEW_DEACTIVATE : X.Event.VIEW_ACTIVATE } );
@@ -130,7 +132,7 @@ X.ViewPort = {
        //http://onozaty.hatenablog.com/entry/20060803/p1
        // Safari2.0.4では標準・互換どちらも document.body
                
-               Node._body._updateTimerID && Node._body._startUpdate();
+               X_Node_body._updateTimerID && X_Node_startUpdate();
                /*X.UA.Opera ?
                        ( document.documentElement && document.documentElement.clientWidth ?
                                new Function( 'return[document.documentElement.clientWidth,document.documentElement.clientHeight]' ) :
@@ -145,28 +147,28 @@ X.ViewPort = {
        getScrollPosition :
                window.pageXOffset !== undefined ?
                        ( function(){
-                               Node._body._updateTimerID && Node._body._startUpdate();
+                               X_Node_body._updateTimerID && X_Node_startUpdate();
                                return[ window.pageXOffset, window.pageYOffset ];
                        } ) :
                window.scrollLeft  !== undefined ?
                        ( function(){
-                               Node._body._updateTimerID && Node._body._startUpdate();
+                               X_Node_body._updateTimerID && X_Node_startUpdate();
                                return[ window.scrollLeft, window.scrollTop ];
                        } ) :
                        ( function(){
-                               Node._body._updateTimerID && Node._body._startUpdate();
+                               X_Node_body._updateTimerID && X_Node_startUpdate();
                                // body は Safari2-
                                return[ X_ViewPort_rootElement.scrollLeft || document.body.scrollLeft, X_ViewPort_rootElement.scrollTop || document.body.scrollTop ];
                        } ),
 
        getScrollbarSize : function(){
-               return [ X.Dom.BoxModel.vScrollbarSize, X.Dom.BoxModel.hScrollbarSize ];        
+               return [ X_ViewPort_vScrollbarSize, X_ViewPort_hScrollbarSize ];        
        },
        
        getBaseFontSize : function(){
-               if( Node._body._updateTimerID ){
-                       Node._body._startUpdate();
-                       return X_ViewPort_baseFontSize = Node._fontSizeNode._rawObject.offsetHeight;
+               if( X_Node_body._updateTimerID ){
+                       X_Node_startUpdate();
+                       return X_ViewPort_baseFontSize = X_Node_fontSizeNode._rawObject.offsetHeight;
                };
                return X_ViewPort_baseFontSize;
        }
@@ -215,7 +217,7 @@ X.ViewPort = {
                                                };
                                        };
                                        
-                                       size = Node._fontSizeNode._rawObject.offsetHeight;
+                                       size = X_Node_fontSizeNode._rawObject.offsetHeight;
                                        if( X_ViewPort_baseFontSize !== size ){
                                                X_ViewPort_baseFontSize && X_ViewPort.asyncDispatch( { type : X.Event.BASE_FONT_RESIZED, fontSize : size, w : X_ViewPort_width, h : X_ViewPort_height  } );
                                                X_ViewPort_baseFontSize = size;
@@ -269,11 +271,11 @@ X.ViewPort = {
 
                        X_ViewPort_rootElement = document.compatMode !== 'CSS1Compat' ? elmBody : elmHtml || elmBody;
 
-                       html = Node._html = elmHtml && new Node( elmHtml );
+                       html = X.Doc.html = X_Node_html = elmHtml && new Node( elmHtml );
                
-                       head = Node._head = elmHead && new Node( elmHead );
+                       head = X.Doc.head = X_Node_head = elmHead && new Node( elmHead );
                
-                       body = Node._body = new Node( elmBody );
+                       body = X.Doc.body = X_Node_body = new Node( elmBody );
                        
                        body._root   = html._root = head._root = body;// _root は html だろ
                        body.parent  = head.parent = html;
@@ -296,17 +298,43 @@ X.ViewPort = {
                        X_ViewPort.listenOnce( X_TEMP.SYSTEM_EVENT_XTREE, function(){
                                X_ViewPort_readyState = X_TEMP.SYSTEM_EVENT_INIT;
                                //X.UA.Opera7 && alert( 'bc' );
-                               Node._body.appendAt( 0,
-                                       Node._systemNode = Node.create( 'div', { 'class' : 'hidden-system-node' } ),
-                                       Node._fontSizeNode = Node.create( 'div', { 'class' : 'hidden-system-node' } ).cssText( 'line-height:1;height:1em;' ).text( 'X' )
-                               )._startUpdate();
+                               X_Node_body.appendAt( 0,
+                                       X_Node_systemNode = Node.create( 'div', { 'class' : 'hidden-system-node' } ),
+                                       X_Node_fontSizeNode = Node.create( 'div', { 'class' : 'hidden-system-node' } ).cssText( 'line-height:1;height:1em;' ).text( 'X' )
+                               );
+                               X_Node_startUpdate();
 
                                X_ViewPort.asyncDispatch( X_TEMP.SYSTEM_EVENT_INIT );
                        } );
 
                        X_ViewPort.listenOnce( X_TEMP.SYSTEM_EVENT_INIT, function(){
-                               var size = X_ViewPort_getWindowSize();
+                               var size = X_ViewPort_getWindowSize(),
                                
+                               // http://jsdo.it/imaya/kTYg
+                                       body = document.body,
+                                       defaultOverflow = document.body.style.overflow,
+                                       w, h;
+                       
+                               body.style.overflow = 'hidden';
+                               w = body.clientWidth;
+                               h = body.clientHeight;
+                       
+                               body.style.overflow = 'scroll';
+                               w -= body.clientWidth;
+                               h -= body.clientHeight;
+                       
+                               if( !w ) w = body.offsetWidth  - body.clientWidth;
+                               if( !h ) h = body.offsetHeight - body.clientHeight;
+                               body.style.overflow = defaultOverflow; 
+                       
+                               X_ViewPort_vScrollbarSize = w;
+                               X_ViewPort_hScrollbarSize = h;
+                               if( h <= 0 ){ // ie6, ie11, firefox で 負の値が返る
+                                       console.log( 'invalid hScrollbarSize: ' + h );
+                                       X_ViewPort_hScrollbarSize = w;
+                               };
+                               
+                               //
                                if( X_Dom_orientationchange ){
                                        X_ViewPort.listen( 'orientationchange', X_Dom_orientationchange );
                                };
@@ -318,7 +346,7 @@ X.ViewPort = {
                                        X.Timer.add( 333, X_ViewPort_resize );
                                };
                                
-                               X_ViewPort_baseFontSize = Node._fontSizeNode._rawObject.offsetHeight;
+                               X_ViewPort_baseFontSize = X_Node_fontSizeNode._rawObject.offsetHeight;
                                
                                X_ViewPort_readyState = X.Event.XDOM_READY;
                                X_ViewPort.asyncDispatch( { type : X.Event.XDOM_READY, w : X_ViewPort_width = size[ 0 ], h : X_ViewPort_height = size[ 1 ] } );
index 2e310c2..a813955 100644 (file)
@@ -24,7 +24,7 @@ X.Logger = {
                } else\r
                if( X.Event.XDOM_READY <= X_ViewPort_readyState ){\r
                        if( !( $Area = X.Logger._$LogArea ) ){\r
-                               $Area = X.Logger._$LogArea = X.Dom.Node( 'div' ).addToRoot( 0 );\r
+                               $Area = X.Logger._$LogArea = X.Node( 'div' ).addToRoot( 0 );\r
                        };\r
                        $Area.add( '<p>' + msg + '</p>' );\r
                } else          \r
index 18ff159..13ca956 100644 (file)
                'js/01_core/17_XLogger.js',\r
 \r
                \r
-               //'js/02_dom/00_XDom.js',// XViewport\r
-               'js/02_dom/01_XDomDTD.js',\r
-               'js/02_dom/01_XDomDTD.js',\r
-               'js/02_dom/02_XDomNode.js',\r
+               'js/02_dom/00_XDoc.js',\r
+               'js/02_dom/01_XDTD.js',\r
+               'js/02_dom/02_XNode.js',\r
                'js/02_dom/03_XDomEvent.js',\r
-               'js/02_dom/04_XDomBoxModel.js',\r
-               'js/02_dom/05_XDomAttr.js',\r
-               'js/02_dom/06_XDomStyle.js',\r
-               'js/02_dom/07_XDomNodeList.js',\r
-               'js/02_dom/08_XDomSelector.js',\r
-               'js/02_dom/09_XDomParser.js',\r
-               'js/02_dom/22_XDomBuilder.js',\r
+               'js/02_dom/04_XBoxModel.js',\r
+               'js/02_dom/05_XNodeAttr.js',\r
+               'js/02_dom/06_XNodeCSS.js',\r
+               'js/02_dom/07_XNodeList.js',\r
+               'js/02_dom/08_XNodeSelector.js',\r
+               'js/02_dom/09_XHTMLParser.js',\r
+               'js/02_dom/22_XTreeBuilder.js',\r
 \r
                'js/03_plugin/00_XPlugin.js',\r
 \r