Diff
Modified: releases/WebKitGTK/webkit-1.4/LayoutTests/ChangeLog (87090 => 87091)
--- releases/WebKitGTK/webkit-1.4/LayoutTests/ChangeLog 2011-05-23 19:47:53 UTC (rev 87090)
+++ releases/WebKitGTK/webkit-1.4/LayoutTests/ChangeLog 2011-05-23 19:54:30 UTC (rev 87091)
@@ -1,3 +1,17 @@
+2011-05-12 Adam Barth <[email protected]>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION (r65868): createContextualFragment does not work with <style>
+ https://bugs.webkit.org/show_bug.cgi?id=60155
+
+ These test results match Firefox.
+
+ * fast/parser/style-in-create-contextual-fragment-expected.txt: Added.
+ * fast/parser/style-in-create-contextual-fragment-head-expected.txt: Added.
+ * fast/parser/style-in-create-contextual-fragment-head.html: Added.
+ * fast/parser/style-in-create-contextual-fragment.html: Added.
+
2011-04-11 Dan Bernstein <[email protected]>
Reviewed by Beth Dakin.
Added: releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment-expected.txt (0 => 87091)
--- releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment-expected.txt (rev 0)
+++ releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment-expected.txt 2011-05-23 19:54:30 UTC (rev 87091)
@@ -0,0 +1,25 @@
+| <html>
+| <head>
+| <script>
+| src=""
+| "
+"
+| <body>
+| "
+"
+| <script>
+| "
+var range = document.createRange();
+range.selectNode(document.body);
+var documentFragment = range.createContextualFragment("<title>hi</title><style></style><body>XXX<div>ttt</div></body>");
+document.body.appendChild(documentFragment);
+"
+| <title>
+| "hi"
+| <style>
+| "XXX"
+| <div>
+| "ttt"
+| "
+
+"
Added: releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment-head-expected.txt (0 => 87091)
--- releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment-head-expected.txt (rev 0)
+++ releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment-head-expected.txt 2011-05-23 19:54:30 UTC (rev 87091)
@@ -0,0 +1,25 @@
+| <html>
+| <head>
+| <script>
+| src=""
+| "
+"
+| <title>
+| "hi"
+| <style>
+| "XXX"
+| <div>
+| "ttt"
+| <body>
+| "
+"
+| <script>
+| "
+var range = document.createRange();
+range.selectNode(document.head);
+var documentFragment = range.createContextualFragment("<title>hi</title><style></style><body>XXX<div>ttt</div></body>");
+document.head.appendChild(documentFragment);
+"
+| "
+
+"
Added: releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment-head.html (0 => 87091)
--- releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment-head.html (rev 0)
+++ releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment-head.html 2011-05-23 19:54:30 UTC (rev 87091)
@@ -0,0 +1,9 @@
+<script src=""
+<body>
+<script>
+var range = document.createRange();
+range.selectNode(document.head);
+var documentFragment = range.createContextualFragment("<title>hi</title><style></style><body>XXX<div>ttt</div></body>");
+document.head.appendChild(documentFragment);
+</script>
+</body>
Added: releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment.html (0 => 87091)
--- releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment.html (rev 0)
+++ releases/WebKitGTK/webkit-1.4/LayoutTests/fast/parser/style-in-create-contextual-fragment.html 2011-05-23 19:54:30 UTC (rev 87091)
@@ -0,0 +1,9 @@
+<script src=""
+<body>
+<script>
+var range = document.createRange();
+range.selectNode(document.body);
+var documentFragment = range.createContextualFragment("<title>hi</title><style></style><body>XXX<div>ttt</div></body>");
+document.body.appendChild(documentFragment);
+</script>
+</body>
Modified: releases/WebKitGTK/webkit-1.4/Source/WebCore/ChangeLog (87090 => 87091)
--- releases/WebKitGTK/webkit-1.4/Source/WebCore/ChangeLog 2011-05-23 19:47:53 UTC (rev 87090)
+++ releases/WebKitGTK/webkit-1.4/Source/WebCore/ChangeLog 2011-05-23 19:54:30 UTC (rev 87091)
@@ -1,3 +1,20 @@
+2011-05-12 Adam Barth <[email protected]>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION (r65868): createContextualFragment does not work with <style>
+ https://bugs.webkit.org/show_bug.cgi?id=60155
+
+ createContextualFragment doesn't have a spec, so it's hard to tell what
+ we're supposed to do exactly. This patch appears to make our behavior
+ more like Firefox and should fix the compat issue with this site.
+
+ Tests: fast/parser/style-in-create-contextual-fragment-head.html
+ fast/parser/style-in-create-contextual-fragment.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::deprecatedCreateContextualFragment):
+
2011-05-09 Martin Robinson <[email protected]>
Reviewed by Xan Lopez.
Modified: releases/WebKitGTK/webkit-1.4/Source/WebCore/dom/Element.cpp (87090 => 87091)
--- releases/WebKitGTK/webkit-1.4/Source/WebCore/dom/Element.cpp 2011-05-23 19:47:53 UTC (rev 87090)
+++ releases/WebKitGTK/webkit-1.4/Source/WebCore/dom/Element.cpp 2011-05-23 19:54:30 UTC (rev 87091)
@@ -153,7 +153,7 @@
RefPtr<Node> nextNode;
for (RefPtr<Node> node = fragment->firstChild(); node; node = nextNode) {
nextNode = node->nextSibling();
- if (node->hasTagName(htmlTag) || node->hasTagName(bodyTag)) {
+ if (node->hasTagName(htmlTag) || node->hasTagName(headTag) || node->hasTagName(bodyTag)) {
HTMLElement* element = toHTMLElement(node.get());
Node* firstChild = element->firstChild();
if (firstChild)
@@ -168,14 +168,11 @@
}
fragment->removeChild(element, ignoredExceptionCode);
ASSERT(!ignoredExceptionCode);
- } else if (node->hasTagName(headTag)) {
- fragment->removeChild(node.get(), ignoredExceptionCode);
- ASSERT(!ignoredExceptionCode);
}
}
return fragment.release();
}
-
+
PassRefPtr<Node> Element::cloneNode(bool deep)
{
return deep ? cloneElementWithChildren() : cloneElementWithoutChildren();