Title: [95169] trunk
Revision
95169
Author
commit-qu...@webkit.org
Date
2011-09-14 22:26:45 -0700 (Wed, 14 Sep 2011)

Log Message

libxml2 fragment parser loses prefix namespaces
https://bugs.webkit.org/show_bug.cgi?id=66423

Source/WebCore:

This makes the loop over the elements outside of the context actually update the element it's processing.

Patch by Jeffrey Pfau <jeff...@endrift.com> on 2011-09-14
Reviewed by Eric Seidel.

Test: fast/parser/innerhtml-with-prefixed-elements.xhtml

* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):

LayoutTests:

Added a test to ensure that elements inserted when the prefix is already declared are inserted properly.

Patch by Jeffrey Pfau <jeff...@endrift.com> on 2011-09-14
Reviewed by Eric Seidel.

* fast/parser/innerhtml-with-prefixed-elements.xhtml: Added.
* platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.png: Added.
* platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.txt: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (95168 => 95169)


--- trunk/LayoutTests/ChangeLog	2011-09-15 05:17:20 UTC (rev 95168)
+++ trunk/LayoutTests/ChangeLog	2011-09-15 05:26:45 UTC (rev 95169)
@@ -1,3 +1,16 @@
+2011-09-14  Jeffrey Pfau  <jeff...@endrift.com>
+
+        libxml2 fragment parser loses prefix namespaces
+        https://bugs.webkit.org/show_bug.cgi?id=66423
+
+        Added a test to ensure that elements inserted when the prefix is already declared are inserted properly.
+
+        Reviewed by Eric Seidel.
+
+        * fast/parser/innerhtml-with-prefixed-elements.xhtml: Added.
+        * platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.png: Added.
+        * platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.txt: Added.
+
 2011-09-14  Keishi Hattori  <kei...@webkit.org>
 
         [chromium] Add slow to debug version of styles-source-lines.html.

Added: trunk/LayoutTests/fast/parser/innerhtml-with-prefixed-elements.xhtml (0 => 95169)


--- trunk/LayoutTests/fast/parser/innerhtml-with-prefixed-elements.xhtml	                        (rev 0)
+++ trunk/LayoutTests/fast/parser/innerhtml-with-prefixed-elements.xhtml	2011-09-15 05:26:45 UTC (rev 95169)
@@ -0,0 +1,21 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+    <head>
+        <title>Namespace chaining</title>
+    </head>
+    <body>
+        <div id="d" xmlns:svg="http://www.w3.org/2000/svg" style="height: 110px">
+            TEST FAILED
+        </div>
+        <script type="text/_javascript_"><![CDATA[
+            var div = document.getElementById("d");
+            div.innerHTML = "<svg:svg width='110' height='110'><svg:defs id='defs'><svg:text>TEST FAILED</svg:text></svg:defs><svg:rect x='5' y='5' width='100' height='100' fill='green' id='r'/></svg:svg>";
+            var rect = document.getElementById("r");
+            if (rect.namespaceURI == "http://www.w3.org/2000/svg") {
+                var defs = document.getElementById("defs");
+                defs.parentNode.removeChild(defs);
+            } else {
+                console.log("Incorrect namespace:", rect.namespaceURI);
+            }
+        ]]></script>
+    </body>
+</html>

Added: trunk/LayoutTests/platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.png (0 => 95169)


--- trunk/LayoutTests/platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.png	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.png	2011-09-15 05:26:45 UTC (rev 95169)
@@ -0,0 +1,45 @@
+\x89PNG
+
+
+IHDR X\x9Av\x82p)tEXtchecksumc7440ff83cdfb889580860982591059bp\x8C\xD6iCCPICC Profilex\x85T\xDFk\xD3P\xFE\xDAe\x9D\xB0\xE1\x8B:g	>h\x91ndStC\x9C\xB6kW\xBA\xCDZ\xEA6\xB7!H\x9B\xA6m\\x9A\xC6$\xED~\xB0ًo:\xC5w\xF1>\xF9كo{\x92
+\xC6a\xF8\xAC\x88"L\xF6"\xB3\x9E\x9B4M'S\xB9\xF7\xBB\xDF\xF9\xEE9'\xE7\xE4^\xA0\xF9qZ\xD3/USO\xC5\xC2\xFC\xC4\xE4\xDF\xF2^C+\xFChM\x8B\x86J&G@Ӳy\xEF\xB3\xF3\xC6lt\xEEo߫\xFEc՚\x95\xF0 \xBE\x945\xC4"\xE1Y\xA0i\\xD4t\xE0։\xEF\x9D15\xC2\xCDLsX\xA7	g8oc\x81ግ#\x96f45@\x9A	\xC2\xC5B:K\xB8@8\x98i\xE0\xF3
+\xD8΁\xE4'&\xA9\x92.\x8B<\xABER/\xE5dE\xB2\xF6\xF0s\x83\xF2_\xB0\xA8\x94雭\xE7\x8Dm\x9AN\xD1|\x8A\xDE9}p\x8C\xE6\xD5\xC1?_\xBDA\xB8\x9DpX6\xE3\xA35~B\xCD$\xAE&\xBD\xE7\xEEti\x98\xEDe\x9A\x97Y)%$\xBCbT\xAE3li\xE6\x89\x9A\xE6\xD3\xED\xF4P\x92\xB0\x9F4\xBF43Y\xF3\xE3\xEDP\x95\xEB1\xC5\xF5\xF6KF\xF4\xBA\xBD\xD7ۑ\x93\xE35>\xA7)\xD6@\xFE\xBD\xF7\xF5r\x8A\xE5y\x92\xF0\xEB\xB4\x8D\xD5\xF4[\x92:V\xDB\xDB\xE4ͦ#\xC3\xC4wQ?HB\x82\x8Ed(\xE0\x91Ba\x9AcĪ\xF8L"J\xA4\xD2itTy\xB28\xD6;(\x93\x96\xEDGx\xC9_\xB8^\xF5[\xB2\xB8\xF6\xE0\xFB\x9E\xDD%׎\xBC\x85ŷ\xA3\xD8Q\x{DD41}麲\x9Aua\xA5\xA3n\xE17\xB9\xE5\x9Bm\xABQ\xFE\x8A\xE5\xB1H^e\xCAO\x82Q\xD7u6\xE6\x90S\x97\xFCu\xCF2\x94\xEE%vX\xBA\xAC\xF0^\xF8*l
+O\x85—\xBF\xD4\xC8\xCEޭˀq,>\xAB\x9ES\xCD\xC6\xEC%\xD2L\xD2\xEBd\xB8\xBF\x8A\xF5B\xC6\xF9\x901CZ\x9D\xBE$M\x9C\x8A9\xF2\xDAP'w\x82\xEB\xE6\xE2\/\xD7\x9E\xBB\xCC]\xE1\xFA\xB9\xAD.r#\x8E\xC2\xF5E|!\xF0\xBE3\xBE>_\xB7o\x88a\xA7۾\xD3d\xEB\xA31Z\xEB\xBBӑ\xBA\xA2\xB1z\x94\x8F\xDB'\xF6=\x8E\xAA\xB2\xB1\xBE\xB1~V+\xB4\xA2cjJ\xB3tO%mN\x97\xF3\x93\xEF\x84|\x88\xAE-\x89\x8F\xABbW\x90O+
+o\x99^\x97I\xAFH\xD9.\xB0;\x8F\xED\xB6S\xD6]\xE6i_s9\xF3*p\xE9\xFD\xC3\xEB.7U^\xC0\xD1s.\xA03u\xE4	\xB0|^,\xEB\xDB<\x9E\xB7\x80\x91;\xDBc\xAD=ma\xBA\x8B>V\xAB\xDBt.[\xBB\xAB՟Ϫ\xD5\xDD\xE7\xE4x\xA3\xFC\xA9#
+\xD6¡_2 IDATx\xED\xD9Aj\QA\x8F\xF1\xBD\x85N>>@\x88\xD4_\xC5lՃ\xE0o\xBD\xDE߿?~ @\x80x@\xE0\xEFox\x82 @\x80\xFF\x88\x81 @\x80\x81\xC7\xC8c\xD4"@\x80 @@\x80\xF8 @\x80xL@\x80<F\xED! @\x80\x88o\x80 @\x80\x81\xC7\xC8c\xD4"@\x80 @@\x80\xF8 @\x80xL@\x80<F\xED! @\x80\x88o\x80 @\x80\x81\xC7\xC8c\xD4"@\x80 @@\x80\xF8 @\x80xL\xE0\xDFO^z}\xBE~\xF2g\xFE\xE6\x97\xDE\xEF_Z6K\x80 @\xA0\xF0\x90\xD6\xD3 @\x80\x87\x809p\x9C @\x80hH\xEBi\x8D @\x80\x81C@\x808N @\x80\xB4\xA4\xF5\xB4F\x80 @\x80\xC0! @' @\x80Z\xD2zZ#@\x80 @\xE0 \x8E @\x80\xAD\x80i=\xAD @\x80 p\x90lj @\x80\x81V@\x80\xB4\x9E\xD6 @\x808ȁ\xE3D\x80 @\x80@+ @ZOk @\x80\xE4\xC0q"@\x80 @\xA0 \xAD\xA75 @\x80r\xE08 @\x80 \xD0
+\x90\xD6\xD3 @\x80\x87\x809p\x9C @\x80hH\xEBi\x8D @\x80\x81C@\x808N @\x80\xB4\xA4\xF5\xB4F\x80 @\x80\xC0! @' @\x80Z\xD2zZ#@\x80 @\xE0 \x8E @\x80\xAD\x80i=\xAD @\x80 p\x90lj @\x80\x81V@\x80\xB4\x9E\xD6 @\x808ȁ\xE3D\x80 @\x80@+ @ZOk @\x80\xE4\xC0q"@\x80 @\xA0 \xAD\xA75 @\x80r\xE08 @\x80 \xD0
+\x90\xD6\xD3 @\x80\x87\x809p\x9C @\x80hH\xEBi\x8D @\x80\x81C@\x808N @\x80\xB4\xA4\xF5\xB4F\x80 @\x80\xC0! @' @\x80Z\xD2zZ#@\x80 @\xE0 \x8E @\x80\xAD\x80i=\xAD @\x80 p\x90lj @\x80\x81V@\x80\xB4\x9E\xD6 @\x808ȁ\xE3D\x80 @\x80@+ @ZOk @\x80\xE4\xC0q"@\x80 @\xA0 \xAD\xA75 @\x80r\xE08 @\x80 \xD0
+\x90\xD6\xD3 @\x80\x87\x809p\x9C @\x80hH\xEBi\x8D @\x80\x81C@\x808N @\x80\xB4\xA4\xF5\xB4F\x80 @\x80\xC0! @' @\x80Z\xD2zZ#@\x80 @\xE0 \x8E @\x80\xAD\x80i=\xAD @\x80 p\x90lj @\x80\x81V@\x80\xB4\x9E\xD6 @\x808ȁ\xE3D\x80 @\x80@+ @ZOk @\x80\xE4\xC0q"@\x80 @\xA0 \xAD\xA75 @\x80r\xE08 @\x80 \xD0
+\x90\xD6\xD3 @\x80\x87\x809p\x9C @\x80hH\xEBi\x8D @\x80\x81C@\x808N @\x80\xB4\xA4\xF5\xB4F\x80 @\x80\xC0! @' @\x80Z\xD2zZ#@\x80 @\xE0 \x8E @\x80\xAD\x80i=\xAD @\x80 p\x90lj @\x80\x81V@\x80\xB4\x9E\xD6 @\x808ȁ\xE3D\x80 @\x80@+ @ZOk @\x80\xE4\xC0q"@\x80 @\xA0 \xAD\xA75 @\x80r\xE08 @\x80 \xD0
+\x90\xD6\xD3 @\x80\x87\x809p\x9C @\x80hH\xEBi\x8D @\x80\x81C@\x808N @\x80\xB4\xA4\xF5\xB4F\x80 @\x80\xC0! @' @\x80Z\xD2zZ#@\x80 @\xE0 \x8E @\x80\xAD\x80i=\xAD @\x80 p\x90lj @\x80\x81V@\x80\xB4\x9E\xD6 @\x808ȁ\xE3D\x80 @\x80@+ @ZOk @\x80\xE4\xC0q"@\x80 @\xA0 \xAD\xA75 @\x80r\xE08 @\x80 \xD0
+\x90\xD6\xD3 @\x80\x87\x809p\x9C @\x80hH\xEBi\x8D @\x80\x81C\xE0\xF5\xFE\xFEw' @\x80d\xFE\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\x84\xB1\xCA\xD5\xD8IDAT\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\x80\xC9(
+ @\x80 \xB0\xC8r'@\x80 @  \xA5! @\x80\x96\x80YB\xEE @\x80d$\xA34D\x80 @\x80\xC0 Kȝ @\x80\x81L@\x80d\x94\x86 @\x80Xd	\xB9 @\x80 \x90	\x90\x8C\xD2 @\x80K@\x80,!w @\x802\x92Q"@\x80 @`	\x90%\xE4N\x80 @\x80@& @2JC @\x80,\xB2\x84\xDC	 @\x80\xC8HFi\x88 @\x80\x81% @\x96\x90; @\x80\x99\xC0Y\xD2\xA9\x82pp\xF6IEND\xAEB`\x82
\ No newline at end of file

Added: trunk/LayoutTests/platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.txt (0 => 95169)


--- trunk/LayoutTests/platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.txt	2011-09-15 05:26:45 UTC (rev 95169)
@@ -0,0 +1,8 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x126
+  RenderBlock {html} at (0,0) size 800x126
+    RenderBody {body} at (8,8) size 784x110
+      RenderBlock {div} at (0,0) size 784x110
+        RenderSVGRoot {svg:svg} at (13,13) size 100x100
+          RenderSVGPath {svg:rect} at (13,13) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=5.00] [y=5.00] [width=100.00] [height=100.00]

Modified: trunk/Source/WebCore/ChangeLog (95168 => 95169)


--- trunk/Source/WebCore/ChangeLog	2011-09-15 05:17:20 UTC (rev 95168)
+++ trunk/Source/WebCore/ChangeLog	2011-09-15 05:26:45 UTC (rev 95169)
@@ -1,3 +1,17 @@
+2011-09-14  Jeffrey Pfau  <jeff...@endrift.com>
+
+        libxml2 fragment parser loses prefix namespaces
+        https://bugs.webkit.org/show_bug.cgi?id=66423
+
+        This makes the loop over the elements outside of the context actually update the element it's processing.
+
+        Reviewed by Eric Seidel.
+
+        Test: fast/parser/innerhtml-with-prefixed-elements.xhtml
+
+        * xml/parser/XMLDocumentParserLibxml2.cpp:
+        (WebCore::XMLDocumentParser::XMLDocumentParser):
+
 2011-09-14  Nate Chapin  <jap...@chromium.org>
 
         [V8] Null-check the v8::Context in 

Modified: trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp (95168 => 95169)


--- trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp	2011-09-15 05:17:20 UTC (rev 95168)
+++ trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp	2011-09-15 05:26:45 UTC (rev 95169)
@@ -610,7 +610,8 @@
     if (elemStack.isEmpty())
         return;
 
-    for (Element* element = elemStack.last(); !elemStack.isEmpty(); elemStack.removeLast()) {
+    for (; !elemStack.isEmpty(); elemStack.removeLast()) {
+        Element* element = elemStack.last();
         if (NamedNodeMap* attrs = element->attributes()) {
             for (unsigned i = 0; i < attrs->length(); i++) {
                 Attribute* attr = attrs->attributeItem(i);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to