Title: [87091] releases/WebKitGTK/webkit-1.4

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();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to