Bug 107753

Summary: The background HTML parser should be able to parse speculatively
Product: WebKit Reporter: Adam Barth <abarth>
Component: New BugsAssignee: Adam Barth <abarth>
Status: RESOLVED FIXED    
Severity: Normal CC: gyuyoung.kim, ojan.autocc, rakuco, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 107762, 107763, 107764    
Bug Blocks: 106127    
Attachments:
Description Flags
work in progress
none
passes a new test
none
still need to build system spelunk
none
everyone but xcode
none
Patch none

Description Adam Barth 2013-01-23 15:55:12 PST
The background HTML parser should be able to parse speculatively
Comment 1 Adam Barth 2013-01-23 15:56:05 PST
Created attachment 184334 [details]
work in progress
Comment 2 Adam Barth 2013-01-23 16:47:27 PST
Created attachment 184347 [details]
passes a new test
Comment 3 Adam Barth 2013-01-30 16:06:15 PST
Created attachment 185608 [details]
still need to build system spelunk
Comment 4 Adam Barth 2013-01-30 16:10:25 PST
Created attachment 185609 [details]
everyone but xcode
Comment 5 Adam Barth 2013-01-30 16:49:13 PST
Created attachment 185624 [details]
Patch
Comment 6 Eric Seidel (no email) 2013-01-30 17:11:04 PST
Comment on attachment 185624 [details]
Patch

This looks amazing. :)
Comment 7 Adam Barth 2013-01-30 17:51:16 PST
Comment on attachment 185624 [details]
Patch

Thanks :)
Comment 8 Adam Barth 2013-01-30 17:53:16 PST
One downside to this approach is that BackgroundHTMLInputStream ends up keeping the entire input stream (instead of discarding StringImpls as it advances).  My plan is to have the main thread send the BackgroundHTMLParser a message that it "continued past" a certain checkpoint, which will let the BackgroundHTMLInputStream discard whatever data would be needed to rewind to that checkpoint.
Comment 9 WebKit Review Bot 2013-01-30 18:19:09 PST
Comment on attachment 185624 [details]
Patch

Rejecting attachment 185624 [details] from commit-queue.

Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=gce-cq-01', 'land-attachment', '--force-clean', '--non-interactive', '--parent-command=commit-queue', 185624, '--port=chromium-xvfb']" exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
rce/WebKit/chromium/webkit/media/crypto/ppapi/cdm --revision 173055 --non-interactive --force --accept theirs-conflict --ignore-externals' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium'
56>At revision 173055.

________ running '/usr/bin/python tools/clang/scripts/update.py --mac-only' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium'

________ running '/usr/bin/python gyp_webkit' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium'
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/16199989
Comment 10 WebKit Review Bot 2013-01-30 18:42:06 PST
Comment on attachment 185624 [details]
Patch

Clearing flags on attachment: 185624

Committed r141363: <http://trac.webkit.org/changeset/141363>
Comment 11 WebKit Review Bot 2013-01-30 18:42:12 PST
All reviewed patches have been landed.  Closing bug.