[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
benm at google.com
benm at google.com
Wed Dec 22 11:42:14 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 644e0dd8ac0e4b8d6ed7820c16e831c2207be81e
Author: benm at google.com <benm at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Aug 4 09:30:15 2010 +0000
HTML5 parser may cause onload not to fire
https://bugs.webkit.org/show_bug.cgi?id=43423
Reviewed by Darin Adler.
If a complex page causes the HTML parser to yield,
then when parsing continues again and eventually
finishes, we are missing a call to endIfDelayed(). This
results in onload never being called.
Not for lack of trying, but it seems almost
impossible to write a reliable test for this bug,
due to the highly timing-dependent nature of the
bug. The link above contains further discussion and
attempts at writing a test.
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::resumeParsingAfterYield):
Add a call to endIfDelayed() after pumping the tokenizer
post the parser yielding to ensure that the parsing step
is completed properly and the onload event fires.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 07fe278..669f3b7 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,27 @@
+2010-08-03 Ben Murdoch <benm at google.com>
+
+ Reviewed by Darin Adler.
+
+ HTML5 parser may cause onload not to fire
+ https://bugs.webkit.org/show_bug.cgi?id=43423
+
+ If a complex page causes the HTML parser to yield,
+ then when parsing continues again and eventually
+ finishes, we are missing a call to endIfDelayed(). This
+ results in onload never being called.
+
+ Not for lack of trying, but it seems almost
+ impossible to write a reliable test for this bug,
+ due to the highly timing-dependent nature of the
+ bug. The link above contains further discussion and
+ attempts at writing a test.
+
+ * html/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
+ Add a call to endIfDelayed() after pumping the tokenizer
+ post the parser yielding to ensure that the parsing step
+ is completed properly and the onload event fires.
+
2010-08-04 Dirk Schulze <krit at webkit.org>
Unreviewed sort of XCode project file.
diff --git a/WebCore/html/HTMLDocumentParser.cpp b/WebCore/html/HTMLDocumentParser.cpp
index 723fbe7..354e7ed 100644
--- a/WebCore/html/HTMLDocumentParser.cpp
+++ b/WebCore/html/HTMLDocumentParser.cpp
@@ -138,6 +138,7 @@ void HTMLDocumentParser::resumeParsingAfterYield()
// We should never be here unless we can pump immediately. Call pumpTokenizer()
// directly so that ASSERTS will fire if we're wrong.
pumpTokenizer(AllowYield);
+ endIfDelayed();
}
bool HTMLDocumentParser::runScriptsForPausedTreeBuilder()
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list