[Webkit-unassigned] [Bug 14757] REGRESSION: HTMLTokenizer::processingData implementation is incorrect

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jul 27 12:49:04 PDT 2007


http://bugs.webkit.org/show_bug.cgi?id=14757





------- Comment #16 from mpComplete at gmail.com  2007-07-27 12:49 PDT -------
I've been brainstorming a few solutions to the assertion problem I had, and I'm
not sure what the right approach is.  Maybe someone knows the answer.

Here are the options:
1. Just check if m_client->hasWebView() (what the assertion asserts) before
calling checkLoadComplete.  Feels like a bandaid.  Also, this would mean we
wouldn't fire the cancel load events when closing a webview while loading.
2. Add some more logic to HTMLTokenizer::processingData to detect that the load
has been cancelled mid-parse (set a flag in stopParsing), and if so, return
false.  I think this might mean the load events would still be fired out of
order for a cancelled load, but I haven't tested.
3. Add some logic to FrameLoader::stopForUserCancel that decides whether to
checkLoadComplete asynchronously or synchronously, based on whether the
tokenizer is still parsing.  I think this would work for all cases, but it
feels hacky.
4. Leave stopForUserCancel alone, and do the async checkLoadComplete only for
the window.stop case.  This would fix the hang I described in comment #8, while
also fixing the original problem.

Hmm.. now that I've talked myself through this, I think I like option 4 the
best.


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list