3379 |
!!!ack-later; |
!!!ack-later; |
3380 |
next B; |
next B; |
3381 |
} elsif ($token->{tag_name} eq 'style') { |
} elsif ($token->{tag_name} eq 'style') { |
3382 |
if (not $open_tables->[-1]->[1]) { # tainted |
!!!cp ('t227.8'); |
3383 |
!!!cp ('t227.8'); |
## NOTE: This is a "as if in head" code clone. |
3384 |
## NOTE: This is a "as if in head" code clone. |
$parse_rcdata->(CDATA_CONTENT_MODEL); |
3385 |
$parse_rcdata->(CDATA_CONTENT_MODEL); |
$open_tables->[-1]->[2] = 0 if @$open_tables; # ~node inserted |
3386 |
$open_tables->[-1]->[2] = 0 if @$open_tables; # ~node inserted |
next B; |
|
next B; |
|
|
} else { |
|
|
!!!cp ('t227.7'); |
|
|
# |
|
|
} |
|
3387 |
} elsif ($token->{tag_name} eq 'script') { |
} elsif ($token->{tag_name} eq 'script') { |
3388 |
if (not $open_tables->[-1]->[1]) { # tainted |
!!!cp ('t227.6'); |
3389 |
!!!cp ('t227.6'); |
## NOTE: This is a "as if in head" code clone. |
3390 |
## NOTE: This is a "as if in head" code clone. |
$script_start_tag->(); |
3391 |
$script_start_tag->(); |
$open_tables->[-1]->[2] = 0 if @$open_tables; # ~node inserted |
3392 |
$open_tables->[-1]->[2] = 0 if @$open_tables; # ~node inserted |
next B; |
|
next B; |
|
|
} else { |
|
|
!!!cp ('t227.5'); |
|
|
# |
|
|
} |
|
3393 |
} elsif ($token->{tag_name} eq 'input') { |
} elsif ($token->{tag_name} eq 'input') { |
3394 |
if (not $open_tables->[-1]->[1]) { # tainted |
if ($token->{attributes}->{type}) { |
3395 |
if ($token->{attributes}->{type}) { ## TODO: case |
my $type = $token->{attributes}->{type}->{value}; |
3396 |
my $type = lc $token->{attributes}->{type}->{value}; |
$type =~ tr/A-Z/a-z/; ## ASCII case-insensitive. |
3397 |
if ($type eq 'hidden') { |
if ($type eq 'hidden') { |
3398 |
!!!cp ('t227.3'); |
!!!cp ('t227.3'); |
3399 |
!!!parse-error (type => 'in table', |
!!!parse-error (type => 'in table', |
3400 |
text => $token->{tag_name}, token => $token); |
text => $token->{tag_name}, token => $token); |
3401 |
|
|
3402 |
!!!insert-element ($token->{tag_name}, $token->{attributes}, $token); |
!!!insert-element ($token->{tag_name}, $token->{attributes}, $token); |
3403 |
$open_tables->[-1]->[2] = 0 if @$open_tables; # ~node inserted |
$open_tables->[-1]->[2] = 0 if @$open_tables; # ~node inserted |
3404 |
|
|
3405 |
## TODO: form element pointer |
## TODO: form element pointer |
3406 |
|
|
3407 |
pop @{$self->{open_elements}}; |
pop @{$self->{open_elements}}; |
3408 |
|
|
3409 |
!!!next-token; |
!!!next-token; |
3410 |
!!!ack ('t227.2.1'); |
!!!ack ('t227.2.1'); |
3411 |
next B; |
next B; |
|
} else { |
|
|
!!!cp ('t227.2'); |
|
|
# |
|
|
} |
|
3412 |
} else { |
} else { |
3413 |
!!!cp ('t227.1'); |
!!!cp ('t227.1'); |
3414 |
# |
# |