6301 |
} elsif ($self->{insertion_mode} == AFTER_FRAMESET_IM) { |
} elsif ($self->{insertion_mode} == AFTER_FRAMESET_IM) { |
6302 |
!!!cp ('t312'); |
!!!cp ('t312'); |
6303 |
!!!parse-error (type => 'after frameset:#text', token => $token); |
!!!parse-error (type => 'after frameset:#text', token => $token); |
6304 |
} else { # "after html frameset" |
} else { # "after after frameset" |
6305 |
!!!cp ('t313'); |
!!!cp ('t313'); |
6306 |
!!!parse-error (type => 'after html:#text', token => $token); |
!!!parse-error (type => 'after html:#text', token => $token); |
|
|
|
|
$self->{insertion_mode} = AFTER_FRAMESET_IM; |
|
|
## Reprocess in the "after frameset" insertion mode. |
|
|
!!!parse-error (type => 'after frameset:#text', token => $token); |
|
6307 |
} |
} |
6308 |
|
|
6309 |
## Ignore the token. |
## Ignore the token. |
6319 |
|
|
6320 |
die qq[$0: Character "$token->{data}"]; |
die qq[$0: Character "$token->{data}"]; |
6321 |
} elsif ($token->{type} == START_TAG_TOKEN) { |
} elsif ($token->{type} == START_TAG_TOKEN) { |
|
if ($self->{insertion_mode} == AFTER_HTML_FRAMESET_IM) { |
|
|
!!!cp ('t316'); |
|
|
!!!parse-error (type => 'after html', |
|
|
text => $token->{tag_name}, token => $token); |
|
|
|
|
|
$self->{insertion_mode} = AFTER_FRAMESET_IM; |
|
|
## Process in the "after frameset" insertion mode. |
|
|
} else { |
|
|
!!!cp ('t317'); |
|
|
} |
|
|
|
|
6322 |
if ($token->{tag_name} eq 'frameset' and |
if ($token->{tag_name} eq 'frameset' and |
6323 |
$self->{insertion_mode} == IN_FRAMESET_IM) { |
$self->{insertion_mode} == IN_FRAMESET_IM) { |
6324 |
!!!cp ('t318'); |
!!!cp ('t318'); |
6339 |
## NOTE: As if in head. |
## NOTE: As if in head. |
6340 |
$parse_rcdata->(CDATA_CONTENT_MODEL); |
$parse_rcdata->(CDATA_CONTENT_MODEL); |
6341 |
next B; |
next B; |
6342 |
|
|
6343 |
|
## NOTE: |<!DOCTYPE HTML><frameset></frameset></html><noframes></noframes>| |
6344 |
|
## has no parse error. |
6345 |
} else { |
} else { |
6346 |
if ($self->{insertion_mode} == IN_FRAMESET_IM) { |
if ($self->{insertion_mode} == IN_FRAMESET_IM) { |
6347 |
!!!cp ('t321'); |
!!!cp ('t321'); |
6348 |
!!!parse-error (type => 'in frameset', |
!!!parse-error (type => 'in frameset', |
6349 |
text => $token->{tag_name}, token => $token); |
text => $token->{tag_name}, token => $token); |
6350 |
} else { |
} elsif ($self->{insertion_mode} == AFTER_FRAMESET_IM) { |
6351 |
!!!cp ('t322'); |
!!!cp ('t322'); |
6352 |
!!!parse-error (type => 'after frameset', |
!!!parse-error (type => 'after frameset', |
6353 |
text => $token->{tag_name}, token => $token); |
text => $token->{tag_name}, token => $token); |
6354 |
|
} else { # "after after frameset" |
6355 |
|
!!!cp ('t322.2'); |
6356 |
|
!!!parse-error (type => 'after after frameset', |
6357 |
|
text => $token->{tag_name}, token => $token); |
6358 |
} |
} |
6359 |
## Ignore the token |
## Ignore the token |
6360 |
!!!nack ('t322.1'); |
!!!nack ('t322.1'); |
6362 |
next B; |
next B; |
6363 |
} |
} |
6364 |
} elsif ($token->{type} == END_TAG_TOKEN) { |
} elsif ($token->{type} == END_TAG_TOKEN) { |
|
if ($self->{insertion_mode} == AFTER_HTML_FRAMESET_IM) { |
|
|
!!!cp ('t323'); |
|
|
!!!parse-error (type => 'after html:/', |
|
|
text => $token->{tag_name}, token => $token); |
|
|
|
|
|
$self->{insertion_mode} = AFTER_FRAMESET_IM; |
|
|
## Process in the "after frameset" insertion mode. |
|
|
} else { |
|
|
!!!cp ('t324'); |
|
|
} |
|
|
|
|
6365 |
if ($token->{tag_name} eq 'frameset' and |
if ($token->{tag_name} eq 'frameset' and |
6366 |
$self->{insertion_mode} == IN_FRAMESET_IM) { |
$self->{insertion_mode} == IN_FRAMESET_IM) { |
6367 |
if ($self->{open_elements}->[-1]->[1] & HTML_EL and |
if ($self->{open_elements}->[-1]->[1] & HTML_EL and |
6396 |
!!!cp ('t330'); |
!!!cp ('t330'); |
6397 |
!!!parse-error (type => 'in frameset:/', |
!!!parse-error (type => 'in frameset:/', |
6398 |
text => $token->{tag_name}, token => $token); |
text => $token->{tag_name}, token => $token); |
6399 |
} else { |
} elsif ($self->{insertion_mode} == AFTER_FRAMESET_IM) { |
6400 |
!!!cp ('t331'); |
!!!cp ('t330.1'); |
6401 |
!!!parse-error (type => 'after frameset:/', |
!!!parse-error (type => 'after frameset:/', |
6402 |
text => $token->{tag_name}, token => $token); |
text => $token->{tag_name}, token => $token); |
6403 |
|
} else { # "after after html" |
6404 |
|
!!!cp ('t331'); |
6405 |
|
!!!parse-error (type => 'after after frameset:/', |
6406 |
|
text => $token->{tag_name}, token => $token); |
6407 |
} |
} |
6408 |
## Ignore the token |
## Ignore the token |
6409 |
!!!next-token; |
!!!next-token; |