[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
abarth at webkit.org
abarth at webkit.org
Wed Dec 22 11:43:27 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit baa00ff720f75294d73c6f2dcd946ee47fceb68b
Author: abarth at webkit.org <abarth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Aug 5 02:22:44 2010 +0000
2010-08-04 Sheriff Bot <webkit.review.bot at gmail.com>
Unreviewed, rolling out r64674.
http://trac.webkit.org/changeset/64674
https://bugs.webkit.org/show_bug.cgi?id=43532
Doesn't work with HTML5 tree builder (Requested by tonyg-cr 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/resources/defer.js: Removed.
* fast/dom/HTMLScriptElement/resources/external.js: Removed.
* fast/dom/HTMLScriptElement/resources/shouldnotexecute.js: 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-write-slow-stylesheet-expected.txt: Removed.
* http/tests/misc/script-defer-write-slow-stylesheet.html: Removed.
* http/tests/misc/script-defer.html: Removed.
2010-08-04 Sheriff Bot <webkit.review.bot at gmail.com>
Unreviewed, rolling out r64674.
http://trac.webkit.org/changeset/64674
https://bugs.webkit.org/show_bug.cgi?id=43532
Doesn't work with HTML5 tree builder (Requested by tonyg-cr on
#webkit).
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::attemptToEnd):
(WebCore::HTMLDocumentParser::endIfDelayed):
* html/HTMLDocumentParser.h:
* html/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::requestScript):
(WebCore::HTMLScriptRunner::runScript):
* html/HTMLScriptRunner.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 4ee88d5..b39d396 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,38 @@
+2010-08-04 Sheriff Bot <webkit.review.bot at gmail.com>
+
+ Unreviewed, rolling out r64674.
+ http://trac.webkit.org/changeset/64674
+ https://bugs.webkit.org/show_bug.cgi?id=43532
+
+ Doesn't work with HTML5 tree builder (Requested by tonyg-cr 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/resources/defer.js: Removed.
+ * fast/dom/HTMLScriptElement/resources/external.js: Removed.
+ * fast/dom/HTMLScriptElement/resources/shouldnotexecute.js: 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-write-slow-stylesheet-expected.txt: Removed.
+ * http/tests/misc/script-defer-write-slow-stylesheet.html: Removed.
+ * http/tests/misc/script-defer.html: Removed.
+
2010-08-04 Adam Barth <abarth at webkit.org>
Reviewed by Eric Seidel.
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 1513b28..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-defer-write-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-1 2 3 4 56 78
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 4074e01..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-defer-write.html
+++ /dev/null
@@ -1,18 +0,0 @@
-1
-<script>
-if (window.layoutTestController)
- layoutTestController.dumpAsText();
-
-function doubleWrite(number)
-{
- document.write("<script src='data:text/javascript,document.write(" + number + ")' defer></scr" +
- "ipt> <script src='data:text/javascript,document.write(" + (number + 1) + ")' defer></scr" + "ipt> ")
-}
-</script>
-2
-<script
- onbeforeload="document.write(3);doubleWrite(5)"
- src="data:text/javascript,doubleWrite(7)"
- defer>
-</script>
-4
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 b4457aa..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-write-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-1 2 3 4 5 6 7
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 c858993..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-double-write.html
+++ /dev/null
@@ -1,18 +0,0 @@
-1
-<script>
-if (window.layoutTestController)
- layoutTestController.dumpAsText();
-
-function doubleWrite(number)
-{
- document.write("<script>document.write(" + number + ")</scr" +
- "ipt> <script>document.write(" + (number + 1) + ")</scr" + "ipt> ")
-}
-</script>
-2
-<script
- onbeforeload="doubleWrite(3)"
- src="data:text/javascript,doubleWrite(6)"
- defer>
-</script>
-5
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 8d04f96..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-inline-script-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-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 aa31aa2..0000000
--- a/LayoutTests/fast/dom/HTMLScriptElement/defer-inline-script.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<script>
-if (window.layoutTestController)
- layoutTestController.dumpAsText();
-</script>
-<script src="data:text/javascript,document.write('2')" defer></script>
-<script defer>
- document.write('1');
-</script>
diff --git a/LayoutTests/fast/dom/HTMLScriptElement/defer-onbeforeload-expected.txt b/LayoutTests/fast/dom/HTMLScriptElement/defer-onbeforeload-expected.txt
deleted file mode 100755
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 422616c..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 830cc67..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 are 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 aaf26fd..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 are 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/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/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 100755
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 e056121..0000000
--- a/LayoutTests/http/tests/misc/script-defer-after-slow-stylesheet.html
+++ /dev/null
@@ -1,30 +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-stylesheet.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 100755
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-write-slow-stylesheet-expected.txt b/LayoutTests/http/tests/misc/script-defer-write-slow-stylesheet-expected.txt
deleted file mode 100755
index f20497d..0000000
--- a/LayoutTests/http/tests/misc/script-defer-write-slow-stylesheet-expected.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-This tests that a slow stylesheet written by a deferred script delays DOMContentLoaded.
-
-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-write-slow-stylesheet.html b/LayoutTests/http/tests/misc/script-defer-write-slow-stylesheet.html
deleted file mode 100644
index 23889d3..0000000
--- a/LayoutTests/http/tests/misc/script-defer-write-slow-stylesheet.html
+++ /dev/null
@@ -1,29 +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>
-<div id="description"></div>
-<div id="console"></div>
-<script type="text/javascript">
-var jsTestIsAsync = true;
-
-description('This tests that a slow stylesheet written by a deferred script delays DOMContentLoaded.');
-
-document.addEventListener("DOMContentLoaded", function() {
- debug('DOMContentLoaded');
-
- finishJSTest();
-}, false);
-</script>
-<script src="http://127.0.0.1:8000/misc/resources/script-write-slow-stylesheet.js" defer="defer"></script>
-<script src="http://127.0.0.1:8000/misc/resources/script-debug-body-background.js" defer="defer"></script>
-<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.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 1eb3738..b1b95e6 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,21 @@
+2010-08-04 Sheriff Bot <webkit.review.bot at gmail.com>
+
+ Unreviewed, rolling out r64674.
+ http://trac.webkit.org/changeset/64674
+ https://bugs.webkit.org/show_bug.cgi?id=43532
+
+ Doesn't work with HTML5 tree builder (Requested by tonyg-cr on
+ #webkit).
+
+ * html/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::attemptToEnd):
+ (WebCore::HTMLDocumentParser::endIfDelayed):
+ * html/HTMLDocumentParser.h:
+ * html/HTMLScriptRunner.cpp:
+ (WebCore::HTMLScriptRunner::requestScript):
+ (WebCore::HTMLScriptRunner::runScript):
+ * html/HTMLScriptRunner.h:
+
2010-08-04 Adam Barth <abarth at webkit.org>
Reviewed by Eric Seidel.
diff --git a/WebCore/html/HTMLDocumentParser.cpp b/WebCore/html/HTMLDocumentParser.cpp
index 4bb5e4c..354e7ed 100644
--- a/WebCore/html/HTMLDocumentParser.cpp
+++ b/WebCore/html/HTMLDocumentParser.cpp
@@ -281,7 +281,7 @@ void HTMLDocumentParser::attemptToEnd()
m_endWasDelayed = true;
return;
}
- executeScriptsWaitingForParsingAndEnd();
+ end();
}
void HTMLDocumentParser::endIfDelayed()
@@ -290,19 +290,6 @@ void HTMLDocumentParser::endIfDelayed()
return;
m_endWasDelayed = false;
- executeScriptsWaitingForParsingAndEnd();
-}
-
-void HTMLDocumentParser::executeScriptsWaitingForParsingAndEnd()
-{
- if (m_scriptRunner) {
- bool continueParsing = m_scriptRunner->executeScriptsWaitingForParsing();
- if (!continueParsing) {
- m_treeBuilder->setPaused(true);
- m_endWasDelayed = true;
- return;
- }
- }
end();
}
diff --git a/WebCore/html/HTMLDocumentParser.h b/WebCore/html/HTMLDocumentParser.h
index df64915..cc46d31 100644
--- a/WebCore/html/HTMLDocumentParser.h
+++ b/WebCore/html/HTMLDocumentParser.h
@@ -105,7 +105,6 @@ private:
void begin();
void attemptToEnd();
void endIfDelayed();
- void executeScriptsWaitingForParsingAndEnd();
void end();
bool isScheduledForResume() const;
diff --git a/WebCore/html/HTMLScriptRunner.cpp b/WebCore/html/HTMLScriptRunner.cpp
index 0d1845f..f4b7013 100644
--- a/WebCore/html/HTMLScriptRunner.cpp
+++ b/WebCore/html/HTMLScriptRunner.cpp
@@ -228,50 +228,25 @@ bool HTMLScriptRunner::executeScriptsWaitingForStylesheets()
return executeParsingBlockingScripts();
}
-bool HTMLScriptRunner::executeScriptsWaitingForParsing()
+void HTMLScriptRunner::requestScript(Element* script)
{
- while (!m_scriptsToExecuteAfterParsing.isEmpty()) {
- ASSERT(!haveParsingBlockingScript());
- m_parsingBlockingScript = m_scriptsToExecuteAfterParsing.takeFirst();
- ASSERT(m_parsingBlockingScript.cachedScript());
- if (!m_parsingBlockingScript.cachedScript()->isLoaded()) {
- watchForLoad(m_parsingBlockingScript);
- return false;
- }
- if (!executeParsingBlockingScripts())
- return false;
- }
-
- return m_scriptsToExecuteAfterParsing.isEmpty();
-}
-
-bool HTMLScriptRunner::requestScript(PendingScript& pendingScript, Element* scriptElement)
-{
- ASSERT(!pendingScript.element);
- const AtomicString& srcValue = scriptElement->getAttribute(srcAttr);
+ ASSERT(!m_parsingBlockingScript.element);
+ AtomicString srcValue = script->getAttribute(srcAttr);
+ // Allow the host to disllow script loads (using the XSSAuditor, etc.)
if (!m_host->shouldLoadExternalScriptFromSrc(srcValue))
- return false;
+ return;
// FIXME: We need to resolve the url relative to the element.
- if (!scriptElement->dispatchBeforeLoadEvent(srcValue))
- return false;
- pendingScript.element = scriptElement;
+ if (!script->dispatchBeforeLoadEvent(srcValue))
+ return;
+ m_parsingBlockingScript.element = script;
// This should correctly return 0 for empty or invalid srcValues.
- CachedScript* cachedScript = m_document->docLoader()->requestScript(srcValue, toScriptElement(scriptElement)->scriptCharset());
+ CachedScript* cachedScript = m_document->docLoader()->requestScript(srcValue, toScriptElement(script)->scriptCharset());
if (!cachedScript) {
notImplemented(); // Dispatch error event.
- return false;
- }
-
- pendingScript.setCachedScript(cachedScript);
- return true;
-}
-
-void HTMLScriptRunner::requestParsingBlockingScript(Element* scriptElement)
-{
- if (!requestScript(m_parsingBlockingScript, scriptElement))
return;
+ }
- ASSERT(m_parsingBlockingScript.cachedScript());
+ m_parsingBlockingScript.setCachedScript(cachedScript);
// We only care about a load callback if cachedScript is not already
// in the cache. Callers will attempt to run the m_parsingBlockingScript
@@ -280,16 +255,6 @@ void HTMLScriptRunner::requestParsingBlockingScript(Element* scriptElement)
watchForLoad(m_parsingBlockingScript);
}
-void HTMLScriptRunner::requestDeferredScript(Element* scriptElement)
-{
- PendingScript pendingScript;
- if (!requestScript(pendingScript, scriptElement))
- return;
-
- ASSERT(pendingScript.cachedScript());
- m_scriptsToExecuteAfterParsing.append(pendingScript);
-}
-
// This method is meant to match the HTML5 definition of "running a script"
// http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#running-a-script
void HTMLScriptRunner::runScript(Element* script, int startingLineNumber)
@@ -302,11 +267,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
+ requestScript(script);
} else {
// FIXME: We do not block inline <script> tags on stylesheets to match the
// old parser for now. See https://bugs.webkit.org/show_bug.cgi?id=40047
diff --git a/WebCore/html/HTMLScriptRunner.h b/WebCore/html/HTMLScriptRunner.h
index bbac7cf..cc69443 100644
--- a/WebCore/html/HTMLScriptRunner.h
+++ b/WebCore/html/HTMLScriptRunner.h
@@ -28,7 +28,6 @@
#include "CachedResourceClient.h"
#include "CachedResourceHandle.h"
-#include <wtf/Deque.h>
#include <wtf/Noncopyable.h>
#include <wtf/PassRefPtr.h>
@@ -53,7 +52,6 @@ public:
bool executeScriptsWaitingForLoad(CachedResource*);
bool hasScriptsWaitingForStylesheets() const { return m_hasScriptsWaitingForStylesheets; }
bool executeScriptsWaitingForStylesheets();
- bool executeScriptsWaitingForParsing();
bool isExecutingScript() { return !!m_scriptNestingLevel; }
@@ -65,7 +63,7 @@ private:
// lifetime in order to guarantee that the data buffer will not be purged.
//
// FIXME: Finish turning this into a proper class.
- class PendingScript : public CachedResourceClient {
+ class PendingScript : public CachedResourceClient, Noncopyable {
public:
PendingScript()
: startingLineNumber(0)
@@ -73,28 +71,6 @@ private:
{
}
- PendingScript(const PendingScript& other)
- : CachedResourceClient(other)
- , element(other.element)
- , startingLineNumber(other.startingLineNumber)
- , m_watchingForLoad(other.m_watchingForLoad)
- {
- setCachedScript(other.cachedScript());
- }
-
- PendingScript& operator=(const PendingScript& other)
- {
- if (this == &other)
- return *this;
-
- element = other.element;
- startingLineNumber = other.startingLineNumber;
- m_watchingForLoad = other.m_watchingForLoad;
- setCachedScript(other.cachedScript());
-
- return *this;
- }
-
~PendingScript();
PassRefPtr<Element> releaseElementAndClear();
@@ -125,9 +101,7 @@ private:
bool executeParsingBlockingScripts();
void executePendingScript();
- bool requestScript(PendingScript&, Element*);
- void requestParsingBlockingScript(Element*);
- void requestDeferredScript(Element*);
+ void requestScript(Element*);
void runScript(Element*, int startingLineNumber);
// Helpers for dealing with HTMLScriptRunnerHost
@@ -141,7 +115,6 @@ private:
Document* m_document;
HTMLScriptRunnerHost* m_host;
PendingScript m_parsingBlockingScript;
- Deque<PendingScript> m_scriptsToExecuteAfterParsing;
unsigned m_scriptNestingLevel;
// We only want stylesheet loads to trigger script execution if script
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list