RESOLVED FIXED 40356
Fix handling of bytes received from the network while in document.write
https://bugs.webkit.org/show_bug.cgi?id=40356
Summary Fix handling of bytes received from the network while in document.write
Adam Barth
Reported 2010-06-09 00:48:25 PDT
Fix handling of bytes received from the network while in document.write
Attachments
Patch (8.37 KB, patch)
2010-06-09 00:58 PDT, Adam Barth
no flags
Patch (9.13 KB, patch)
2010-06-09 01:37 PDT, Adam Barth
no flags
Patch (9.37 KB, patch)
2010-06-09 09:13 PDT, Adam Barth
no flags
Patch (9.15 KB, patch)
2010-06-09 16:29 PDT, Adam Barth
no flags
Patch (9.65 KB, patch)
2010-06-09 17:06 PDT, Adam Barth
no flags
Adam Barth
Comment 1 2010-06-09 00:58:22 PDT
Eric Seidel (no email)
Comment 2 2010-06-09 01:07:39 PDT
Comment on attachment 58220 [details] Patch WebCore/html/HTML5Tokenizer.cpp:126 + // We don't want to consume any more of the input stream now. Do This is confusing. I think you mean: "We were just passed data off the network in a nested call to write(). We append this data to the end, but we don't process it until we unwind to a less nested write()." or similar. WebCore/ChangeLog:18 + tokenizer. You should explain here how you also fixed the close() stuff to be more sane. WebCore/html/HTML5Tokenizer.h:111 + m_inputStream->m_last = &m_afterInsertionPoint; This line is not clear to me. WebCore/html/HTML5Tokenizer.h:117 + if (m_inputStream->m_last == &m_afterInsertionPoint) This is also not clear. I think InsertionPointRecord needs more explanation. And the ChangeLog needs to explain the close() stuff. I assume you ran all the tests?
Adam Barth
Comment 3 2010-06-09 01:37:15 PDT
Eric Seidel (no email)
Comment 4 2010-06-09 01:41:40 PDT
David Levin
Comment 5 2010-06-09 09:07:57 PDT
Comment on attachment 58223 [details] Patch r- due to mac build break. Tricky, it appears the problem is the \ at the end of the line here "// /\"
Adam Barth
Comment 6 2010-06-09 09:13:47 PDT
Eric Seidel (no email)
Comment 7 2010-06-09 13:41:10 PDT
Comment on attachment 58251 [details] Patch WebCore/html/HTML5Tokenizer.h:126 + if (m_inputStream->m_last == &m_inputStream->m_current) You're right that this would be cleaner if this code was moved onto InputStream itself. I don't really have good naming suggestions for you. :( I think my biggest gripe is that this m_last == check doesn't have a comment to explain what it's doing. I'm still confused by both of the save and restore logic, even after some sleep. :) Yes, I know what it does, but the code isn't easy to read.
Adam Barth
Comment 8 2010-06-09 16:29:35 PDT
Adam Barth
Comment 9 2010-06-09 17:06:51 PDT
Eric Seidel (no email)
Comment 10 2010-06-09 17:32:19 PDT
Comment on attachment 58310 [details] Patch The names "splitInto" and "mergeFrom" aren't very clear to me. BUt the code looks good. Thanks.
Adam Barth
Comment 11 2010-06-09 17:49:36 PDT
Comment on attachment 58310 [details] Patch Clearing flags on attachment: 58310 Committed r60926: <http://trac.webkit.org/changeset/60926>
Adam Barth
Comment 12 2010-06-09 17:49:44 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.