Parent Directory
|
Revision Log
|
Patch
| revision 1.82 by wakaba, Wed Mar 5 02:55:08 2008 UTC | revision 1.101 by wakaba, Sun Mar 9 05:12:05 2008 UTC | |
|---|---|---|
| # | Line 303 sub TABLE_IMS () { 0b1000000 } | Line 303 sub TABLE_IMS () { 0b1000000 } |
| 303 | sub ROW_IMS () { 0b10000000 } | sub ROW_IMS () { 0b10000000 } |
| 304 | sub BODY_AFTER_IMS () { 0b100000000 } | sub BODY_AFTER_IMS () { 0b100000000 } |
| 305 | sub FRAME_IMS () { 0b1000000000 } | sub FRAME_IMS () { 0b1000000000 } |
| 306 | sub SELECT_IMS () { 0b10000000000 } | |
| 307 | ||
| 308 | ## NOTE: "initial" and "before html" insertion modes have no constants. | |
| 309 | ||
| 310 | ## NOTE: "after after body" insertion mode. | |
| 311 | sub AFTER_HTML_BODY_IM () { AFTER_HTML_IMS | BODY_AFTER_IMS } | sub AFTER_HTML_BODY_IM () { AFTER_HTML_IMS | BODY_AFTER_IMS } |
| 312 | ||
| 313 | ## NOTE: "after after frameset" insertion mode. | |
| 314 | sub AFTER_HTML_FRAMESET_IM () { AFTER_HTML_IMS | FRAME_IMS } | sub AFTER_HTML_FRAMESET_IM () { AFTER_HTML_IMS | FRAME_IMS } |
| 315 | ||
| 316 | sub IN_HEAD_IM () { HEAD_IMS | 0b00 } | sub IN_HEAD_IM () { HEAD_IMS | 0b00 } |
| 317 | sub IN_HEAD_NOSCRIPT_IM () { HEAD_IMS | 0b01 } | sub IN_HEAD_NOSCRIPT_IM () { HEAD_IMS | 0b01 } |
| 318 | sub AFTER_HEAD_IM () { HEAD_IMS | 0b10 } | sub AFTER_HEAD_IM () { HEAD_IMS | 0b10 } |
| # | Line 319 sub IN_TABLE_IM () { TABLE_IMS } | Line 326 sub IN_TABLE_IM () { TABLE_IMS } |
| 326 | sub AFTER_BODY_IM () { BODY_AFTER_IMS } | sub AFTER_BODY_IM () { BODY_AFTER_IMS } |
| 327 | sub IN_FRAMESET_IM () { FRAME_IMS | 0b01 } | sub IN_FRAMESET_IM () { FRAME_IMS | 0b01 } |
| 328 | sub AFTER_FRAMESET_IM () { FRAME_IMS | 0b10 } | sub AFTER_FRAMESET_IM () { FRAME_IMS | 0b10 } |
| 329 | sub IN_SELECT_IM () { 0b01 } | sub IN_SELECT_IM () { SELECT_IMS | 0b01 } |
| 330 | sub IN_SELECT_IN_TABLE_IM () { SELECT_IMS | 0b10 } | |
| 331 | sub IN_COLUMN_GROUP_IM () { 0b10 } | sub IN_COLUMN_GROUP_IM () { 0b10 } |
| 332 | ||
| 333 | ## Implementations MUST act as if state machine in the spec | ## Implementations MUST act as if state machine in the spec |
| # | Line 2420 sub _construct_tree ($) { | Line 2428 sub _construct_tree ($) { |
| 2428 | ||
| 2429 | !!!next-token; | !!!next-token; |
| 2430 | ||
| $self->{insertion_mode} = BEFORE_HEAD_IM; | ||
| 2431 | undef $self->{form_element}; | undef $self->{form_element}; |
| 2432 | undef $self->{head_element}; | undef $self->{head_element}; |
| 2433 | $self->{open_elements} = []; | $self->{open_elements} = []; |
| 2434 | undef $self->{inner_html_node}; | undef $self->{inner_html_node}; |
| 2435 | ||
| 2436 | ## NOTE: The "initial" insertion mode. | |
| 2437 | $self->_tree_construction_initial; # MUST | $self->_tree_construction_initial; # MUST |
| 2438 | ||
| 2439 | ## NOTE: The "before html" insertion mode. | |
| 2440 | $self->_tree_construction_root_element; | $self->_tree_construction_root_element; |
| 2441 | $self->{insertion_mode} = BEFORE_HEAD_IM; | |
| 2442 | ||
| 2443 | ## NOTE: The "before head" insertion mode and so on. | |