Title: [100157] trunk
Revision
100157
Author
[email protected]
Date
2011-11-14 09:31:31 -0800 (Mon, 14 Nov 2011)

Log Message

Multiple foreign objects not rendered
https://bugs.webkit.org/show_bug.cgi?id=72151

Patch by Florin Malita <[email protected]> on 2011-11-14
Reviewed by Adam Barth.

Source/WebCore:

SVG end tags need to be case-adjusted (just like their start counterparts).

Test: svg/foreignObject/multiple-foreign-objects.html

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):

LayoutTests:

* html5lib/runner-expected.txt: Rebaselined.
* platform/chromium/html5lib/runner-expected.txt: Rebaselined.
* svg/custom/use-multiple-on-nested-disallowed-font-expected.txt: Rebaselined.
* svg/foreignObject/multiple-foreign-objects-expected.png: Added.
* svg/foreignObject/multiple-foreign-objects-expected.txt: Added.
* svg/foreignObject/multiple-foreign-objects.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (100156 => 100157)


--- trunk/LayoutTests/ChangeLog	2011-11-14 17:29:22 UTC (rev 100156)
+++ trunk/LayoutTests/ChangeLog	2011-11-14 17:31:31 UTC (rev 100157)
@@ -1,3 +1,17 @@
+2011-11-14  Florin Malita  <[email protected]>
+
+        Multiple foreign objects not rendered
+        https://bugs.webkit.org/show_bug.cgi?id=72151
+
+        Reviewed by Adam Barth.
+
+        * html5lib/runner-expected.txt: Rebaselined.
+        * platform/chromium/html5lib/runner-expected.txt: Rebaselined.
+        * svg/custom/use-multiple-on-nested-disallowed-font-expected.txt: Rebaselined.
+        * svg/foreignObject/multiple-foreign-objects-expected.png: Added.
+        * svg/foreignObject/multiple-foreign-objects-expected.txt: Added.
+        * svg/foreignObject/multiple-foreign-objects.html: Added.
+
 2011-11-14  Tony Gentilcore  <[email protected]>
 
         Flaky Test: http/tests/inspector/resource-tree/resource-tree-frame-add.html

Modified: trunk/LayoutTests/html5lib/runner-expected.txt (100156 => 100157)


--- trunk/LayoutTests/html5lib/runner-expected.txt	2011-11-14 17:29:22 UTC (rev 100156)
+++ trunk/LayoutTests/html5lib/runner-expected.txt	2011-11-14 17:31:31 UTC (rev 100157)
@@ -110,8 +110,6 @@
 |       "quux"
 resources/tests10.dat:
 15
-53
-54
 
 Test 15 of 54 in resources/tests10.dat failed. Input:
 <!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g>baz</table><p>quux
@@ -145,70 +143,6 @@
 |           "baz"
 |     <p>
 |       "quux"
-
-Test 53 of 54 in resources/tests10.dat failed. Input:
-<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi>
-Got:
-| <html>
-|   <head>
-|   <body>
-|     <math math>
-|       <math annotation-xml>
-|         <svg svg>
-|           <svg foreignObject>
-|             <div>
-|               <math math>
-|                 <math mi>
-|               <span>
-|             <path>
-|       <math mi>
-Expected:
-| <html>
-|   <head>
-|   <body>
-|     <math math>
-|       <math annotation-xml>
-|         <svg svg>
-|           <svg foreignObject>
-|             <div>
-|               <math math>
-|                 <math mi>
-|               <span>
-|           <svg path>
-|       <math mi>
-
-Test 54 of 54 in resources/tests10.dat failed. Input:
-<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi>
-Got:
-| <html>
-|   <head>
-|   <body>
-|     <math math>
-|       <math annotation-xml>
-|         <svg svg>
-|           <svg foreignObject>
-|             <math math>
-|               <math mi>
-|                 <svg svg>
-|               <math mo>
-|             <span>
-|             <path>
-|       <math mi>
-Expected:
-| <html>
-|   <head>
-|   <body>
-|     <math math>
-|       <math annotation-xml>
-|         <svg svg>
-|           <svg foreignObject>
-|             <math math>
-|               <math mi>
-|                 <svg svg>
-|               <math mo>
-|             <span>
-|           <svg path>
-|       <math mi>
 resources/tests11.dat: PASS
 
 resources/tests12.dat: PASS

Modified: trunk/LayoutTests/platform/chromium/html5lib/runner-expected.txt (100156 => 100157)


--- trunk/LayoutTests/platform/chromium/html5lib/runner-expected.txt	2011-11-14 17:29:22 UTC (rev 100156)
+++ trunk/LayoutTests/platform/chromium/html5lib/runner-expected.txt	2011-11-14 17:31:31 UTC (rev 100157)
@@ -110,8 +110,6 @@
 |       "quux"
 resources/tests10.dat:
 15
-53
-54
 
 Test 15 of 54 in resources/tests10.dat failed. Input:
 <!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g>baz</table><p>quux
@@ -145,70 +143,6 @@
 |           "baz"
 |     <p>
 |       "quux"
-
-Test 53 of 54 in resources/tests10.dat failed. Input:
-<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi>
-Got:
-| <html>
-|   <head>
-|   <body>
-|     <math math>
-|       <math annotation-xml>
-|         <svg svg>
-|           <svg foreignObject>
-|             <div>
-|               <math math>
-|                 <math mi>
-|               <span>
-|             <path>
-|       <math mi>
-Expected:
-| <html>
-|   <head>
-|   <body>
-|     <math math>
-|       <math annotation-xml>
-|         <svg svg>
-|           <svg foreignObject>
-|             <div>
-|               <math math>
-|                 <math mi>
-|               <span>
-|           <svg path>
-|       <math mi>
-
-Test 54 of 54 in resources/tests10.dat failed. Input:
-<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi>
-Got:
-| <html>
-|   <head>
-|   <body>
-|     <math math>
-|       <math annotation-xml>
-|         <svg svg>
-|           <svg foreignObject>
-|             <math math>
-|               <math mi>
-|                 <svg svg>
-|               <math mo>
-|             <span>
-|             <path>
-|       <math mi>
-Expected:
-| <html>
-|   <head>
-|   <body>
-|     <math math>
-|       <math annotation-xml>
-|         <svg svg>
-|           <svg foreignObject>
-|             <math math>
-|               <math mi>
-|                 <svg svg>
-|               <math mo>
-|             <span>
-|           <svg path>
-|       <math mi>
 resources/tests11.dat: PASS
 
 resources/tests12.dat: PASS

Modified: trunk/LayoutTests/svg/custom/use-multiple-on-nested-disallowed-font-expected.txt (100156 => 100157)


--- trunk/LayoutTests/svg/custom/use-multiple-on-nested-disallowed-font-expected.txt	2011-11-14 17:29:22 UTC (rev 100156)
+++ trunk/LayoutTests/svg/custom/use-multiple-on-nested-disallowed-font-expected.txt	2011-11-14 17:31:31 UTC (rev 100157)
@@ -1 +1,2 @@
+x
  PASS: This file should not crash.

Added: trunk/LayoutTests/svg/foreignObject/multiple-foreign-objects-expected.png (0 => 100157)


--- trunk/LayoutTests/svg/foreignObject/multiple-foreign-objects-expected.png	                        (rev 0)
+++ trunk/LayoutTests/svg/foreignObject/multiple-foreign-objects-expected.png	2011-11-14 17:31:31 UTC (rev 100157)
@@ -0,0 +1,7 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksumde71dafb815e4f294515432fd671c7a2\xB8b_Y
+\xC5IDATx\x9C\xEDر
+A\xC1?"\xDFO\xA3\xA5\x83SU#\xAD\xD3\xDAu\xBD.\xBE4\xCF\xD9=\xE1\x83\xF5^\xBB'\xFC\x8D߼ \xE7y\xECp\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X\xB153\xBB7\xC5 &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b v	\x99
+\xA9\xCBP\xCCRIEND\xAEB`\x82
\ No newline at end of file

Added: trunk/LayoutTests/svg/foreignObject/multiple-foreign-objects-expected.txt (0 => 100157)


--- trunk/LayoutTests/svg/foreignObject/multiple-foreign-objects-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/svg/foreignObject/multiple-foreign-objects-expected.txt	2011-11-14 17:31:31 UTC (rev 100157)
@@ -0,0 +1,13 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (0,0) size 800x600
+      RenderSVGRoot {svg} at (0,0) size 400x100
+        RenderSVGForeignObject {foreignObject} at (0,0) size 100x100
+          RenderBlock {DIV} at (0,0) size 100x100 [bgcolor=#008000]
+            RenderText {#text} at (0,0) size 4x19
+              text run at (0,0) width 4: " "
+        RenderSVGForeignObject {foreignObject} at (150,0) size 100x100
+          RenderBlock {DIV} at (0,0) size 100x100 [bgcolor=#008000]
+      RenderText {#text} at (0,0) size 0x0

Added: trunk/LayoutTests/svg/foreignObject/multiple-foreign-objects.html (0 => 100157)


--- trunk/LayoutTests/svg/foreignObject/multiple-foreign-objects.html	                        (rev 0)
+++ trunk/LayoutTests/svg/foreignObject/multiple-foreign-objects.html	2011-11-14 17:31:31 UTC (rev 100157)
@@ -0,0 +1,21 @@
+<html>
+<body style="margin: 0;">
+<svg xmlns="http://www.w3.org/2000/svg">
+<!-- Both FOs should be visible -->
+<foreignObject width="100" height="100">
+    <html xmlns="http://www.w3.org/1999/xhtml">
+    <body>
+        <div style="background: green; width: 100px; height: 100px;">&nbsp;</div>
+    </body>
+    </html>
+</foreignObject>
+<foreignObject x="150" width="100" height="100">
+    <html xmlns="http://www.w3.org/1999/xhtml">
+    <body>
+        <div style="background: green; width: 100px; height: 100px;"></div>
+    </body>
+    </html>
+</foreignObject>
+</svg>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (100156 => 100157)


--- trunk/Source/WebCore/ChangeLog	2011-11-14 17:29:22 UTC (rev 100156)
+++ trunk/Source/WebCore/ChangeLog	2011-11-14 17:31:31 UTC (rev 100157)
@@ -1,3 +1,17 @@
+2011-11-14  Florin Malita  <[email protected]>
+
+        Multiple foreign objects not rendered
+        https://bugs.webkit.org/show_bug.cgi?id=72151
+
+        Reviewed by Adam Barth.
+
+        SVG end tags need to be case-adjusted (just like their start counterparts).
+
+        Test: svg/foreignObject/multiple-foreign-objects.html
+
+        * html/parser/HTMLTreeBuilder.cpp:
+        (WebCore::HTMLTreeBuilder::processEndTag):
+
 2011-11-14  Mario Sanchez Prada  <[email protected]>
 
         Add support for the caretBrowsingEnabled preference in WebKit2

Modified: trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp (100156 => 100157)


--- trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp	2011-11-14 17:29:22 UTC (rev 100156)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp	2011-11-14 17:31:31 UTC (rev 100157)
@@ -2313,6 +2313,9 @@
         processEndTag(token);
         break;
     case InForeignContentMode:
+        if (m_tree.currentElement()->namespaceURI() == SVGNames::svgNamespaceURI)
+            adjustSVGTagNameCase(token);
+
         if (token.name() == SVGNames::scriptTag && m_tree.currentNode()->hasTagName(SVGNames::scriptTag)) {
             m_isPaused = true;
             m_scriptToProcess = m_tree.currentElement();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to