[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 12:56:23 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 29dddd5d690bcbaed3f5ee805b8d717cb260cfba
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Sep 2 11:43:30 2010 +0000
2010-09-02 Sheriff Bot <webkit.review.bot at gmail.com>
Unreviewed, rolling out r66649.
http://trac.webkit.org/changeset/66649
https://bugs.webkit.org/show_bug.cgi?id=45103
It broke ~2000 tests on Qt bot (Requested by Ossy on #webkit).
* fast/dom/HTMLScriptElement/defer-double-defer-write-expected.txt: Removed.
* fast/dom/HTMLScriptElement/defer-double-defer-write.html: Removed.
* fast/dom/HTMLScriptElement/defer-double-write-expected.txt: Removed.
* fast/dom/HTMLScriptElement/defer-double-write.html: Removed.
* fast/dom/HTMLScriptElement/defer-inline-script-expected.txt: Removed.
* fast/dom/HTMLScriptElement/defer-inline-script.html: Removed.
* fast/dom/HTMLScriptElement/defer-onbeforeload-expected.txt: Removed.
* fast/dom/HTMLScriptElement/defer-onbeforeload.html: Removed.
* fast/dom/HTMLScriptElement/defer-script-invalid-url-expected.txt: Removed.
* fast/dom/HTMLScriptElement/defer-script-invalid-url.html: Removed.
* fast/dom/HTMLScriptElement/defer-write-expected.txt: Removed.
* fast/dom/HTMLScriptElement/defer-write.html: Removed.
* fast/dom/HTMLScriptElement/resources/defer.js: Removed.
* fast/dom/HTMLScriptElement/resources/external.js: Removed.
* fast/dom/HTMLScriptElement/resources/shouldnotexecute.js: Removed.
* fast/dom/HTMLScriptElement/shouldnotexecute.js: Removed.
* fast/dom/HTMLScriptElement/two-defer-writes-expected.txt: Removed.
* fast/dom/HTMLScriptElement/two-defer-writes.html: Removed.
* http/tests/misc/resources/defer-script.js: Removed.
* http/tests/misc/resources/external-script.js: Removed.
* http/tests/misc/resources/script-debug-body-background.js: Removed.
* http/tests/misc/resources/script-write-slow-stylesheet.js: Removed.
* http/tests/misc/resources/slow-defer-script.cgi: Removed.
* http/tests/misc/resources/slow-stylesheet.cgi: Removed.
* http/tests/misc/script-defer-after-slow-stylesheet-expected.txt: Removed.
* http/tests/misc/script-defer-after-slow-stylesheet.html: Removed.
* http/tests/misc/script-defer-expected.txt: Removed.
* http/tests/misc/script-defer.html: Removed.
2010-09-02 Sheriff Bot <webkit.review.bot at gmail.com>
Unreviewed, rolling out r66649.
http://trac.webkit.org/changeset/66649
https://bugs.webkit.org/show_bug.cgi?id=45103
It broke ~2000 tests on Qt bot (Requested by Ossy on #webkit).
* dom/Document.cpp:
(WebCore::Document::open):
* dom/DocumentParser.cpp:
(WebCore::DocumentParser::DocumentParser):
(WebCore::DocumentParser::detach):
* dom/DocumentParser.h:
(WebCore::DocumentParser::isDetached):
(WebCore::DocumentParser::stopParsing):
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::finish):
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::append):
(WebCore::XMLDocumentParser::exitText):
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doWrite):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::characters):
(WebCore::XMLDocumentParser::error):
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):
(WebCore::XMLDocumentParser::internalSubset):
(WebCore::XMLDocumentParser::initializeParserContext):
(WebCore::XMLDocumentParser::doEnd):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::initializeParserContext):
(WebCore::XMLDocumentParser::doEnd):
(WebCore::XMLDocumentParser::parse):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::attemptToEnd):
(WebCore::HTMLDocumentParser::endIfDelayed):
(WebCore::HTMLDocumentParser::notifyFinished):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::~HTMLScriptRunner):
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::runScript):
* html/parser/HTMLScriptRunner.h:
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentParser::finish):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 4390a3e..6320950 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,40 @@
+2010-09-02 Sheriff Bot <webkit.review.bot at gmail.com>
+
+ Unreviewed, rolling out r66649.
+ http://trac.webkit.org/changeset/66649
+ https://bugs.webkit.org/show_bug.cgi?id=45103
+
+ It broke ~2000 tests on Qt bot (Requested by Ossy on #webkit).
+
+ * fast/dom/HTMLScriptElement/defer-double-defer-write-expected.txt: Removed.
+ * fast/dom/HTMLScriptElement/defer-double-defer-write.html: Removed.
+ * fast/dom/HTMLScriptElement/defer-double-write-expected.txt: Removed.
+ * fast/dom/HTMLScriptElement/defer-double-write.html: Removed.
+ * fast/dom/HTMLScriptElement/defer-inline-script-expected.txt: Removed.
+ * fast/dom/HTMLScriptElement/defer-inline-script.html: Removed.
+ * fast/dom/HTMLScriptElement/defer-onbeforeload-expected.txt: Removed.
+ * fast/dom/HTMLScriptElement/defer-onbeforeload.html: Removed.
+ * fast/dom/HTMLScriptElement/defer-script-invalid-url-expected.txt: Removed.
+ * fast/dom/HTMLScriptElement/defer-script-invalid-url.html: Removed.
+ * fast/dom/HTMLScriptElement/defer-write-expected.txt: Removed.
+ * fast/dom/HTMLScriptElement/defer-write.html: Removed.
+ * fast/dom/HTMLScriptElement/resources/defer.js: Removed.
+ * fast/dom/HTMLScriptElement/resources/external.js: Removed.
+ * fast/dom/HTMLScriptElement/resources/shouldnotexecute.js: Removed.
+ * fast/dom/HTMLScriptElement/shouldnotexecute.js: Removed.
+ * fast/dom/HTMLScriptElement/two-defer-writes-expected.txt: Removed.
+ * fast/dom/HTMLScriptElement/two-defer-writes.html: Removed.
+ * http/tests/misc/resources/defer-script.js: Removed.
+ * http/tests/misc/resources/external-script.js: Removed.
+ * http/tests/misc/resources/script-debug-body-background.js: Removed.
+ * http/tests/misc/resources/script-write-slow-stylesheet.js: Removed.
+ * http/tests/misc/resources/slow-defer-script.cgi: Removed.
+ * http/tests/misc/resources/slow-stylesheet.cgi: Removed.
+ * http/tests/misc/script-defer-after-slow-stylesheet-expected.txt: Removed.
+ * http/tests/misc/script-defer-after-slow-stylesheet.html: Removed.
+ * http/tests/misc/script-defer-expected.txt: Removed.
+ * http/tests/misc/script-defer.html: Removed.
+
2010-09-02 Andreas Kling <andreas.kling at nokia.com>
Unreviewed, forgot to add the new layout test in last commit.
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-defer-write-expected.txt b/LayoutTests/fast/dom/HTMLScriptElement/defer-double-defer-write-expected.txt
deleted file mode 100755
index 7ef22e9..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-defer-write-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-PASS
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-defer-write.html b/LayoutTests/fast/dom/HTMLScriptElement/defer-double-defer-write.html
deleted file mode 100644
index 0412050..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-defer-write.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<script>
-if (window.layoutTestController)
- layoutTestController.dumpAsText();
-</script>
-FAIL
-<script defer src="data:text/javascript,document.write('FAIL'); document.write('<script defer src=\'data:text/javascript,document.write("PASS");\'></script>'); document.close();"></script>
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-write-expected.txt b/LayoutTests/fast/dom/HTMLScriptElement/defer-double-write-expected.txt
deleted file mode 100755
index 8d04f96..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-write-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-1 2
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-write.html b/LayoutTests/fast/dom/HTMLScriptElement/defer-double-write.html
deleted file mode 100644
index e55e1d3..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-write.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<script>
-if (window.layoutTestController)
- layoutTestController.dumpAsText();
-</script>
-FAIL
-<script defer src="data:text/javascript,document.writeln(1); document.write('<script src=\'data:text/javascript,document.writeln(2)\'></script>');"></script>
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-inline-script-expected.txt b/LayoutTests/fast/dom/HTMLScriptElement/defer-inline-script-expected.txt
deleted file mode 100755
index beaaad8..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-inline-script-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Checks that inline scripts are not deferred.
-1
-2
-
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-inline-script.html b/LayoutTests/fast/dom/HTMLScriptElement/defer-inline-script.html
deleted file mode 100644
index a15c201..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-inline-script.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<link rel="stylesheet" href="../../js/resources/js-test-style.css">
-<script src="../../js/resources/js-test-pre.js"></script>
-</head>
-<body>
-Checks that inline scripts are not deferred.
-<div id="console"></div>
-<script src="data:text/javascript,debug(2);" defer></script>
-<script defer>
- debug(1);
-</script>
-</body>
-</html>
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-onbeforeload-expected.txt b/LayoutTests/fast/dom/HTMLScriptElement/defer-onbeforeload-expected.txt
deleted file mode 100644
index 2eb56c9..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-onbeforeload-expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Checks that deferred scripts fire onbeforeload immediately and that it is cancellable.
-cancelled onbeforeload defer
-onbeforeload defer
-onbeforeload external
-external
-defer
-
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-onbeforeload.html b/LayoutTests/fast/dom/HTMLScriptElement/defer-onbeforeload.html
deleted file mode 100644
index a22b184..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-onbeforeload.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<link rel="stylesheet" href="../../js/resources/js-test-style.css">
-<script src="../../js/resources/js-test-pre.js"></script>
-</head>
-<body>
-Checks that deferred scripts fire onbeforeload immediately and that it is cancellable.
-<div id="console"></div>
-<script src="resources/shouldnotexecute.js" onbeforeload="debug('cancelled onbeforeload defer'); return false;" defer></script>
-<script src="resources/defer.js" onbeforeload="debug('onbeforeload defer'); return true;" defer></script>
-<script src="resources/external.js" onbeforeload="debug('onbeforeload external'); return true;"></script>
-</body>
-</html>
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-script-invalid-url-expected.txt b/LayoutTests/fast/dom/HTMLScriptElement/defer-script-invalid-url-expected.txt
deleted file mode 100644
index 045af1d..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-script-invalid-url-expected.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Checks that deferred scripts with invalid URLs are ignored and subsequent deferred scripts executed.
-defer
-
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-script-invalid-url.html b/LayoutTests/fast/dom/HTMLScriptElement/defer-script-invalid-url.html
deleted file mode 100644
index bf6cee4..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-script-invalid-url.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<link rel="stylesheet" href="../../js/resources/js-test-style.css">
-<script src="../../js/resources/js-test-pre.js"></script>
-</head>
-<body>
-Checks that deferred scripts with invalid URLs are ignored and subsequent deferred scripts executed.
-<div id="console"></div>
-<script src="http://localhost:999999/" defer></script>
-<script src="resources/defer.js" defer></script>
-</body>
-</html>
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-write-expected.txt b/LayoutTests/fast/dom/HTMLScriptElement/defer-write-expected.txt
deleted file mode 100644
index 7ef22e9..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-write-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-PASS
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-write.html b/LayoutTests/fast/dom/HTMLScriptElement/defer-write.html
deleted file mode 100644
index 0c0bbff..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-write.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<script>
-if (window.layoutTestController)
- layoutTestController.dumpAsText();
-</script>
-FAIL
-<script defer src="data:text/javascript,document.write('PASS');"></script>
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/resources/defer.js b/LayoutTests/fast/dom/HTMLScriptElement/resources/defer.js
deleted file mode 100644
index fc67db4..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/resources/defer.js
+++ /dev/null
@@ -1 +0,0 @@
-debug("defer");
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/resources/external.js b/LayoutTests/fast/dom/HTMLScriptElement/resources/external.js
deleted file mode 100644
index fbad465..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/resources/external.js
+++ /dev/null
@@ -1 +0,0 @@
-debug("external");
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/resources/shouldnotexecute.js b/LayoutTests/fast/dom/HTMLScriptElement/resources/shouldnotexecute.js
deleted file mode 100644
index c0d6954..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/resources/shouldnotexecute.js
+++ /dev/null
@@ -1 +0,0 @@
-debug("FAIL");
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/shouldnotexecute.js b/LayoutTests/fast/dom/HTMLScriptElement/shouldnotexecute.js
deleted file mode 100644
index fc67db4..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/shouldnotexecute.js
+++ /dev/null
@@ -1 +0,0 @@
-debug("defer");
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/two-defer-writes-expected.txt b/LayoutTests/fast/dom/HTMLScriptElement/two-defer-writes-expected.txt
deleted file mode 100644
index 7ef22e9..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/two-defer-writes-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-PASS
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/two-defer-writes.html b/LayoutTests/fast/dom/HTMLScriptElement/two-defer-writes.html
deleted file mode 100644
index 4b0d378..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/two-defer-writes.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<script>
-if (window.layoutTestController)
- layoutTestController.dumpAsText();
-</script>
-FAIL
-<script defer src="data:text/javascript,document.write('PASS');"></script>
-<script defer src="data:text/javascript,document.write('FAIL');"></script>
diff --git a/LayoutTests/http/tests/misc/resources/defer-script.js b/LayoutTests/http/tests/misc/resources/defer-script.js
deleted file mode 100644
index fc67db4..0000000
--- a/LayoutTests/http/tests/misc/resources/defer-script.js
+++ /dev/null
@@ -1 +0,0 @@
-debug("defer");
diff --git a/LayoutTests/http/tests/misc/resources/external-script.js b/LayoutTests/http/tests/misc/resources/external-script.js
deleted file mode 100644
index fbad465..0000000
--- a/LayoutTests/http/tests/misc/resources/external-script.js
+++ /dev/null
@@ -1 +0,0 @@
-debug("external");
diff --git a/LayoutTests/http/tests/misc/resources/script-debug-body-background.js b/LayoutTests/http/tests/misc/resources/script-debug-body-background.js
deleted file mode 100644
index 6fbe7a1..0000000
--- a/LayoutTests/http/tests/misc/resources/script-debug-body-background.js
+++ /dev/null
@@ -1 +0,0 @@
-shouldBeEqualToString("getComputedStyle(document.body)['background-color']", "rgb(255, 0, 0)");
diff --git a/LayoutTests/http/tests/misc/resources/script-write-slow-stylesheet.js b/LayoutTests/http/tests/misc/resources/script-write-slow-stylesheet.js
deleted file mode 100644
index ed11eb5..0000000
--- a/LayoutTests/http/tests/misc/resources/script-write-slow-stylesheet.js
+++ /dev/null
@@ -1 +0,0 @@
-document.write('<link rel="stylesheet" href="http://127.0.0.1:8000/misc/resources/slow-stylesheet.cgi">');
diff --git a/LayoutTests/http/tests/misc/resources/slow-defer-script.cgi b/LayoutTests/http/tests/misc/resources/slow-defer-script.cgi
deleted file mode 100755
index a98d3d5..0000000
--- a/LayoutTests/http/tests/misc/resources/slow-defer-script.cgi
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/perl -w
-
-print "Content-type: text/javascript\n\n";
-sleep(0.5);
-print "debug('slowDefer');\n";
diff --git a/LayoutTests/http/tests/misc/resources/slow-stylesheet.cgi b/LayoutTests/http/tests/misc/resources/slow-stylesheet.cgi
deleted file mode 100755
index fcddca4..0000000
--- a/LayoutTests/http/tests/misc/resources/slow-stylesheet.cgi
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/perl -w
-
-print "Content-type: text/css\n\n";
-sleep(0.5);
-print "body { background-color: #FF0000 }\n";
diff --git a/LayoutTests/http/tests/misc/script-defer-after-slow-stylesheet-expected.txt b/LayoutTests/http/tests/misc/script-defer-after-slow-stylesheet-expected.txt
deleted file mode 100644
index 5245763..0000000
--- a/LayoutTests/http/tests/misc/script-defer-after-slow-stylesheet-expected.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-This tests that an inline slow stylesheet executes before deferred scripts.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS getComputedStyle(document.body)['background-color'] is "rgb(255, 0, 0)"
-DOMContentLoaded
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/http/tests/misc/script-defer-after-slow-stylesheet.html b/LayoutTests/http/tests/misc/script-defer-after-slow-stylesheet.html
deleted file mode 100644
index 06ec849..0000000
--- a/LayoutTests/http/tests/misc/script-defer-after-slow-stylesheet.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<link rel="stylesheet" href="../../js-test-resources/js-test-style.css">
-<script src="../../js-test-resources/js-test-pre.js"></script>
-</head>
-<body>
-<dvi id="description"></div>
-<div id="console"></div>
-<script type="text/javascript">
-description('This tests that an inline slow stylesheet executes before deferred scripts.');
-
-var jsTestIsAsync = true;
-
-document.addEventListener("DOMContentLoaded", function() {
- debug('DOMContentLoaded');
-
- finishJSTest();
-}, false);
-</script>
-
-<script src="http://127.0.0.1:8000/misc/resources/script-debug-body-background.
-js" defer="defer"></script>
-<link rel="stylesheet" href="http://127.0.0.1:8000/misc/resources/slow-styleshe
-et.cgi">
-<script>
-var successfullyParsed = true;
-</script>
-<script src="../../js-test-resources/js-test-post.js"></script>
-</body>
-</html>
diff --git a/LayoutTests/http/tests/misc/script-defer-expected.txt b/LayoutTests/http/tests/misc/script-defer-expected.txt
deleted file mode 100644
index bfcaa6e..0000000
--- a/LayoutTests/http/tests/misc/script-defer-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This tests for proper execution order of scripts with the defer attribute https://bugs.webkit.org/show_bug.cgi?id=20710.
-external
-inline
-slowDefer
-defer
-DOMContentLoaded
-load
-
diff --git a/LayoutTests/http/tests/misc/script-defer.html b/LayoutTests/http/tests/misc/script-defer.html
deleted file mode 100644
index 95cf8b3..0000000
--- a/LayoutTests/http/tests/misc/script-defer.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<link rel="stylesheet" href="../../js-test-resources/js-test-style.css">
-<script src="../../js-test-resources/js-test-pre.js"></script>
-</head>
-<body onload="debug('load')">
-This tests for proper execution order of scripts with the defer attribute <a href="https://bugs.webkit.org/show_bug.cgi?id=20710">https://bugs.webkit.org/show_bug.cgi?id=20710</a>.
-<div id="console"></div>
-
-<script type="text/javascript">
-document.addEventListener("DOMContentLoaded", function() {
- debug('DOMContentLoaded');
-}, false);
-</script>
-<script src="http://127.0.0.1:8000/misc/resources/slow-defer-script.cgi" defer="DEFER"></script>
-<script src="http://127.0.0.1:8000/misc/resources/defer-script.js" defer="DEFER"></script>
-<script src="http://127.0.0.1:8000/misc/resources/external-script.js"></script>
-<script>
-debug("inline");
-</script>
-</body>
-</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 3615992..dc0fe31 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,59 @@
+2010-09-02 Sheriff Bot <webkit.review.bot at gmail.com>
+
+ Unreviewed, rolling out r66649.
+ http://trac.webkit.org/changeset/66649
+ https://bugs.webkit.org/show_bug.cgi?id=45103
+
+ It broke ~2000 tests on Qt bot (Requested by Ossy on #webkit).
+
+ * dom/Document.cpp:
+ (WebCore::Document::open):
+ * dom/DocumentParser.cpp:
+ (WebCore::DocumentParser::DocumentParser):
+ (WebCore::DocumentParser::detach):
+ * dom/DocumentParser.h:
+ (WebCore::DocumentParser::isDetached):
+ (WebCore::DocumentParser::stopParsing):
+ * dom/RawDataDocumentParser.h:
+ (WebCore::RawDataDocumentParser::finish):
+ * dom/XMLDocumentParser.cpp:
+ (WebCore::XMLDocumentParser::append):
+ (WebCore::XMLDocumentParser::exitText):
+ * dom/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::doWrite):
+ (WebCore::XMLDocumentParser::startElementNs):
+ (WebCore::XMLDocumentParser::endElementNs):
+ (WebCore::XMLDocumentParser::characters):
+ (WebCore::XMLDocumentParser::error):
+ (WebCore::XMLDocumentParser::processingInstruction):
+ (WebCore::XMLDocumentParser::cdataBlock):
+ (WebCore::XMLDocumentParser::comment):
+ (WebCore::XMLDocumentParser::internalSubset):
+ (WebCore::XMLDocumentParser::initializeParserContext):
+ (WebCore::XMLDocumentParser::doEnd):
+ * dom/XMLDocumentParserQt.cpp:
+ (WebCore::XMLDocumentParser::initializeParserContext):
+ (WebCore::XMLDocumentParser::doEnd):
+ (WebCore::XMLDocumentParser::parse):
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
+ (WebCore::HTMLDocumentParser::pumpTokenizer):
+ (WebCore::HTMLDocumentParser::insert):
+ (WebCore::HTMLDocumentParser::append):
+ (WebCore::HTMLDocumentParser::end):
+ (WebCore::HTMLDocumentParser::attemptToEnd):
+ (WebCore::HTMLDocumentParser::endIfDelayed):
+ (WebCore::HTMLDocumentParser::notifyFinished):
+ * html/parser/HTMLDocumentParser.h:
+ * html/parser/HTMLScriptRunner.cpp:
+ (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
+ (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
+ (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
+ (WebCore::HTMLScriptRunner::runScript):
+ * html/parser/HTMLScriptRunner.h:
+ * loader/ImageDocument.cpp:
+ (WebCore::ImageDocumentParser::finish):
+
2010-09-02 Eric Seidel <eric at webkit.org>
Reviewed by Dimitri Glazkov.
diff --git a/WebCore/dom/Document.cpp b/WebCore/dom/Document.cpp
index dbf447d..741f98a 100644
--- a/WebCore/dom/Document.cpp
+++ b/WebCore/dom/Document.cpp
@@ -1823,7 +1823,7 @@ void Document::open(Document* ownerDocument)
if (m_frame) {
ScriptableDocumentParser* parser = scriptableDocumentParser();
- if (m_frame->loader()->isLoadingMainResource() || (parser && parser->isParsing() && parser->isExecutingScript()))
+ if (m_frame->loader()->isLoadingMainResource() || (parser && parser->isExecutingScript()))
return;
if (m_frame->loader()->state() == FrameStateProvisional)
diff --git a/WebCore/dom/DocumentParser.cpp b/WebCore/dom/DocumentParser.cpp
index 639860a..cc4c61b 100644
--- a/WebCore/dom/DocumentParser.cpp
+++ b/WebCore/dom/DocumentParser.cpp
@@ -31,7 +31,7 @@
namespace WebCore {
DocumentParser::DocumentParser(Document* document)
- : m_state(ParsingState)
+ : m_parserStopped(false)
, m_document(document)
{
ASSERT(document);
@@ -45,25 +45,8 @@ DocumentParser::~DocumentParser()
ASSERT(!m_document);
}
-void DocumentParser::startParsing()
-{
- m_state = ParsingState;
-}
-
-void DocumentParser::prepareToStopParsing()
-{
- if (m_state == ParsingState)
- m_state = StoppingState;
-}
-
-void DocumentParser::stopParsing()
-{
- m_state = StoppedState;
-}
-
void DocumentParser::detach()
{
- m_state = DetachedState;
m_document = 0;
}
diff --git a/WebCore/dom/DocumentParser.h b/WebCore/dom/DocumentParser.h
index 7cc9e7b..3c28856 100644
--- a/WebCore/dom/DocumentParser.h
+++ b/WebCore/dom/DocumentParser.h
@@ -57,29 +57,12 @@ public:
// FIXME: processingData() is only used by DocumentLoader::isLoadingInAPISense
// and is very unclear as to what it actually means. The LegacyHTMLDocumentParser
- // used to implement it.
+ // used to implements it.
virtual bool processingData() const { return false; }
// document() will return 0 after detach() is called.
Document* document() const { ASSERT(m_document); return m_document; }
-
- bool isParsing() const { return m_state == ParsingState; }
- bool isStopping() const { return m_state == StoppingState; }
- bool isStopped() const { return m_state >= StoppedState; }
- bool isDetached() const { return m_state == DetachedState; }
-
- // FIXME: Is this necessary? Does XMLDocumentParserLibxml2 really need to set this?
- virtual void startParsing();
-
- // prepareToStop() is used when the EOF token is encountered and parsing is to be
- // stopped normally.
- virtual void prepareToStopParsing();
-
- // stopParsing() is used when a load is canceled/stopped.
- // stopParsing() is currently different from detach(), but shouldn't be.
- // It should NOT be ok to call any methods on DocumentParser after either
- // detach() or stopParsing() but right now only detach() will ASSERT.
- virtual void stopParsing();
+ bool isDetached() const { return !m_document; }
// Document is expected to detach the parser before releasing its ref.
// After detach, m_document is cleared. The parser will unwind its
@@ -88,18 +71,22 @@ public:
// detach is called.
virtual void detach();
+ // stopParsing() is used when a load is canceled/stopped.
+ // stopParsing() is currently different from detach(), but shouldn't be.
+ // It should NOT be ok to call any methods on DocumentParser after either
+ // detach() or stopParsing() but right now only detach() will ASSERT.
+ virtual void stopParsing() { m_parserStopped = true; }
+
protected:
DocumentParser(Document*);
-private:
- enum ParserState {
- ParsingState,
- StoppingState,
- StoppedState,
- DetachedState
- };
- ParserState m_state;
+ // The parser has buffers, so parsing may continue even after
+ // it stops receiving data. We use m_parserStopped to stop the parser
+ // even when it has buffered data.
+ // FIXME: m_document = 0 could be changed to mean "parser stopped".
+ bool m_parserStopped;
+private:
// Every DocumentParser needs a pointer back to the document.
// m_document will be 0 after the parser is stopped.
Document* m_document;
diff --git a/WebCore/dom/RawDataDocumentParser.h b/WebCore/dom/RawDataDocumentParser.h
index 9ca36f4..093ddaf 100644
--- a/WebCore/dom/RawDataDocumentParser.h
+++ b/WebCore/dom/RawDataDocumentParser.h
@@ -39,7 +39,7 @@ protected:
virtual void finish()
{
- if (!isStopped())
+ if (!m_parserStopped && !isDetached())
document()->finishedParsing();
}
diff --git a/WebCore/dom/XMLDocumentParser.cpp b/WebCore/dom/XMLDocumentParser.cpp
index 5fb8b54..4b76472 100644
--- a/WebCore/dom/XMLDocumentParser.cpp
+++ b/WebCore/dom/XMLDocumentParser.cpp
@@ -132,7 +132,7 @@ void XMLDocumentParser::append(const SegmentedString& s)
if (m_sawXSLTransform || !m_sawFirstElement)
m_originalSourceForTransform += parseString;
- if (isStopped() || m_sawXSLTransform)
+ if (isDetached() || m_parserStopped || m_sawXSLTransform)
return;
if (m_parserPaused) {
@@ -190,7 +190,7 @@ static inline String toString(const xmlChar* str, unsigned len)
void XMLDocumentParser::exitText()
{
- if (isStopped())
+ if (m_parserStopped)
return;
if (!m_currentNode || !m_currentNode->isTextNode())
diff --git a/WebCore/dom/XMLDocumentParserLibxml2.cpp b/WebCore/dom/XMLDocumentParserLibxml2.cpp
index d99ab4b..db94c50 100644
--- a/WebCore/dom/XMLDocumentParserLibxml2.cpp
+++ b/WebCore/dom/XMLDocumentParserLibxml2.cpp
@@ -660,7 +660,7 @@ void XMLDocumentParser::doWrite(const String& parseString)
// JavaScript (which may be run under the xmlParseChunk callstack) may
// cause the parser to be stopped or detached.
- if (isStopped())
+ if (isDetached() || m_parserStopped)
return;
}
@@ -733,7 +733,7 @@ static inline void handleElementAttributes(Element* newElement, const xmlChar**
void XMLDocumentParser::startElementNs(const xmlChar* xmlLocalName, const xmlChar* xmlPrefix, const xmlChar* xmlURI, int nb_namespaces,
const xmlChar** libxmlNamespaces, int nb_attributes, int nb_defaulted, const xmlChar** libxmlAttributes)
{
- if (isStopped())
+ if (m_parserStopped)
return;
if (m_parserPaused) {
@@ -822,7 +822,7 @@ void XMLDocumentParser::startElementNs(const xmlChar* xmlLocalName, const xmlCha
void XMLDocumentParser::endElementNs()
{
- if (isStopped())
+ if (m_parserStopped)
return;
if (m_parserPaused) {
@@ -906,7 +906,7 @@ void XMLDocumentParser::endElementNs()
void XMLDocumentParser::characters(const xmlChar* s, int len)
{
- if (isStopped())
+ if (m_parserStopped)
return;
if (m_parserPaused) {
@@ -921,7 +921,7 @@ void XMLDocumentParser::characters(const xmlChar* s, int len)
void XMLDocumentParser::error(ErrorType type, const char* message, va_list args)
{
- if (isStopped())
+ if (m_parserStopped)
return;
#if COMPILER(MSVC) || COMPILER(RVCT)
@@ -945,7 +945,7 @@ void XMLDocumentParser::error(ErrorType type, const char* message, va_list args)
void XMLDocumentParser::processingInstruction(const xmlChar* target, const xmlChar* data)
{
- if (isStopped())
+ if (m_parserStopped)
return;
if (m_parserPaused) {
@@ -979,7 +979,7 @@ void XMLDocumentParser::processingInstruction(const xmlChar* target, const xmlCh
void XMLDocumentParser::cdataBlock(const xmlChar* s, int len)
{
- if (isStopped())
+ if (m_parserStopped)
return;
if (m_parserPaused) {
@@ -997,7 +997,7 @@ void XMLDocumentParser::cdataBlock(const xmlChar* s, int len)
void XMLDocumentParser::comment(const xmlChar* s)
{
- if (isStopped())
+ if (m_parserStopped)
return;
if (m_parserPaused) {
@@ -1034,7 +1034,7 @@ void XMLDocumentParser::endDocument()
void XMLDocumentParser::internalSubset(const xmlChar* name, const xmlChar* externalID, const xmlChar* systemID)
{
- if (isStopped())
+ if (m_parserStopped)
return;
if (m_parserPaused) {
@@ -1294,7 +1294,7 @@ void XMLDocumentParser::initializeParserContext(const char* chunk)
sax.ignorableWhitespace = ignorableWhitespaceHandler;
sax.entityDecl = xmlSAX2EntityDecl;
sax.initialized = XML_SAX2_MAGIC;
- DocumentParser::startParsing();
+ m_parserStopped = false;
m_sawError = false;
m_sawXSLTransform = false;
m_sawFirstElement = false;
@@ -1318,11 +1318,11 @@ void XMLDocumentParser::doEnd()
document()->setParsing(false); // Make the doc think it's done, so it will apply xsl sheets.
document()->styleSelectorChanged(RecalcStyleImmediately);
document()->setParsing(true);
- DocumentParser::stopParsing();
+ m_parserStopped = true;
}
#endif
- if (isStopped())
+ if (m_parserStopped)
return;
if (m_context) {
diff --git a/WebCore/dom/XMLDocumentParserQt.cpp b/WebCore/dom/XMLDocumentParserQt.cpp
index 59bb94c..dfd6fb1 100644
--- a/WebCore/dom/XMLDocumentParserQt.cpp
+++ b/WebCore/dom/XMLDocumentParserQt.cpp
@@ -199,7 +199,7 @@ void XMLDocumentParser::doWrite(const String& parseString)
void XMLDocumentParser::initializeParserContext(const char*)
{
- DocumentParser::stopParsing();
+ m_parserStopped = false;
m_sawError = false;
m_sawXSLTransform = false;
m_sawFirstElement = false;
@@ -213,7 +213,7 @@ void XMLDocumentParser::doEnd()
document()->setParsing(false); // Make the doc think it's done, so it will apply xsl sheets.
document()->styleSelectorChanged(RecalcStyleImmediately);
document()->setParsing(true);
- DocumentParser::startParsing();
+ m_parserStopped = true;
}
#endif
@@ -350,7 +350,7 @@ static inline void handleElementAttributes(Element* newElement, const QXmlStream
void XMLDocumentParser::parse()
{
- while (!isStopped() && !m_parserPaused && !m_stream.atEnd()) {
+ while (!m_parserStopped && !m_parserPaused && !m_stream.atEnd()) {
m_stream.readNext();
switch (m_stream.tokenType()) {
case QXmlStreamReader::StartDocument: {
diff --git a/WebCore/html/parser/HTMLDocumentParser.cpp b/WebCore/html/parser/HTMLDocumentParser.cpp
index 975fcb8..207bd3e 100644
--- a/WebCore/html/parser/HTMLDocumentParser.cpp
+++ b/WebCore/html/parser/HTMLDocumentParser.cpp
@@ -142,28 +142,6 @@ void HTMLDocumentParser::stopParsing()
m_parserScheduler.clear(); // Deleting the scheduler will clear any timers.
}
-// This kicks off "Once the user agent stops parsing" as described by:
-// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#the-end
-void HTMLDocumentParser::prepareToStopParsing()
-{
- ASSERT(!hasInsertionPoint());
-
- // pumpTokenizer can cause this parser to be detached from the Document,
- // but we need to ensure it isn't deleted yet.
- RefPtr<HTMLDocumentParser> protect(this);
-
- // FIXME: Set the current document readiness to "interactive".
-
- // NOTE: This pump should only ever emit buffered character tokens,
- // so ForceSynchronous vs. AllowYield should be meaningless.
- pumpTokenizerIfPossible(ForceSynchronous);
-
- DocumentParser::prepareToStopParsing();
- if (m_scriptRunner && !m_scriptRunner->executeScriptsWaitingForParsing())
- return;
- end();
-}
-
bool HTMLDocumentParser::processingData() const
{
return isScheduledForResume() || inWrite();
@@ -171,7 +149,7 @@ bool HTMLDocumentParser::processingData() const
void HTMLDocumentParser::pumpTokenizerIfPossible(SynchronousMode mode)
{
- if (isStopped() || m_treeBuilder->isPaused())
+ if (m_parserStopped || m_treeBuilder->isPaused())
return;
// Once a resume is scheduled, HTMLParserScheduler controls when we next pump.
@@ -215,7 +193,8 @@ bool HTMLDocumentParser::runScriptsForPausedTreeBuilder()
void HTMLDocumentParser::pumpTokenizer(SynchronousMode mode)
{
- ASSERT(!isStopped());
+ ASSERT(!isDetached());
+ ASSERT(!m_parserStopped);
ASSERT(!m_treeBuilder->isPaused());
ASSERT(!isScheduledForResume());
// ASSERT that this object is both attached to the Document and protected.
@@ -235,7 +214,7 @@ void HTMLDocumentParser::pumpTokenizer(SynchronousMode mode)
m_token.clear();
// JavaScript may have stopped or detached the parser.
- if (isStopped())
+ if (isDetached() || m_parserStopped)
return;
// The parser will pause itself when waiting on a script to load or run.
@@ -247,7 +226,7 @@ void HTMLDocumentParser::pumpTokenizer(SynchronousMode mode)
m_treeBuilder->setPaused(!shouldContinueParsing);
// JavaScript may have stopped or detached the parser.
- if (isStopped())
+ if (isDetached() || m_parserStopped)
return;
if (!shouldContinueParsing)
@@ -296,7 +275,7 @@ bool HTMLDocumentParser::hasInsertionPoint()
void HTMLDocumentParser::insert(const SegmentedString& source)
{
- if (isStopped())
+ if (m_parserStopped)
return;
// pumpTokenizer can cause this parser to be detached from the Document,
@@ -317,7 +296,7 @@ void HTMLDocumentParser::insert(const SegmentedString& source)
void HTMLDocumentParser::append(const SegmentedString& source)
{
- if (isStopped())
+ if (m_parserStopped)
return;
// pumpTokenizer can cause this parser to be detached from the Document,
@@ -349,6 +328,14 @@ void HTMLDocumentParser::end()
ASSERT(!isDetached());
ASSERT(!isScheduledForResume());
+ // pumpTokenizer can cause this parser to be detached from the Document,
+ // but we need to ensure it isn't deleted yet.
+ RefPtr<HTMLDocumentParser> protect(this);
+
+ // NOTE: This pump should only ever emit buffered character tokens,
+ // so ForceSynchronous vs. AllowYield should be meaningless.
+ pumpTokenizerIfPossible(ForceSynchronous);
+
// Informs the the rest of WebCore that parsing is really finished (and deletes this).
m_treeBuilder->finished();
}
@@ -362,7 +349,7 @@ void HTMLDocumentParser::attemptToEnd()
m_endWasDelayed = true;
return;
}
- prepareToStopParsing();
+ end();
}
void HTMLDocumentParser::endIfDelayed()
@@ -375,7 +362,7 @@ void HTMLDocumentParser::endIfDelayed()
return;
m_endWasDelayed = false;
- prepareToStopParsing();
+ end();
}
void HTMLDocumentParser::finish()
@@ -460,11 +447,6 @@ bool HTMLDocumentParser::shouldLoadExternalScriptFromSrc(const AtomicString& src
void HTMLDocumentParser::notifyFinished(CachedResource* cachedResource)
{
- if (isStopping()) {
- prepareToStopParsing();
- return;
- }
-
// pumpTokenizer can cause this parser to be detached from the Document,
// but we need to ensure it isn't deleted yet.
RefPtr<HTMLDocumentParser> protect(this);
diff --git a/WebCore/html/parser/HTMLDocumentParser.h b/WebCore/html/parser/HTMLDocumentParser.h
index a32b439..da21a2b 100644
--- a/WebCore/html/parser/HTMLDocumentParser.h
+++ b/WebCore/html/parser/HTMLDocumentParser.h
@@ -81,7 +81,6 @@ private:
virtual void append(const SegmentedString&);
virtual bool finishWasCalled();
virtual bool processingData() const;
- virtual void prepareToStopParsing();
virtual void stopParsing();
virtual bool isWaitingForScripts() const;
virtual bool isExecutingScript() const;
diff --git a/WebCore/html/parser/HTMLScriptRunner.cpp b/WebCore/html/parser/HTMLScriptRunner.cpp
index 764bf01..6d470a0 100644
--- a/WebCore/html/parser/HTMLScriptRunner.cpp
+++ b/WebCore/html/parser/HTMLScriptRunner.cpp
@@ -75,12 +75,6 @@ HTMLScriptRunner::~HTMLScriptRunner()
// FIXME: Should we be passed a "done loading/parsing" callback sooner than destruction?
if (m_parsingBlockingScript.cachedScript() && m_parsingBlockingScript.watchingForLoad())
stopWatchingForLoad(m_parsingBlockingScript);
-
- while (!m_scriptsToExecuteAfterParsing.isEmpty()) {
- PendingScript pendingScript = m_scriptsToExecuteAfterParsing.takeFirst();
- if (pendingScript.cachedScript() && pendingScript.watchingForLoad())
- stopWatchingForLoad(pendingScript);
- }
}
void HTMLScriptRunner::detach()
@@ -135,6 +129,10 @@ void HTMLScriptRunner::executeParsingBlockingScript()
ASSERT(m_document->haveStylesheetsLoaded());
ASSERT(isPendingScriptReady(m_parsingBlockingScript));
+ // Stop watching loads before executeScript to prevent recursion if the script reloads itself.
+ if (m_parsingBlockingScript.cachedScript() && m_parsingBlockingScript.watchingForLoad())
+ stopWatchingForLoad(m_parsingBlockingScript);
+
InsertionPointRecord insertionPointRecord(m_host->inputStream());
executePendingScriptAndDispatchEvent(m_parsingBlockingScript);
}
@@ -144,10 +142,6 @@ void HTMLScriptRunner::executePendingScriptAndDispatchEvent(PendingScript& pendi
bool errorOccurred = false;
ScriptSourceCode sourceCode = sourceFromPendingScript(pendingScript, errorOccurred);
- // Stop watching loads before executeScript to prevent recursion if the script reloads itself.
- if (pendingScript.cachedScript() && pendingScript.watchingForLoad())
- stopWatchingForLoad(pendingScript);
-
// Clear the pending script before possible rentrancy from executeScript()
RefPtr<Element> scriptElement = pendingScript.releaseElementAndClear();
{
@@ -244,24 +238,6 @@ bool HTMLScriptRunner::executeScriptsWaitingForStylesheets()
return executeParsingBlockingScripts();
}
-bool HTMLScriptRunner::executeScriptsWaitingForParsing()
-{
- while (!m_scriptsToExecuteAfterParsing.isEmpty()) {
- ASSERT(!m_scriptNestingLevel);
- ASSERT(!haveParsingBlockingScript());
- ASSERT(m_scriptsToExecuteAfterParsing.first().cachedScript());
- if (!m_scriptsToExecuteAfterParsing.first().cachedScript()->isLoaded()) {
- watchForLoad(m_scriptsToExecuteAfterParsing.first());
- return false;
- }
- PendingScript first = m_scriptsToExecuteAfterParsing.takeFirst();
- executePendingScriptAndDispatchEvent(first);
- if (!m_document)
- return false;
- }
- return true;
-}
-
void HTMLScriptRunner::requestParsingBlockingScript(Element* element)
{
if (!requestPendingScript(m_parsingBlockingScript, element))
@@ -276,16 +252,6 @@ void HTMLScriptRunner::requestParsingBlockingScript(Element* element)
watchForLoad(m_parsingBlockingScript);
}
-void HTMLScriptRunner::requestDeferredScript(Element* element)
-{
- PendingScript pendingScript;
- if (!requestPendingScript(pendingScript, element))
- return;
-
- ASSERT(pendingScript.cachedScript());
- m_scriptsToExecuteAfterParsing.append(pendingScript);
-}
-
bool HTMLScriptRunner::requestPendingScript(PendingScript& pendingScript, Element* script) const
{
ASSERT(!pendingScript.element());
@@ -321,11 +287,8 @@ void HTMLScriptRunner::runScript(Element* script, int startingLineNumber)
notImplemented(); // event for support
if (script->hasAttribute(srcAttr)) {
- // FIXME: Handle async.
- if (script->hasAttribute(deferAttr))
- requestDeferredScript(script);
- else
- requestParsingBlockingScript(script);
+ // FIXME: Handle defer and async
+ requestParsingBlockingScript(script);
} else {
// FIXME: We do not block inline <script> tags on stylesheets to match the
// old parser for now. When we do, the ASSERT below should be added.
diff --git a/WebCore/html/parser/HTMLScriptRunner.h b/WebCore/html/parser/HTMLScriptRunner.h
index 47c96fd..ead9289 100644
--- a/WebCore/html/parser/HTMLScriptRunner.h
+++ b/WebCore/html/parser/HTMLScriptRunner.h
@@ -27,7 +27,6 @@
#define HTMLScriptRunner_h
#include "PendingScript.h"
-#include <wtf/Deque.h>
#include <wtf/Noncopyable.h>
#include <wtf/PassRefPtr.h>
@@ -57,7 +56,6 @@ public:
bool executeScriptsWaitingForLoad(CachedResource*);
bool hasScriptsWaitingForStylesheets() const { return m_hasScriptsWaitingForStylesheets; }
bool executeScriptsWaitingForStylesheets();
- bool executeScriptsWaitingForParsing();
bool isExecutingScript() const { return !!m_scriptNestingLevel; }
@@ -73,7 +71,6 @@ private:
bool executeParsingBlockingScripts();
void requestParsingBlockingScript(Element*);
- void requestDeferredScript(Element*);
bool requestPendingScript(PendingScript&, Element*) const;
void runScript(Element*, int startingLineNumber);
@@ -87,7 +84,6 @@ private:
Document* m_document;
HTMLScriptRunnerHost* m_host;
PendingScript m_parsingBlockingScript;
- Deque<PendingScript> m_scriptsToExecuteAfterParsing; // http://www.whatwg.org/specs/web-apps/current-work/#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing
unsigned m_scriptNestingLevel;
// We only want stylesheet loads to trigger script execution if script
diff --git a/WebCore/loader/ImageDocument.cpp b/WebCore/loader/ImageDocument.cpp
index cc3c85c..702ed9d 100644
--- a/WebCore/loader/ImageDocument.cpp
+++ b/WebCore/loader/ImageDocument.cpp
@@ -138,7 +138,7 @@ void ImageDocumentParser::appendBytes(DocumentWriter*, const char*, int, bool)
void ImageDocumentParser::finish()
{
- if (!isStopped() && document()->imageElement()) {
+ if (!m_parserStopped && document()->imageElement()) {
CachedImage* cachedImage = document()->cachedImage();
RefPtr<SharedBuffer> data = document()->frame()->loader()->documentLoader()->mainResourceData();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list