| 86 |
LI_EL | |
LI_EL | |
| 87 |
P_EL | |
P_EL | |
| 88 |
|
|
| 89 |
|
## ISSUE: option, optgroup, rt, rp? |
| 90 |
|
|
| 91 |
BODY_EL | |
BODY_EL | |
| 92 |
HTML_EL | |
HTML_EL | |
| 93 |
TABLE_CELL_EL | |
TABLE_CELL_EL | |
| 132 |
FORM_EL | |
FORM_EL | |
| 133 |
FRAMESET_EL | |
FRAMESET_EL | |
| 134 |
HEADING_EL | |
HEADING_EL | |
|
OPTION_EL | |
|
|
OPTGROUP_EL | |
|
| 135 |
SELECT_EL | |
SELECT_EL | |
| 136 |
TABLE_ROW_EL | |
TABLE_ROW_EL | |
| 137 |
TABLE_ROW_GROUP_EL | |
TABLE_ROW_GROUP_EL | |
| 7398 |
} |
} |
| 7399 |
!!!next-token; |
!!!next-token; |
| 7400 |
next B; |
next B; |
| 7401 |
|
} elsif ($token->{tag_name} eq 'optgroup' or |
| 7402 |
|
$token->{tag_name} eq 'option') { |
| 7403 |
|
## has an |option| element in scope |
| 7404 |
|
INSCOPE: for (reverse 0..$#{$self->{open_elements}}) { |
| 7405 |
|
my $node = $self->{open_elements}->[$_]; |
| 7406 |
|
if ($node->[1] & OPTION_EL) { |
| 7407 |
|
!!!cp ('t397.1'); |
| 7408 |
|
## NOTE: As if </option> |
| 7409 |
|
!!!back-token; # <option> or <optgroup> |
| 7410 |
|
$token = {type => END_TAG_TOKEN, tag_name => 'option', |
| 7411 |
|
line => $token->{line}, column => $token->{column}}; |
| 7412 |
|
next B; |
| 7413 |
|
} elsif ($node->[1] & SCOPING_EL) { |
| 7414 |
|
!!!cp ('t397.2'); |
| 7415 |
|
last INSCOPE; |
| 7416 |
|
} |
| 7417 |
|
} # INSCOPE |
| 7418 |
|
|
| 7419 |
|
$reconstruct_active_formatting_elements->($insert_to_current); |
| 7420 |
|
|
| 7421 |
|
!!!insert-element-t ($token->{tag_name}, $token->{attributes}, $token); |
| 7422 |
|
|
| 7423 |
|
!!!nack ('t397.3'); |
| 7424 |
|
!!!next-token; |
| 7425 |
|
redo B; |
| 7426 |
} elsif ($token->{tag_name} eq 'rt' or |
} elsif ($token->{tag_name} eq 'rt' or |
| 7427 |
$token->{tag_name} eq 'rp') { |
$token->{tag_name} eq 'rp') { |
| 7428 |
## has a |ruby| element in scope |
## has a |ruby| element in scope |
| 7470 |
|
|
| 7471 |
if ($self->{self_closing}) { |
if ($self->{self_closing}) { |
| 7472 |
pop @{$self->{open_elements}}; |
pop @{$self->{open_elements}}; |
| 7473 |
!!!ack ('t398.1'); |
!!!ack ('t398.6'); |
| 7474 |
} else { |
} else { |
| 7475 |
!!!cp ('t398.2'); |
!!!cp ('t398.7'); |
| 7476 |
$self->{insertion_mode} |= IN_FOREIGN_CONTENT_IM; |
$self->{insertion_mode} |= IN_FOREIGN_CONTENT_IM; |
| 7477 |
## NOTE: |<body><math><mi><svg>| -> "in foreign content" insertion |
## NOTE: |<body><math><mi><svg>| -> "in foreign content" insertion |
| 7478 |
## mode, "in body" (not "in foreign content") secondary insertion |
## mode, "in body" (not "in foreign content") secondary insertion |
| 7483 |
next B; |
next B; |
| 7484 |
} elsif ({ |
} elsif ({ |
| 7485 |
caption => 1, col => 1, colgroup => 1, frame => 1, |
caption => 1, col => 1, colgroup => 1, frame => 1, |
| 7486 |
frameset => 1, head => 1, option => 1, optgroup => 1, |
frameset => 1, head => 1, |
| 7487 |
tbody => 1, td => 1, tfoot => 1, th => 1, |
tbody => 1, td => 1, tfoot => 1, th => 1, |
| 7488 |
thead => 1, tr => 1, |
thead => 1, tr => 1, |
| 7489 |
}->{$token->{tag_name}}) { |
}->{$token->{tag_name}}) { |