Title: [93452] trunk
Revision
93452
Author
jp...@apple.com
Date
2011-08-19 16:37:05 -0700 (Fri, 19 Aug 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.

Reviewed by Darin Adler.

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.

Reviewed by Darin Adler.

* fast/parser/innerhtml-with-prefixed-elements.xhtml: Added.
* platform/chromium/test_expectations.txt:
* 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 (93451 => 93452)


--- trunk/LayoutTests/ChangeLog	2011-08-19 23:24:51 UTC (rev 93451)
+++ trunk/LayoutTests/ChangeLog	2011-08-19 23:37:05 UTC (rev 93452)
@@ -1,3 +1,17 @@
+2011-08-19  Jeffrey Pfau  <jp...@apple.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 Darin Adler.
+
+        * fast/parser/innerhtml-with-prefixed-elements.xhtml: Added.
+        * platform/chromium/test_expectations.txt:
+        * platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.png: Added.
+        * platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.txt: Added.
+
 2011-08-19  Tony Chang  <t...@chromium.org>
 
         [chromium] Cleanup some old plugin tests.  Rebase plugin-_javascript_-access.html

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


--- trunk/LayoutTests/fast/parser/innerhtml-with-prefixed-elements.xhtml	                        (rev 0)
+++ trunk/LayoutTests/fast/parser/innerhtml-with-prefixed-elements.xhtml	2011-08-19 23:37:05 UTC (rev 93452)
@@ -0,0 +1,14 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>Namespace chaining</title>
+	</head>
+	<body>
+		<div id="d" xmlns:math="http://www.w3.org/1998/Math/MathML">
+			TEST FAILED
+		</div>
+		<script type="text/_javascript_"><![CDATA[
+			var div = document.getElementById("d");
+			div.innerHTML = "<math:math><math:msup><math:mtext>a</math:mtext><math:mtext>b</math:mtext></math:msup></math:math>";
+		]]></script>
+	</body>
+</html>
\ No newline at end of file

Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (93451 => 93452)


--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-08-19 23:24:51 UTC (rev 93451)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-08-19 23:37:05 UTC (rev 93452)
@@ -3568,6 +3568,9 @@
 
 BUGWK64675 LINUX WIN : svg/custom/zero-path-square-cap-rendering.svg = IMAGE+TEXT
 
+// New test added for bug 66423, needs rebaselining
+BUGWK66423 : fast/parser/innerhtml-with-prefixed-elements.xhtml = FAIL
+
 // WebKit roll 80564:80631: rendering on Leopard is shifted to the top right
 // started at some point at or after WK r80582 (Dave Hyatt's vertical text change - a very likely candidate)
 //BUGCR75424 LEOPARD : fast/writing-mode/broken-ideograph-small-caps.html = IMAGE

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


--- 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-08-19 23:37:05 UTC (rev 93452)
@@ -0,0 +1,13 @@
+\x89PNG
+
+
+IHDR X\x9Av\x82p)tEXtchecksume8884df65d478414fba758af84219812\xC1\xFFKiCCPICC 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ݿ\xAB\xF7\x83\xC6\xF1\xF7\xCDW\x92"6\xB20\x9A\xFC\x90,&\x8B2(Y\x8C\xA3\xDDj\xF3\x88d"%a\xB0\xF9H
+\xB1H\xC4\xD7}\x86{:\xE5<\xBBNg9\x8F\xB3\xB8}\xEE\xEBuޝGgyv\xEEsΕ\xFE};\xBC @\x80 @\xE0\xAE\xBB\x80gx @\x80N\x88O @\x80.L@\x80\\xB5 @\x80  @| @\x80 pa\xE4¨=\x88 @\x80\xE2s\x80 @\x80\x81 F\xEDA @\x80\x9F @\x80\\x98\x80\xB90j"@\x80 @\xE0\\xE4\xC7<~\xFF\xFDw\xAA @\x808U\xE0\xDC\xE4\x9Bo\xBE9\xEE\xBE\xFB\xEE\xE3\xCF?\xFF<\xF5A^$@\x80 @\x80\xC0\xB9ȍ7\xDEx<\xF2\xC8#\xC7-\xB7\xDCB\x95 @\x80\xA7
+\x9C[\x80|\xF4\xD1G\xC7O<q\xBC\xFA\xEA\xAB\xC7\xFD\xF7\xDF|\xFE\xF9\xE7\xA7>Ћ @\x80\^\x81s\x90\x8F?\xFE\xF8\xB8\xF9曏\xD7^{\xEDx\xF1\xC5\x8F7\xDF|\xF3\xF2\xAA\xFA\xC8	 @\x808U\xE0\䯿\xFE:\xF9\x8A\xC7s\xCF=w\\xB9r\xE5\xF8\xF5\xD7_\x8F;\xEE\xB8\xE3\xD4z\x91 @\x80\x81\xCB+p.\xF2\xF5\xD7_\x8F>\xFA\xE8q\xE7\x9Dw\x9EH^\xFDj\xC83\xCF<syU}\xE4 @\x80\x9C*p.r58\xFC\xF1\x93\xBC\xFF\xFE\xFB\xC7C=t\xDCw\xDF}\xA7>Ћ @\x80\^\x81+\xFF\xFC\xFBv\xD6\xFF\xB7\xDF~;^\xFD\xF5㮻\xEE:\xFE\xF8\xE3\x8F\xE3\xDDw\xDF=^y\xE5\x95\xE3\xB3\xCF>;y\xF7\xDCs\xCFɏ\xE1}\xF9\xE5\x97O\xFE)\xD6Y߯ @\x80\x97C\xE0\xCC\xF2\xDDw\xDF\xCF>\xFB\xEC\xF1\xC6o<\xF0\xC0\xF1\xC5_\x8F=\xF6\xD8\xF1\xD3O?\x9D\xFC\xE8\xDD_~\xF9\xE5\xE4\xBF\xD7_\xFD\xE5\x90\xF3Q @\x80 \x90\xFEw֋\x97^z\xE9x\xFA\xE9\xA7O\xE2\xE3\xEAͷ\xDF~{<\xFC\xF0\xC3\xD7~\xEF\xC7m\xB7\xDDv\xD6weG\x80 @\x80\xC0%8S\x80|\xF0\xC1\xC7'\x9F|r\xBC\xF3\xCE;ט\xDE{\xEF\xBD\xE3\xC9'\x9F\xBC\xF6\xFF\xFE@\x80 @\x80\x81\xFF8\xD37\xA1_\xFD%\x83>\xF8൯v|\xF9\xE5\x97LJ~x\xED\xCF\xFF\xEB!\xFE\x9E @\x80W\xCE ?\xFC\xF0\xC3q뭷\x9E\x88}\xFF\xFD\xF7ǧ\x9F~z\xFC\xFD\xF7\xDFǽ\xF7\xDE{|\xF5\xD5W$	 @\x80 p&\x813\xC8\xF3\xCF?\xF2\x8B_x\xE1\x85㭷\xDE:\x9Ez\xEA\xA9\xE3\xBA\xEB\xAE;\xDE~\xFB\xED\x93\xEF9ӓ\x8C @\x80\xB8\xF4g\xFE)XW\xEFM7\xDDt\xDCp\xC3
+'h?\xFF\xFC\xF3q\xFB\xED\xB7_z@ @\x80\x9C]\xE0\xCCr\xF6wiI\x80 @\x80\x81\xD3\xCE\xF4O\xB0N?\xF5* @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80SP\xF2\x9A
+\xBEIDAT \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81& @\x9A\x975 @\x80\x83\x80\xF0\x9C @\x80 \xD0H\xF3\xB2&@\x80 @` \x9ES @\x80\x9A\x80i^\xD6 @\x80d\xC0sJ\x80 @\x80@ \xCD˚ @\x80\x81A@\x80xN	 @\x80h\xA4yY @\x80 0\x90\xCF) @\x80M@\x804/k @\x802\xE09%@\x80 @\xA0	\x90\xE6eM\x80 @\x80\xC0  @<\xA7 @\x804Ҽ\xAC	 @\x80Ȁ\xE7\x94 @\x80\x81&\xF0\xA8)\x9F9\xCD\xF3\x81\xD5IEND\xAEB`\x82
\ No newline at end of file

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


--- 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-08-19 23:37:05 UTC (rev 93452)
@@ -0,0 +1,15 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x36
+  RenderBlock {html} at (0,0) size 800x36
+    RenderBody {body} at (8,8) size 784x20
+      RenderBlock {div} at (0,0) size 784x20
+        RenderBlock {math:math} at (0,1) size 16x19
+          RenderBlock {math:msup} at (1,0) size 14x19
+            RenderBlock {math:msup} at (0,3) size 8x16
+              RenderInline {math:mtext} at (0,0) size 8x24
+                RenderText {#text} at (0,-4) size 8x24
+                  text run at (0,-4) width 8: "a"
+            RenderInline {math:mtext} at (0,0) size 6x18
+              RenderText {#text} at (8,-3) size 6x18
+                text run at (8,-3) width 6: "b"

Modified: trunk/Source/WebCore/ChangeLog (93451 => 93452)


--- trunk/Source/WebCore/ChangeLog	2011-08-19 23:24:51 UTC (rev 93451)
+++ trunk/Source/WebCore/ChangeLog	2011-08-19 23:37:05 UTC (rev 93452)
@@ -1,3 +1,17 @@
+2011-08-19  Jeffrey Pfau  <jp...@apple.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 Darin Adler.
+
+        Test: fast/parser/innerhtml-with-prefixed-elements.xhtml
+
+        * xml/parser/XMLDocumentParserLibxml2.cpp:
+        (WebCore::XMLDocumentParser::XMLDocumentParser):
+
 2011-08-19  Beth Dakin  <bda...@apple.com>
 
         https://bugs.webkit.org/show_bug.cgi?id=66590

Modified: trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp (93451 => 93452)


--- trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp	2011-08-19 23:24:51 UTC (rev 93451)
+++ trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp	2011-08-19 23:37:05 UTC (rev 93452)
@@ -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