Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
authoroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 5 Oct 2008 08:28:51 +0000 (08:28 +0000)
committeroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 5 Oct 2008 08:28:51 +0000 (08:28 +0000)
commite27ebb4c3ea487d02039b22d395548520e2e7b35
treeb120602160e7c8e9172175f5663cdc1eb6b15ddc
parent92ada26be72a4d1630a9f5d7c61d62eeb4136091
Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
<https://bugs.webkit.org/show_bug.cgi?id=21381>

Reviewed by Tim Hatcher.

If we hit a parsing boundary (end of a packet, etc) in the middle of a
<script> element when we are doing an incremental parse, we exit the
parser, and reenter later when more data is available.  During this
reentry we incorrectly reset the scriptStartLineno to the current line
in the parser, which is now part way through the script element.

The solution is to track whether we are entering or reentering the parsing
of a script element.  We do this simply by 0 checking scriptStartLineno,
and resetting it after we complete parsing of each script element.

Test: http/tests/incremental/pause-in-script-element.pl

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@37315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/http/tests/incremental/pause-in-script-element-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/incremental/pause-in-script-element.pl [new file with mode: 0755]
WebCore/ChangeLog
WebCore/html/HTMLTokenizer.cpp