| 249 |
mtext => FOREIGN_FLOW_CONTENT_EL, |
mtext => FOREIGN_FLOW_CONTENT_EL, |
| 250 |
}, |
}, |
| 251 |
$SVG_NS => { |
$SVG_NS => { |
| 252 |
foreignObject => FOREIGN_FLOW_CONTENT_EL, |
foreignObject => FOREIGN_FLOW_CONTENT_EL | MISC_SCOPING_EL, |
| 253 |
desc => FOREIGN_FLOW_CONTENT_EL, |
desc => FOREIGN_FLOW_CONTENT_EL, |
| 254 |
title => FOREIGN_FLOW_CONTENT_EL, |
title => FOREIGN_FLOW_CONTENT_EL, |
| 255 |
}, |
}, |
| 4518 |
pop @{$self->{open_elements}} |
pop @{$self->{open_elements}} |
| 4519 |
while $self->{open_elements}->[-1]->[1] & FOREIGN_EL; |
while $self->{open_elements}->[-1]->[1] & FOREIGN_EL; |
| 4520 |
|
|
| 4521 |
|
## NOTE: |<span><svg>| ... two parse errors, |<svg>| ... a parse error. |
| 4522 |
|
|
| 4523 |
$self->{insertion_mode} &= ~ IN_FOREIGN_CONTENT_IM; |
$self->{insertion_mode} &= ~ IN_FOREIGN_CONTENT_IM; |
| 4524 |
## Reprocess. |
## Reprocess. |
| 4525 |
next B; |
next B; |
| 7553 |
} |
} |
| 7554 |
} |
} |
| 7555 |
|
|
| 7556 |
!!!parse-error (type => 'start tag not allowed', |
## NOTE: |<marquee></body>|, |<svg><foreignobject></body>| |
| 7557 |
|
|
| 7558 |
|
!!!parse-error (type => 'unmatched end tag', |
| 7559 |
text => $token->{tag_name}, token => $token); |
text => $token->{tag_name}, token => $token); |
| 7560 |
## NOTE: Ignore the token. |
## NOTE: Ignore the token. |
| 7561 |
!!!next-token; |
!!!next-token; |
| 7867 |
|
|
| 7868 |
## Step 2 |
## Step 2 |
| 7869 |
S2: { |
S2: { |
| 7870 |
if ($node->[0]->manakai_local_name eq $token->{tag_name}) { |
my $node_tag_name = $node->[0]->manakai_local_name; |
| 7871 |
|
$node_tag_name =~ tr/A-Z/a-z/; # for SVG camelCase tag names |
| 7872 |
|
if ($node_tag_name eq $token->{tag_name}) { |
| 7873 |
## Step 1 |
## Step 1 |
| 7874 |
## generate implied end tags |
## generate implied end tags |
| 7875 |
while ($self->{open_elements}->[-1]->[1] & END_TAG_OPTIONAL_EL) { |
while ($self->{open_elements}->[-1]->[1] & END_TAG_OPTIONAL_EL) { |
| 7882 |
} |
} |
| 7883 |
|
|
| 7884 |
## Step 2 |
## Step 2 |
| 7885 |
if ($self->{open_elements}->[-1]->[0]->manakai_local_name |
my $current_tag_name |
| 7886 |
ne $token->{tag_name}) { |
= $self->{open_elements}->[-1]->[0]->manakai_local_name; |
| 7887 |
|
$current_tag_name =~ tr/A-Z/a-z/; |
| 7888 |
|
if ($current_tag_name ne $token->{tag_name}) { |
| 7889 |
!!!cp ('t431'); |
!!!cp ('t431'); |
| 7890 |
## NOTE: <x><y></x> |
## NOTE: <x><y></x> |
| 7891 |
!!!parse-error (type => 'not closed', |
!!!parse-error (type => 'not closed', |