/[suikacvs]/markup/html/whatpm/Whatpm/HTML.pm.src
Suika

Diff of /markup/html/whatpm/Whatpm/HTML.pm.src

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.139 by wakaba, Sat May 24 04:26:27 2008 UTC revision 1.140 by wakaba, Sat May 24 09:59:52 2008 UTC
# Line 3374  sub _reset_insertion_mode ($) { Line 3374  sub _reset_insertion_mode ($) {
3374        if ($self->{open_elements}->[0]->[0] eq $node->[0]) {        if ($self->{open_elements}->[0]->[0] eq $node->[0]) {
3375          $last = 1;          $last = 1;
3376          if (defined $self->{inner_html_node}) {          if (defined $self->{inner_html_node}) {
3377            if ($self->{inner_html_node}->[1] & TABLE_CELL_EL) {            !!!cp ('t28');
3378              !!!cp ('t27');            $node = $self->{inner_html_node};
3379              #          } else {
3380            } else {            die "_reset_insertion_mode: t27";
             !!!cp ('t28');  
             $node = $self->{inner_html_node};  
           }  
3381          }          }
3382        }        }
3383              
3384      ## Step 4..14        ## Step 4..14
3385      my $new_mode;        my $new_mode;
3386      if ($node->[1] & FOREIGN_EL) {        if ($node->[1] & FOREIGN_EL) {
3387        ## NOTE: Strictly spaking, the line below only applies to MathML and          !!!cp ('t28.1');
3388        ## SVG elements.  Currently the HTML syntax supports only MathML and          ## NOTE: Strictly spaking, the line below only applies to MathML and
3389        ## SVG elements as foreigners.          ## SVG elements.  Currently the HTML syntax supports only MathML and
3390        $new_mode = $self->{insertion_mode} | IN_FOREIGN_CONTENT_IM;          ## SVG elements as foreigners.
3391        ## ISSUE: What is set as the secondary insertion mode?          $new_mode = $self->{insertion_mode} | IN_FOREIGN_CONTENT_IM;
3392      } else {          ## ISSUE: What is set as the secondary insertion mode?
3393        $new_mode = {        } elsif ($node->[1] & TABLE_CELL_EL) {
3394            if ($last) {
3395              !!!cp ('t28.2');
3396              #
3397            } else {
3398              !!!cp ('t28.3');
3399              $new_mode = IN_CELL_IM;
3400            }
3401          } else {
3402            !!!cp ('t28.4');
3403            $new_mode = {
3404                        select => IN_SELECT_IM,                        select => IN_SELECT_IM,
3405                        ## NOTE: |option| and |optgroup| do not set                        ## NOTE: |option| and |optgroup| do not set
3406                        ## insertion mode to "in select" by themselves.                        ## insertion mode to "in select" by themselves.
                       td => IN_CELL_IM,  
                       th => IN_CELL_IM,  
3407                        tr => IN_ROW_IM,                        tr => IN_ROW_IM,
3408                        tbody => IN_TABLE_BODY_IM,                        tbody => IN_TABLE_BODY_IM,
3409                        thead => IN_TABLE_BODY_IM,                        thead => IN_TABLE_BODY_IM,
# Line 3410  sub _reset_insertion_mode ($) { Line 3415  sub _reset_insertion_mode ($) {
3415                        body => IN_BODY_IM,                        body => IN_BODY_IM,
3416                        frameset => IN_FRAMESET_IM,                        frameset => IN_FRAMESET_IM,
3417                       }->{$node->[0]->manakai_local_name};                       }->{$node->[0]->manakai_local_name};
3418      }        }
3419      $self->{insertion_mode} = $new_mode and return if defined $new_mode;        $self->{insertion_mode} = $new_mode and return if defined $new_mode;
3420                
3421        ## Step 15        ## Step 15
3422        if ($node->[1] & HTML_EL) {        if ($node->[1] & HTML_EL) {

Legend:
Removed from v.1.139  
changed lines
  Added in v.1.140

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24