[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