X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F02_dom%2F02_XNode.js;h=451ea0eab0bccade77f61fab1ecf0f6a3f4df124;hb=36f999435e807f3d04f899b2a84eb1dc31df34b7;hp=c0bb1704ff2199ffa962ac40d701df92e867b487;hpb=eedd028ba64be2ea0828cf686f1d0ec3bb4010d5;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/02_dom/02_XNode.js b/0.6.x/js/02_dom/02_XNode.js index c0bb170..451ea0e 100644 --- a/0.6.x/js/02_dom/02_XNode.js +++ b/0.6.x/js/02_dom/02_XNode.js @@ -1195,31 +1195,25 @@ function X_Node_text( text ){ function X_Node_call( name /*, opt_args... */ ){ var l = arguments.length - 1, raw, func, args, params, i; - - X_Node_updateTimerID && X_Node_startUpdate(); - + switch( name ){ case 'nodeType' : return this[ '_tag' ] ? 1 : 3; - case 'text' : - return this[ 'text' ](); - case 'html' : - case 'innerHTML' : - return this[ 'html' ](); case 'outerHTML' : X_Node_outerXNode = X_Node_body; // == true ならなんでもよい。型を合わすために xbody にしている v = this[ 'html' ](); X_Node_outerXNode = null; return v; + case 'treeIsDirty' : + return !!X_Node_updateTimerID; case 'fontSize' : return X_Node_CSS_getCharSize( this ); - case 'GPU' : - return this[ '_flags' ] & X_Node_State.GPU_NOW ? 'NOW' : - this[ '_flags' ] & X_Node_State.GPU_RELEASE_RESERVED ? '解除予約' : ''; case 'inGPU' : return !!( this[ '_flags' ] & ( X_Node_State.GPU_NOW | X_Node_State.GPU_RELEASE_RESERVED ) ); }; + X_Node_updateTimerID && X_Node_startUpdate(); + raw = this[ '_rawObject' ] || X_UA_DOM.IE4 && X_Node__ie4getRawNode( this ); if( !raw ) return; @@ -1330,6 +1324,8 @@ function X_Node_startUpdate( time ){ if( time ){ // X.Timer 経由でないと発火しない このイベントでサイズを取ると無限ループに X_System[ '_listeners' ] && X_System[ '_listeners' ][ X_EVENT_UPDATED ] && X_System[ 'dispatch' ]( X_EVENT_UPDATED ); + } else { + X_System[ '_listeners' ] && X_System[ '_listeners' ][ X_EVENT_UPDATED ] && X_System[ 'asyncDispatch' ]( X_EVENT_UPDATED ); }; X_ViewPort[ '_listeners' ] && X_ViewPort[ '_listeners' ][ X_EVENT_AFTER_UPDATE ] && X_ViewPort[ 'asyncDispatch' ]( X_EVENT_AFTER_UPDATE );