Bug 40596 - Safari beach-balls loading large pages with HTML5 parser
Summary: Safari beach-balls loading large pages with HTML5 parser
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other OS X 10.5
: P2 Normal
Assignee: Eric Seidel (no email)
URL:
Keywords:
Depends on:
Blocks: 39259
  Show dependency treegraph
 
Reported: 2010-06-14 15:33 PDT by Eric Seidel (no email)
Modified: 2010-06-14 17:37 PDT (History)
3 users (show)

See Also:


Attachments
Patch (15.95 KB, patch)
2010-06-14 16:16 PDT, Eric Seidel (no email)
no flags Details | Formatted Diff | Diff
Patch (15.94 KB, patch)
2010-06-14 16:24 PDT, Eric Seidel (no email)
no flags Details | Formatted Diff | Diff
Patch for landing (16.13 KB, patch)
2010-06-14 17:11 PDT, Eric Seidel (no email)
no flags Details | Formatted Diff | Diff
Patch for landing (15.88 KB, patch)
2010-06-14 17:20 PDT, Eric Seidel (no email)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Seidel (no email) 2010-06-14 15:33:24 PDT
Safari beach-balls loading large pages with HTML5 parser
Comment 1 Eric Seidel (no email) 2010-06-14 16:16:17 PDT
Created attachment 58724 [details]
Patch
Comment 2 Eric Seidel (no email) 2010-06-14 16:24:07 PDT
Created attachment 58725 [details]
Patch
Comment 3 Adam Barth 2010-06-14 16:35:12 PDT
Comment on attachment 58725 [details]
Patch

Minor nits.  Don't know how to test this code...  :(

WebCore/html/HTML5DocumentParser.cpp:51
 +  // FIXME: We would this to be 0.2. Historically .2 caused slowness on old machines.
0.2 / .2 consistency.

WebCore/html/HTML5DocumentParser.cpp:129
 +  bool HTML5DocumentParser::processingData() const
WTF.  Please add a FIXME to track this down and figure out what it does.

WebCore/html/HTML5DocumentParser.cpp:174
 +      session.processedTokens++;
prefix increment

WebCore/html/HTML5DocumentParser.cpp:192
 +              return;
This is supposed to be break, not return

WebCore/html/HTML5DocumentParser.cpp:220
 +  // FIXME: This belongs on Document.
Please add this to document.

WebCore/html/HTML5DocumentParser.cpp:230
 +      // HACK: If a layout is scheduled, wait again to let the layout timer run first.
Is this copied from the old document parser?

WebCore/html/HTML5DocumentParser.cpp:278
 +      SynchronousMode mode = isFromNetwork ? AllowYield : ForceSynchronous;
Please inline this into call site.
Comment 4 Eric Seidel (no email) 2010-06-14 17:11:57 PDT
Created attachment 58730 [details]
Patch for landing
Comment 5 Eric Seidel (no email) 2010-06-14 17:20:58 PDT
Created attachment 58731 [details]
Patch for landing
Comment 6 Adam Barth 2010-06-14 17:26:06 PDT
Comment on attachment 58731 [details]
Patch for landing

Clearing flags on attachment: 58731

Committed r61165: <http://trac.webkit.org/changeset/61165>
Comment 7 Adam Barth 2010-06-14 17:26:13 PDT
All reviewed patches have been landed.  Closing bug.
Comment 8 WebKit Review Bot 2010-06-14 17:31:56 PDT
http://trac.webkit.org/changeset/61165 might have broken Chromium Linux Release
Comment 9 Adam Barth 2010-06-14 17:37:35 PDT
Missing an include.  Build a patch now.