summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradele <adele@bbb929c8-8fbe-4397-9dbb-9b2b20218538>2005-06-17 20:00:11 +0000
committeradele <adele@bbb929c8-8fbe-4397-9dbb-9b2b20218538>2005-06-17 20:00:11 +0000
commit51584ae24ae6649e1d62af7d0d48b71e0043a6d7 (patch)
tree70caa3787205eae66c6f9d6933b0a48cbbde2bbd
parente74bf8c54d990a0078e39a52f315526b2471f019 (diff)
downloadchromium_src-51584ae24ae6649e1d62af7d0d48b71e0043a6d7.zip
chromium_src-51584ae24ae6649e1d62af7d0d48b71e0043a6d7.tar.gz
chromium_src-51584ae24ae6649e1d62af7d0d48b71e0043a6d7.tar.bz2
Reviewed by Maciej.
- fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3419 <rdar://problem/4111752> REGRESSION (125-312/412): Safari doesn't display edmunds.com pages first time through * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): set 'script' flag when parsing <script src="foo" /> case. In this case, parseTag calls the scriptHandler function which expects that flag to be set, and sets it back to false at the appropriate time. Test cases added: These still don't test the cached script cases, but they're good regression tests for the tokenizer. We'll have to come up with a good way to test the cached cases later. * layout-tests/fast/tokenizer/external-script-document-write_2-expected.txt: Added. * layout-tests/fast/tokenizer/external-script-document-write_2.html: Added. * layout-tests/fast/tokenizer/resources/empty_script.js: Added. * layout-tests/fast/tokenizer/script_extra_close-expected.txt: Added. * layout-tests/fast/tokenizer/script_extra_close.html: Added. * layout-tests/fast/tokenizer/script_quirk-expected.txt: Added. * layout-tests/fast/tokenizer/script_quirk.html: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@9414 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-rw-r--r--third_party/WebKit/LayoutTests/fast/tokenizer/external-script-document-write_2-expected.txt9
-rw-r--r--third_party/WebKit/LayoutTests/fast/tokenizer/external-script-document-write_2.html9
-rw-r--r--third_party/WebKit/LayoutTests/fast/tokenizer/resources/empty_script.js0
-rw-r--r--third_party/WebKit/LayoutTests/fast/tokenizer/script_extra_close-expected.txt13
-rw-r--r--third_party/WebKit/LayoutTests/fast/tokenizer/script_extra_close.html10
-rw-r--r--third_party/WebKit/LayoutTests/fast/tokenizer/script_quirk-expected.txt9
-rw-r--r--third_party/WebKit/LayoutTests/fast/tokenizer/script_quirk.html6
-rw-r--r--third_party/WebKit/WebCore/ChangeLog-2005-08-2322
-rw-r--r--third_party/WebKit/WebCore/khtml/html/htmltokenizer.cpp4
9 files changed, 81 insertions, 1 deletions
diff --git a/third_party/WebKit/LayoutTests/fast/tokenizer/external-script-document-write_2-expected.txt b/third_party/WebKit/LayoutTests/fast/tokenizer/external-script-document-write_2-expected.txt
new file mode 100644
index 0000000..e4832e7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/tokenizer/external-script-document-write_2-expected.txt
@@ -0,0 +1,9 @@
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderText {TEXT} at (0,0) size 275x18
+ text run at (0,0) width 112: "TEST PASSED. "
+ text run at (112,0) width 163: "This text should show up."
+ RenderText {TEXT} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/fast/tokenizer/external-script-document-write_2.html b/third_party/WebKit/LayoutTests/fast/tokenizer/external-script-document-write_2.html
new file mode 100644
index 0000000..3bbfcf0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/tokenizer/external-script-document-write_2.html
@@ -0,0 +1,9 @@
+<html>
+<body>
+<script>
+ document.write('<scr'+'ipt src="resources/empty_script.js"></scr'+'ipt>');
+</script>
+<script src=""></script>
+TEST PASSED. This text should show up.
+</body>
+</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/fast/tokenizer/resources/empty_script.js b/third_party/WebKit/LayoutTests/fast/tokenizer/resources/empty_script.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/tokenizer/resources/empty_script.js
diff --git a/third_party/WebKit/LayoutTests/fast/tokenizer/script_extra_close-expected.txt b/third_party/WebKit/LayoutTests/fast/tokenizer/script_extra_close-expected.txt
new file mode 100644
index 0000000..cafc5c3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/tokenizer/script_extra_close-expected.txt
@@ -0,0 +1,13 @@
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderText {TEXT} at (0,0) size 55x18
+ text run at (0,0) width 55: "TEST... "
+ RenderText {TEXT} at (0,0) size 0x0
+ RenderText {TEXT} at (0,0) size 0x0
+ RenderText {TEXT} at (55,0) size 232x18
+ text run at (55,0) width 69: "PASSED. "
+ text run at (124,0) width 163: "This text should show up."
+ RenderText {TEXT} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/fast/tokenizer/script_extra_close.html b/third_party/WebKit/LayoutTests/fast/tokenizer/script_extra_close.html
new file mode 100644
index 0000000..0d1f6d7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/tokenizer/script_extra_close.html
@@ -0,0 +1,10 @@
+<html>
+<body>
+TEST...
+<script src="" />
+</script>
+<script src="resources/empty_script.js">
+</script>
+PASSED. This text should show up.
+</body>
+</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/fast/tokenizer/script_quirk-expected.txt b/third_party/WebKit/LayoutTests/fast/tokenizer/script_quirk-expected.txt
new file mode 100644
index 0000000..e4832e7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/tokenizer/script_quirk-expected.txt
@@ -0,0 +1,9 @@
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderText {TEXT} at (0,0) size 275x18
+ text run at (0,0) width 112: "TEST PASSED. "
+ text run at (112,0) width 163: "This text should show up."
+ RenderText {TEXT} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/fast/tokenizer/script_quirk.html b/third_party/WebKit/LayoutTests/fast/tokenizer/script_quirk.html
new file mode 100644
index 0000000..2bd80fc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/tokenizer/script_quirk.html
@@ -0,0 +1,6 @@
+<html>
+<body>
+<script src="resources/empty_script.js" />
+TEST PASSED. This text should show up.
+</body>
+</html \ No newline at end of file
diff --git a/third_party/WebKit/WebCore/ChangeLog-2005-08-23 b/third_party/WebKit/WebCore/ChangeLog-2005-08-23
index d5c089a..a9db174 100644
--- a/third_party/WebKit/WebCore/ChangeLog-2005-08-23
+++ b/third_party/WebKit/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,25 @@
+2005-06-17 Adele Peterson <adele@apple.com>
+
+ Reviewed by Maciej.
+
+ - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3419
+ <rdar://problem/4111752> REGRESSION (125-312/412): Safari doesn't display edmunds.com pages first time through
+
+ * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): set 'script' flag when
+ parsing <script src="foo" /> case. In this case, parseTag calls the scriptHandler function which expects
+ that flag to be set, and sets it back to false at the appropriate time.
+
+ Test cases added: These still don't test the cached script cases, but they're good regression
+ tests for the tokenizer. We'll have to come up with a good way to test the cached cases later.
+
+ * layout-tests/fast/tokenizer/external-script-document-write_2-expected.txt: Added.
+ * layout-tests/fast/tokenizer/external-script-document-write_2.html: Added.
+ * layout-tests/fast/tokenizer/resources/empty_script.js: Added.
+ * layout-tests/fast/tokenizer/script_extra_close-expected.txt: Added.
+ * layout-tests/fast/tokenizer/script_extra_close.html: Added.
+ * layout-tests/fast/tokenizer/script_quirk-expected.txt: Added.
+ * layout-tests/fast/tokenizer/script_quirk.html: Added.
+
2005-06-17 Justin Garcia <justin.garcia@apple.com>
Fixed fprintf problem in gcc4.0
diff --git a/third_party/WebKit/WebCore/khtml/html/htmltokenizer.cpp b/third_party/WebKit/WebCore/khtml/html/htmltokenizer.cpp
index b7c9678..80b8b53 100644
--- a/third_party/WebKit/WebCore/khtml/html/htmltokenizer.cpp
+++ b/third_party/WebKit/WebCore/khtml/html/htmltokenizer.cpp
@@ -1434,8 +1434,10 @@ void HTMLTokenizer::parseTag(TokenizerString &src)
script = true;
parseSpecial(src);
}
- else if (tagID <= ID_CLOSE_TAG) // Handle <script src="foo"/>
+ else if (tagID <= ID_CLOSE_TAG) { // Handle <script src="foo"/>
+ script = true;
scriptHandler();
+ }
break;
case ID_STYLE:
if (beginTag) {