OSDN Git Service

Version 0.6.134, add comments for closure compiler.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 09_XHTMLParser.js
index 1a3e692..b41eda9 100644 (file)
@@ -50,7 +50,9 @@ var X_HTMLParser_CHARS = {
        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
        function X_HTMLParser_exec( html, handler, async ){\r
                var special        = X_HTMLParser_special,\r
@@ -125,7 +127,7 @@ var X_HTMLParser_CHARS = {
                        \r
                        if( async && startTime + 15 <= X_Timer_now() && html ){\r
                                handler.progress( 1 - html.length / async[ 0 ] );\r
-                               X.Timer.once( 0, X_HTMLParser_exec, [ html, handler, async ] );\r
+                               X_Timer_once( 0, X_HTMLParser_exec, [ html, handler, async ] );\r
                                return;\r
                        };\r
                        \r
@@ -269,8 +271,8 @@ var X_HTMLParser_CHARS = {
                var inline   = X_HTMLParser_inline,\r
                        parseEndTag = X_HTMLParser_parseEndTag,\r
                        sisters  = X_HTMLParser_sisters;\r
-               if ( X_HTMLParser_block[ tagName ] === 1 ) {\r
-                       while ( last && inline[ last ] === 1 ) {\r
+               if( !X_HTMLParser_skipFixNesting && X_HTMLParser_block[ tagName ] === 1 ){\r
+                       while( last && inline[ last ] === 1 ){\r
                                parseEndTag( stack, handler, last );\r
                                last = stack[ stack.length - 1 ];\r
                        };\r
@@ -316,7 +318,7 @@ var X_HTMLParser_htmlStringToXNode = {
                        l      = nest.length,\r
                        attr, name, i, _attrs; //, toIndex;\r
                if( l ){\r
-                       xnode = nest[ l - 1 ].create( tagName );\r
+                       xnode = nest[ l - 1 ][ 'create' ]( tagName );\r
                } else {\r
                        xnode = flat[ flat.length ] = X_Doc_create( tagName );\r
                };\r
@@ -325,7 +327,7 @@ var X_HTMLParser_htmlStringToXNode = {
                        _attrs = {};\r
                        for( ; i; ){\r
                                if( attr = attrs[ --i ] ){\r
-                                       if( X.Type.isString( attr ) ){\r
+                                       if( X_Type_isString( attr ) ){\r
                                                name = attr;\r
                                                _attrs[ name ] = true;\r
                                        } else {\r
@@ -342,12 +344,12 @@ var X_HTMLParser_htmlStringToXNode = {
        },\r
        chars : function( text ){\r
                if( X_HTMLParser_htmlStringToXNode.nest.length ){\r
-                       X_HTMLParser_htmlStringToXNode.nest[ X_HTMLParser_htmlStringToXNode.nest.length - 1 ].createText( text );\r
+                       X_HTMLParser_htmlStringToXNode.nest[ X_HTMLParser_htmlStringToXNode.nest.length - 1 ][ 'createText' ]( text );\r
                } else {\r
                        X_HTMLParser_htmlStringToXNode.flat[ X_HTMLParser_htmlStringToXNode.flat.length ] = X_Doc_createText( text );\r
                };\r
        },\r
-       comment : X.emptyFunction\r
+       comment : X_emptyFunction\r
 };\r
 \r
 function X_HtmlParser_parse( html, ignoreError ){\r
@@ -364,27 +366,27 @@ function X_HtmlParser_parse( html, ignoreError ){
 var X_HTMLParser_asyncHtmlStringToXNode = {\r
        err : function( html ){\r
                X_HTMLParser_htmlStringToXNode.err( html );\r
-               this.asyncDispatch( X.Event.ERROR );\r
+               this[ 'asyncDispatch' ]( X_EVENT_ERROR );\r
        },\r
        start   : X_HTMLParser_htmlStringToXNode.start,\r
        end     : X_HTMLParser_htmlStringToXNode.end,\r
        chars   : X_HTMLParser_htmlStringToXNode.chars,\r
-       comment : X.emptyFunction,\r
+       comment : X_emptyFunction,\r
        \r
        progress : function( pct ){\r
-               this.asyncDispatch( { type : X.Event.PROGRESS, percent : pct } );\r
+               this[ 'asyncDispatch' ]( { type : X_EVENT_PROGRESS, percent : pct } );\r
        },\r
        complete : function(){\r
                var ret = X_HTMLParser_htmlStringToXNode.flat;\r
                delete X_HTMLParser_htmlStringToXNode.flat;\r
-               this.asyncDispatch( { type : X.Event.SUCCESS, xnodes : ret } );\r
+               this[ 'asyncDispatch' ]( { type : X_EVENT_SUCCESS, xnodes : ret } );\r
        }\r
 };\r
 \r
 function X_HTMLParser_asyncParse( html, ignoreError ){\r
-       var dispatcher = X_Class_override( new X.EventDispatcher(), X_HTMLParser_asyncHtmlStringToXNode ),\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