[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

eric at webkit.org eric at webkit.org
Thu Feb 4 21:26:05 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 496e6ab0a9f8875c8b0af074544aca1b5c3520fe
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Jan 23 07:11:59 2010 +0000

    2010-01-22  Alex Milowski  <alex at milowski.com>
    
            Reviewed by David Hyatt.
    
            Updated tests due to stylesheet changes.
    
            * platform/mac/mathml/presentation/sub-expected.checksum:
            * platform/mac/mathml/presentation/sub-expected.png:
            * platform/mac/mathml/presentation/sub-expected.txt:
            * platform/mac/mathml/presentation/sup-expected.checksum:
            * platform/mac/mathml/presentation/sup-expected.png:
            * platform/mac/mathml/presentation/sup-expected.txt:
            * platform/mac/mathml/presentation/tables-expected.checksum:
            * platform/mac/mathml/presentation/tables-expected.png:
            * platform/mac/mathml/presentation/tables-expected.txt:
    2010-01-22  Alex Milowski  <alex at milowski.com>
    
            Reviewed by David Hyatt.
    
            Added support for RenderMathMLBlock base object and isRenderMathMLBlock()
            method on RenderObject.
    
            Added support for text elements and updated tag and attribute names
    
            Also, updated the stylesheet added files to the project
    
            * DerivedSources.make:
            * WebCore.xcodeproj/project.pbxproj:
            * css/mathml.css:
            * mathml/MathMLInlineContainerElement.cpp:
            (WebCore::MathMLInlineContainerElement::createRenderer):
            * mathml/MathMLTextElement.cpp: Added.
            (WebCore::MathMLTextElement::MathMLTextElement):
            (WebCore::MathMLTextElement::create):
            (WebCore::MathMLTextElement::createRenderer):
            * mathml/MathMLTextElement.h: Added.
            * mathml/RenderMathMLBlock.cpp: Added.
            (WebCore::RenderMathMLBlock::RenderMathMLBlock):
            (WebCore::RenderMathMLBlock::styleDidChange):
            (WebCore::RenderMathMLBlock::isChildAllowed):
            (WebCore::RenderMathMLBlock::makeBlockStyle):
            (WebCore::RenderMathMLBlock::nonOperatorHeight):
            (WebCore::RenderMathMLBlock::stretchToHeight):
            * mathml/RenderMathMLBlock.h: Added.
            (WebCore::RenderMathMLBlock::isRenderMathMLBlock):
            (WebCore::RenderMathMLBlock::isRenderMathMLOperator):
            (WebCore::RenderMathMLBlock::isRenderMathMLRow):
            (WebCore::RenderMathMLBlock::isRenderMathMLMath):
            (WebCore::RenderMathMLBlock::hasBase):
            (WebCore::toRenderMathMLBlock):
            * mathml/mathattrs.in: Added.
            * rendering/RenderObject.h:
            (WebCore::RenderObject::isRenderMathMLBlock):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53764 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 0e69314..a3fd4f1 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,19 @@
+2010-01-22  Alex Milowski  <alex at milowski.com>
+
+        Reviewed by David Hyatt.
+
+        Updated tests due to stylesheet changes.
+
+        * platform/mac/mathml/presentation/sub-expected.checksum:
+        * platform/mac/mathml/presentation/sub-expected.png:
+        * platform/mac/mathml/presentation/sub-expected.txt:
+        * platform/mac/mathml/presentation/sup-expected.checksum:
+        * platform/mac/mathml/presentation/sup-expected.png:
+        * platform/mac/mathml/presentation/sup-expected.txt:
+        * platform/mac/mathml/presentation/tables-expected.checksum:
+        * platform/mac/mathml/presentation/tables-expected.png:
+        * platform/mac/mathml/presentation/tables-expected.txt:
+
 2010-01-22  Garret Kelly  <gdk at chromium.org>
 
         Reviewed by David Levin.
diff --git a/LayoutTests/platform/mac/mathml/presentation/sub-expected.checksum b/LayoutTests/platform/mac/mathml/presentation/sub-expected.checksum
index 89966c2..84a29cb 100644
--- a/LayoutTests/platform/mac/mathml/presentation/sub-expected.checksum
+++ b/LayoutTests/platform/mac/mathml/presentation/sub-expected.checksum
@@ -1 +1 @@
-a95829e8d57eb8201dce8cbe72d27a2d
\ No newline at end of file
+86ca442a628788281b851fcf581c6abe
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/mathml/presentation/sub-expected.png b/LayoutTests/platform/mac/mathml/presentation/sub-expected.png
index 91f697b..3580343 100644
Binary files a/LayoutTests/platform/mac/mathml/presentation/sub-expected.png and b/LayoutTests/platform/mac/mathml/presentation/sub-expected.png differ
diff --git a/LayoutTests/platform/mac/mathml/presentation/sub-expected.txt b/LayoutTests/platform/mac/mathml/presentation/sub-expected.txt
index 2e61a46..8c9e1be 100644
--- a/LayoutTests/platform/mac/mathml/presentation/sub-expected.txt
+++ b/LayoutTests/platform/mac/mathml/presentation/sub-expected.txt
@@ -6,13 +6,12 @@ layer at (0,0) size 800x52
       RenderBlock {p} at (0,0) size 784x20
         RenderText {#text} at (0,0) size 64x18
           text run at (0,0) width 64: "subscript: "
-        RenderBlock {math} at (64,1) size 16x19
-          RenderBlock {msub} at (0,0) size 16x19
-            RenderInline {mi} at (0,0) size 9x18
-              RenderText {#text} at (0,0) size 9x18
-                text run at (0,0) width 9: "x"
-            RenderInline {mn} at (0,0) size 7x13
-              RenderText {#text} at (9,8) size 7x13
-                text run at (9,8) width 7: "1"
-          RenderText {#text} at (0,0) size 0x0
+        RenderBlock {math} at (64,3) size 13x17
+          RenderBlock {msub} at (0,0) size 13x17
+            RenderInline {mi} at (0,0) size 7x16
+              RenderText {#text} at (0,0) size 7x16
+                text run at (0,0) width 7: "x"
+            RenderInline {mn} at (0,0) size 6x12
+              RenderText {#text} at (7,7) size 6x12
+                text run at (7,7) width 6: "1"
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/mathml/presentation/sup-expected.checksum b/LayoutTests/platform/mac/mathml/presentation/sup-expected.checksum
index ce69938..707e972 100644
--- a/LayoutTests/platform/mac/mathml/presentation/sup-expected.checksum
+++ b/LayoutTests/platform/mac/mathml/presentation/sup-expected.checksum
@@ -1 +1 @@
-f46128d06b61495db0ffdf6325d496e2
\ No newline at end of file
+702e3992b12242981f2a6ecd54df28b3
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/mathml/presentation/sup-expected.png b/LayoutTests/platform/mac/mathml/presentation/sup-expected.png
index 3821dfd..0466003 100644
Binary files a/LayoutTests/platform/mac/mathml/presentation/sup-expected.png and b/LayoutTests/platform/mac/mathml/presentation/sup-expected.png differ
diff --git a/LayoutTests/platform/mac/mathml/presentation/sup-expected.txt b/LayoutTests/platform/mac/mathml/presentation/sup-expected.txt
index 9fe0496..cb212ea 100644
--- a/LayoutTests/platform/mac/mathml/presentation/sup-expected.txt
+++ b/LayoutTests/platform/mac/mathml/presentation/sup-expected.txt
@@ -6,13 +6,12 @@ layer at (0,0) size 800x51
       RenderBlock {p} at (0,0) size 784x19
         RenderText {#text} at (0,0) size 76x18
           text run at (0,0) width 76: "superscript: "
-        RenderBlock {math} at (76,0) size 16x19
-          RenderBlock {msup} at (0,0) size 16x19
-            RenderInline {mi} at (0,0) size 9x18
-              RenderText {#text} at (0,1) size 9x18
-                text run at (0,1) width 9: "x"
-            RenderInline {mn} at (0,0) size 7x13
-              RenderText {#text} at (9,-2) size 7x13
-                text run at (9,-2) width 7: "2"
-          RenderText {#text} at (0,0) size 0x0
+        RenderBlock {math} at (76,1) size 13x18
+          RenderBlock {msup} at (0,0) size 13x18
+            RenderInline {mi} at (0,0) size 7x16
+              RenderText {#text} at (0,2) size 7x16
+                text run at (0,2) width 7: "x"
+            RenderInline {mn} at (0,0) size 6x12
+              RenderText {#text} at (7,-1) size 6x12
+                text run at (7,-1) width 6: "2"
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/mathml/presentation/tables-expected.checksum b/LayoutTests/platform/mac/mathml/presentation/tables-expected.checksum
index 0fabc3b..c65cb94 100644
--- a/LayoutTests/platform/mac/mathml/presentation/tables-expected.checksum
+++ b/LayoutTests/platform/mac/mathml/presentation/tables-expected.checksum
@@ -1 +1 @@
-858f978ab7f1a72cd37f42743eba003e
\ No newline at end of file
+cbcece8221f188a83926eecbaec4c0bc
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/mathml/presentation/tables-expected.png b/LayoutTests/platform/mac/mathml/presentation/tables-expected.png
index 5411be1..87acefb 100644
Binary files a/LayoutTests/platform/mac/mathml/presentation/tables-expected.png and b/LayoutTests/platform/mac/mathml/presentation/tables-expected.png differ
diff --git a/LayoutTests/platform/mac/mathml/presentation/tables-expected.txt b/LayoutTests/platform/mac/mathml/presentation/tables-expected.txt
index 9f14dba..e5e99c5 100644
--- a/LayoutTests/platform/mac/mathml/presentation/tables-expected.txt
+++ b/LayoutTests/platform/mac/mathml/presentation/tables-expected.txt
@@ -1,88 +1,87 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x110
-  RenderBlock {html} at (0,0) size 800x110
-    RenderBody {body} at (8,16) size 784x78
-      RenderBlock {p} at (0,0) size 784x78
-        RenderText {#text} at (0,29) size 49x18
-          text run at (0,29) width 49: "simple: "
-        RenderBlock {math} at (49,0) size 93x78
-          RenderTable {mtable} at (0,0) size 93x78
-            RenderTableSection (anonymous) at (0,0) size 93x78
-              RenderTableRow {mtr} at (0,0) size 93x26
-                RenderTableCell {mtd} at (0,0) size 31x26 [r=0 c=0 rs=1 cs=1]
-                  RenderBlock {msub} at (4,0) size 22x26
-                    RenderInline {mi} at (0,0) size 8x18
-                      RenderText {#text} at (0,4) size 8x18
+layer at (0,0) size 800x104
+  RenderBlock {html} at (0,0) size 800x104
+    RenderBody {body} at (8,16) size 784x72
+      RenderBlock {p} at (0,0) size 784x72
+        RenderText {#text} at (0,25) size 49x18
+          text run at (0,25) width 49: "simple: "
+        RenderBlock {math} at (49,0) size 78x72
+          RenderTable {mtable} at (0,0) size 78x72
+            RenderTableSection (anonymous) at (0,0) size 78x72
+              RenderTableRow {mtr} at (0,0) size 78x24
+                RenderTableCell {mtd} at (0,0) size 26x24 [r=0 c=0 rs=1 cs=1]
+                  RenderBlock {msub} at (3,0) size 20x24
+                    RenderInline {mi} at (0,0) size 8x16
+                      RenderText {#text} at (0,4) size 8x16
                         text run at (0,4) width 8: "a"
-                    RenderInline {mn} at (0,0) size 14x13
-                      RenderText {#text} at (8,12) size 14x13
-                        text run at (8,12) width 14: "11"
-                RenderTableCell {mtd} at (31,0) size 31x26 [r=0 c=1 rs=1 cs=1]
-                  RenderBlock {msub} at (4,0) size 22x26
-                    RenderInline {mi} at (0,0) size 8x18
-                      RenderText {#text} at (0,4) size 8x18
+                    RenderInline {mn} at (0,0) size 12x12
+                      RenderText {#text} at (8,11) size 12x12
+                        text run at (8,11) width 12: "11"
+                RenderTableCell {mtd} at (26,0) size 26x24 [r=0 c=1 rs=1 cs=1]
+                  RenderBlock {msub} at (3,0) size 20x24
+                    RenderInline {mi} at (0,0) size 8x16
+                      RenderText {#text} at (0,4) size 8x16
                         text run at (0,4) width 8: "a"
-                    RenderInline {mn} at (0,0) size 14x13
-                      RenderText {#text} at (8,12) size 14x13
-                        text run at (8,12) width 14: "12"
-                RenderTableCell {mtd} at (62,0) size 31x26 [r=0 c=2 rs=1 cs=1]
-                  RenderBlock {msub} at (4,0) size 22x26
-                    RenderInline {mi} at (0,0) size 8x18
-                      RenderText {#text} at (0,4) size 8x18
+                    RenderInline {mn} at (0,0) size 12x12
+                      RenderText {#text} at (8,11) size 12x12
+                        text run at (8,11) width 12: "12"
+                RenderTableCell {mtd} at (52,0) size 26x24 [r=0 c=2 rs=1 cs=1]
+                  RenderBlock {msub} at (3,0) size 20x24
+                    RenderInline {mi} at (0,0) size 8x16
+                      RenderText {#text} at (0,4) size 8x16
                         text run at (0,4) width 8: "a"
-                    RenderInline {mn} at (0,0) size 14x13
-                      RenderText {#text} at (8,12) size 14x13
-                        text run at (8,12) width 14: "13"
-              RenderTableRow {mtr} at (0,26) size 93x26
-                RenderTableCell {mtd} at (0,26) size 31x26 [r=1 c=0 rs=1 cs=1]
-                  RenderBlock {msub} at (4,0) size 23x26
-                    RenderInline {mi} at (0,0) size 9x18
-                      RenderText {#text} at (0,4) size 9x18
-                        text run at (0,4) width 9: "b"
-                    RenderInline {mn} at (0,0) size 14x13
-                      RenderText {#text} at (9,12) size 14x13
-                        text run at (9,12) width 14: "21"
-                RenderTableCell {mtd} at (31,26) size 31x26 [r=1 c=1 rs=1 cs=1]
-                  RenderBlock {msub} at (4,0) size 23x26
-                    RenderInline {mi} at (0,0) size 9x18
-                      RenderText {#text} at (0,4) size 9x18
-                        text run at (0,4) width 9: "b"
-                    RenderInline {mn} at (0,0) size 14x13
-                      RenderText {#text} at (9,12) size 14x13
-                        text run at (9,12) width 14: "22"
-                RenderTableCell {mtd} at (62,26) size 31x26 [r=1 c=2 rs=1 cs=1]
-                  RenderBlock {msub} at (4,0) size 23x26
-                    RenderInline {mi} at (0,0) size 9x18
-                      RenderText {#text} at (0,4) size 9x18
-                        text run at (0,4) width 9: "b"
-                    RenderInline {mn} at (0,0) size 14x13
-                      RenderText {#text} at (9,12) size 14x13
-                        text run at (9,12) width 14: "23"
-              RenderTableRow {mtr} at (0,52) size 93x26
-                RenderTableCell {mtd} at (0,52) size 31x26 [r=2 c=0 rs=1 cs=1]
-                  RenderBlock {msub} at (4,0) size 22x26
-                    RenderInline {mi} at (0,0) size 8x18
-                      RenderText {#text} at (0,4) size 8x18
-                        text run at (0,4) width 8: "c"
-                    RenderInline {mn} at (0,0) size 14x13
-                      RenderText {#text} at (8,12) size 14x13
-                        text run at (8,12) width 14: "31"
-                RenderTableCell {mtd} at (31,52) size 31x26 [r=2 c=1 rs=1 cs=1]
-                  RenderBlock {msub} at (4,0) size 22x26
-                    RenderInline {mi} at (0,0) size 8x18
-                      RenderText {#text} at (0,4) size 8x18
-                        text run at (0,4) width 8: "c"
-                    RenderInline {mn} at (0,0) size 14x13
-                      RenderText {#text} at (8,12) size 14x13
-                        text run at (8,12) width 14: "32"
-                RenderTableCell {mtd} at (62,52) size 31x26 [r=2 c=2 rs=1 cs=1]
-                  RenderBlock {msub} at (4,0) size 22x26
-                    RenderInline {mi} at (0,0) size 8x18
-                      RenderText {#text} at (0,4) size 8x18
-                        text run at (0,4) width 8: "c"
-                    RenderInline {mn} at (0,0) size 14x13
-                      RenderText {#text} at (8,12) size 14x13
-                        text run at (8,12) width 14: "33"
-          RenderText {#text} at (0,0) size 0x0
+                    RenderInline {mn} at (0,0) size 12x12
+                      RenderText {#text} at (8,11) size 12x12
+                        text run at (8,11) width 12: "13"
+              RenderTableRow {mtr} at (0,24) size 78x24
+                RenderTableCell {mtd} at (0,24) size 26x24 [r=1 c=0 rs=1 cs=1]
+                  RenderBlock {msub} at (3,0) size 20x24
+                    RenderInline {mi} at (0,0) size 8x16
+                      RenderText {#text} at (0,4) size 8x16
+                        text run at (0,4) width 8: "b"
+                    RenderInline {mn} at (0,0) size 12x12
+                      RenderText {#text} at (8,11) size 12x12
+                        text run at (8,11) width 12: "21"
+                RenderTableCell {mtd} at (26,24) size 26x24 [r=1 c=1 rs=1 cs=1]
+                  RenderBlock {msub} at (3,0) size 20x24
+                    RenderInline {mi} at (0,0) size 8x16
+                      RenderText {#text} at (0,4) size 8x16
+                        text run at (0,4) width 8: "b"
+                    RenderInline {mn} at (0,0) size 12x12
+                      RenderText {#text} at (8,11) size 12x12
+                        text run at (8,11) width 12: "22"
+                RenderTableCell {mtd} at (52,24) size 26x24 [r=1 c=2 rs=1 cs=1]
+                  RenderBlock {msub} at (3,0) size 20x24
+                    RenderInline {mi} at (0,0) size 8x16
+                      RenderText {#text} at (0,4) size 8x16
+                        text run at (0,4) width 8: "b"
+                    RenderInline {mn} at (0,0) size 12x12
+                      RenderText {#text} at (8,11) size 12x12
+                        text run at (8,11) width 12: "23"
+              RenderTableRow {mtr} at (0,48) size 78x24
+                RenderTableCell {mtd} at (0,48) size 26x24 [r=2 c=0 rs=1 cs=1]
+                  RenderBlock {msub} at (3,0) size 19x24
+                    RenderInline {mi} at (0,0) size 7x16
+                      RenderText {#text} at (0,4) size 7x16
+                        text run at (0,4) width 7: "c"
+                    RenderInline {mn} at (0,0) size 12x12
+                      RenderText {#text} at (7,11) size 12x12
+                        text run at (7,11) width 12: "31"
+                RenderTableCell {mtd} at (26,48) size 26x24 [r=2 c=1 rs=1 cs=1]
+                  RenderBlock {msub} at (3,0) size 19x24
+                    RenderInline {mi} at (0,0) size 7x16
+                      RenderText {#text} at (0,4) size 7x16
+                        text run at (0,4) width 7: "c"
+                    RenderInline {mn} at (0,0) size 12x12
+                      RenderText {#text} at (7,11) size 12x12
+                        text run at (7,11) width 12: "32"
+                RenderTableCell {mtd} at (52,48) size 26x24 [r=2 c=2 rs=1 cs=1]
+                  RenderBlock {msub} at (3,0) size 19x24
+                    RenderInline {mi} at (0,0) size 7x16
+                      RenderText {#text} at (0,4) size 7x16
+                        text run at (0,4) width 7: "c"
+                    RenderInline {mn} at (0,0) size 12x12
+                      RenderText {#text} at (7,11) size 12x12
+                        text run at (7,11) width 12: "33"
         RenderText {#text} at (0,0) size 0x0
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 45cfc2d..0ddb471 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,42 @@
+2010-01-22  Alex Milowski  <alex at milowski.com>
+
+        Reviewed by David Hyatt.
+
+        Added support for RenderMathMLBlock base object and isRenderMathMLBlock()
+        method on RenderObject. 
+
+        Added support for text elements and updated tag and attribute names
+
+        Also, updated the stylesheet added files to the project
+
+        * DerivedSources.make:
+        * WebCore.xcodeproj/project.pbxproj:
+        * css/mathml.css:
+        * mathml/MathMLInlineContainerElement.cpp:
+        (WebCore::MathMLInlineContainerElement::createRenderer):
+        * mathml/MathMLTextElement.cpp: Added.
+        (WebCore::MathMLTextElement::MathMLTextElement):
+        (WebCore::MathMLTextElement::create):
+        (WebCore::MathMLTextElement::createRenderer):
+        * mathml/MathMLTextElement.h: Added.
+        * mathml/RenderMathMLBlock.cpp: Added.
+        (WebCore::RenderMathMLBlock::RenderMathMLBlock):
+        (WebCore::RenderMathMLBlock::styleDidChange):
+        (WebCore::RenderMathMLBlock::isChildAllowed):
+        (WebCore::RenderMathMLBlock::makeBlockStyle):
+        (WebCore::RenderMathMLBlock::nonOperatorHeight):
+        (WebCore::RenderMathMLBlock::stretchToHeight):
+        * mathml/RenderMathMLBlock.h: Added.
+        (WebCore::RenderMathMLBlock::isRenderMathMLBlock):
+        (WebCore::RenderMathMLBlock::isRenderMathMLOperator):
+        (WebCore::RenderMathMLBlock::isRenderMathMLRow):
+        (WebCore::RenderMathMLBlock::isRenderMathMLMath):
+        (WebCore::RenderMathMLBlock::hasBase):
+        (WebCore::toRenderMathMLBlock):
+        * mathml/mathattrs.in: Added.
+        * rendering/RenderObject.h:
+        (WebCore::RenderObject::isRenderMathMLBlock):
+
 2010-01-22  James Robinson  <jamesr at chromium.org>
 
         Reviewed by Alexey Proskuryakov.
diff --git a/WebCore/DerivedSources.make b/WebCore/DerivedSources.make
index dee4e4c..6d8a6d5 100644
--- a/WebCore/DerivedSources.make
+++ b/WebCore/DerivedSources.make
@@ -748,8 +748,8 @@ endif
 
 ifeq ($(findstring ENABLE_MATHML,$(FEATURE_DEFINES)), ENABLE_MATHML)
 
-MathMLElementFactory.cpp MathMLNames.cpp : dom/make_names.pl mathml/mathtags.in
-	perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/mathml/mathtags.in --factory --wrapperFactory
+MathMLElementFactory.cpp MathMLNames.cpp : dom/make_names.pl mathml/mathtags.in mathml/mathattrs.in
+	perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/mathml/mathtags.in --attrs $(WebCore)/mathml/mathattrs.in --factory --wrapperFactory
 
 else
 
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index b968e43..1a5d665 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -4821,6 +4821,12 @@
 		F916C48D0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F916C48B0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.cpp */; };
 		F916C48E0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = F916C48C0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.h */; };
 		F9F0ED7A0DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = F9F0ED770DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.h */; };
+		FA654A641108ABB7002615E0 /* mathml.css in Resources */ = {isa = PBXBuildFile; fileRef = FA654A631108ABB7002615E0 /* mathml.css */; };
+		FA654A681108ABE2002615E0 /* mathattrs.in in Resources */ = {isa = PBXBuildFile; fileRef = FA654A671108ABE2002615E0 /* mathattrs.in */; };
+		FA654A6B1108ABED002615E0 /* MathMLTextElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA654A691108ABED002615E0 /* MathMLTextElement.cpp */; };
+		FA654A6C1108ABED002615E0 /* MathMLTextElement.h in Headers */ = {isa = PBXBuildFile; fileRef = FA654A6A1108ABED002615E0 /* MathMLTextElement.h */; };
+		FA654A6F1108ABFF002615E0 /* RenderMathMLBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA654A6D1108ABFF002615E0 /* RenderMathMLBlock.cpp */; };
+		FA654A701108ABFF002615E0 /* RenderMathMLBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = FA654A6E1108ABFF002615E0 /* RenderMathMLBlock.h */; };
 		FABE72F41059C1EB00D999DD /* MathMLElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FABE72ED1059C1EB00D999DD /* MathMLElement.cpp */; };
 		FABE72F51059C1EB00D999DD /* MathMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = FABE72EE1059C1EB00D999DD /* MathMLElement.h */; };
 		FABE72F61059C1EB00D999DD /* MathMLInlineContainerElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FABE72EF1059C1EB00D999DD /* MathMLInlineContainerElement.cpp */; };
@@ -10122,6 +10128,12 @@
 		F916C48C0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSXMLHttpRequestProgressEvent.h; sourceTree = "<group>"; };
 		F9F0ED770DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = XMLHttpRequestProgressEvent.h; sourceTree = "<group>"; };
 		F9F0ED780DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = XMLHttpRequestProgressEvent.idl; sourceTree = "<group>"; };
+		FA654A631108ABB7002615E0 /* mathml.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = mathml.css; sourceTree = "<group>"; };
+		FA654A671108ABE2002615E0 /* mathattrs.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = mathattrs.in; sourceTree = "<group>"; };
+		FA654A691108ABED002615E0 /* MathMLTextElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MathMLTextElement.cpp; sourceTree = "<group>"; };
+		FA654A6A1108ABED002615E0 /* MathMLTextElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MathMLTextElement.h; sourceTree = "<group>"; };
+		FA654A6D1108ABFF002615E0 /* RenderMathMLBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMathMLBlock.cpp; sourceTree = "<group>"; };
+		FA654A6E1108ABFF002615E0 /* RenderMathMLBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderMathMLBlock.h; sourceTree = "<group>"; };
 		FABE72ED1059C1EB00D999DD /* MathMLElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MathMLElement.cpp; sourceTree = "<group>"; };
 		FABE72EE1059C1EB00D999DD /* MathMLElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MathMLElement.h; sourceTree = "<group>"; };
 		FABE72EF1059C1EB00D999DD /* MathMLInlineContainerElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MathMLInlineContainerElement.cpp; sourceTree = "<group>"; };
@@ -15455,6 +15467,7 @@
 				93CA4C9A09DF93FA00DF8677 /* make-css-file-arrays.pl */,
 				93CA4C9B09DF93FA00DF8677 /* makeprop.pl */,
 				93CA4C9D09DF93FA00DF8677 /* makevalues.pl */,
+				FA654A631108ABB7002615E0 /* mathml.css */,
 				0FF5026E102BA9660066F39A /* Media.cpp */,
 				0FF5026F102BA96A0066F39A /* Media.h */,
 				0FF50270102BA96A0066F39A /* Media.idl */,
@@ -15986,13 +15999,18 @@
 		FABE72EC1059C1EB00D999DD /* mathml */ = {
 			isa = PBXGroup;
 			children = (
+				FA654A671108ABE2002615E0 /* mathattrs.in */,
 				FABE72ED1059C1EB00D999DD /* MathMLElement.cpp */,
 				FABE72EE1059C1EB00D999DD /* MathMLElement.h */,
 				FABE72EF1059C1EB00D999DD /* MathMLInlineContainerElement.cpp */,
 				FABE72F01059C1EB00D999DD /* MathMLInlineContainerElement.h */,
 				FABE72F11059C1EB00D999DD /* MathMLMathElement.cpp */,
 				FABE72F21059C1EB00D999DD /* MathMLMathElement.h */,
+				FA654A691108ABED002615E0 /* MathMLTextElement.cpp */,
+				FA654A6A1108ABED002615E0 /* MathMLTextElement.h */,
 				FABE72F31059C1EB00D999DD /* mathtags.in */,
+				FA654A6D1108ABFF002615E0 /* RenderMathMLBlock.cpp */,
+				FA654A6E1108ABFF002615E0 /* RenderMathMLBlock.h */,
 			);
 			path = mathml;
 			sourceTree = "<group>";
@@ -18447,6 +18465,8 @@
 				76CDD2F31103DA6600680521 /* AccessibilityMenuList.h in Headers */,
 				76CDD2F51103DA6600680521 /* AccessibilityMenuListPopup.h in Headers */,
 				76CDD2F71103DA6600680521 /* AccessibilityMenuListOption.h in Headers */,
+				FA654A6C1108ABED002615E0 /* MathMLTextElement.h in Headers */,
+				FA654A701108ABFF002615E0 /* RenderMathMLBlock.h in Headers */,
 				5913953B110758450083EC55 /* JNIBridge.h in Headers */,
 				2EAFAF0F10E2AF2D007ED3D6 /* Blob.h in Headers */,
 				2E2D99CE10E2BBDA00496337 /* JSBlob.h in Headers */,
@@ -18556,6 +18576,8 @@
 				1AB1AE7A0C051FDE00139F4F /* zoomInCursor.png in Resources */,
 				1AB1AE7B0C051FDE00139F4F /* zoomOutCursor.png in Resources */,
 				6E4E91B010F7FB3100A2779C /* WebGLContextAttributes.idl in Resources */,
+				FA654A641108ABB7002615E0 /* mathml.css in Resources */,
+				FA654A681108ABE2002615E0 /* mathattrs.in in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -20623,6 +20645,8 @@
 				76CDD2F21103DA6600680521 /* AccessibilityMenuList.cpp in Sources */,
 				76CDD2F41103DA6600680521 /* AccessibilityMenuListPopup.cpp in Sources */,
 				76CDD2F61103DA6600680521 /* AccessibilityMenuListOption.cpp in Sources */,
+				FA654A6B1108ABED002615E0 /* MathMLTextElement.cpp in Sources */,
+				FA654A6F1108ABFF002615E0 /* RenderMathMLBlock.cpp in Sources */,
 				5913953D1107584E0083EC55 /* JNIBridge.cpp in Sources */,
 				2EAFAF0E10E2AF2D007ED3D6 /* Blob.cpp in Sources */,
 				2E2D99CD10E2BBDA00496337 /* JSBlob.cpp in Sources */,
diff --git a/WebCore/css/mathml.css b/WebCore/css/mathml.css
index e725d8c..ae1e0ee 100644
--- a/WebCore/css/mathml.css
+++ b/WebCore/css/mathml.css
@@ -1,28 +1,57 @@
 @namespace "http://www.w3.org/1998/Math/MathML";
 
 /* approved */
+
 math {
     font-family: Symbol, STIXGeneral, "Times New Roman";
     display: inline-block;
     padding: 0px;
     margin: 0px;
-    text-indent: 0;
-    font-size: 1.1em;
     vertical-align: baseline;
 }
+
 math[display="block"] {
-    font-family: "New Times Roman"
     display: block;
     text-align: center;
     page-break-inside: avoid;
+    margin-bottom: 1em;
+}
+
+math > * {
+   vertical-align: baseline;
+}
+
+mrow, mfenced {
+    display: inline-block;
+    white-space: nowrap;
+    vertical-align: middle;
+}
+
+mrow > mo, mfenced > mo, math > mo,
+mrow > mi, mfenced > mi, math > mi,
+mrow > mn, mfenced > mn, math > mn,
+mrow > mtext, mfenced > mtext, math > mtext
+{
+   vertical-align: middle;
+}
+
+mi, mtext {
+    font-style: italic;
+    padding-right: 0.1em;
+}
+
+mi + mrow {
+   margin-left: 0.1em;
 }
 
 mfrac {
+    display: inline-block;
     vertical-align: middle;
 }
 
 msub, msup {
-   display: inline-block;
+    display: inline-block;
+    vertical-align: baseline;
 }
 
 msub > * + * {
@@ -37,10 +66,14 @@ msup > * + * {
    line-height: 0.75em;
 }
 
+msubsup {
+    display: inline-block;
+    vertical-align: baseline;
+}
+
 msubsup > * {
     margin: 0px;
     padding: 0px;
-    vertical-align: middle;
 }
 
 msubsup > * + * {
@@ -48,8 +81,9 @@ msubsup > * + * {
    line-height: 0.75em;
 }
 
-munderover {
-    vertical-align: middle;
+munder, mover, munderover {
+    display: inline-block;
+    vertical-align: baseline;
 }
 
 munderover > * + *, mover > * + *, munder > * + * {
@@ -57,20 +91,20 @@ munderover > * + *, mover > * + *, munder > * + * {
    line-height: 0.5625em;
 }
 
-mrow {
-    line-height: 1em;
-    white-space: nowrap;
-    vertical-align: middle;
+mo, mn, mi, mtext {
+   line-height: 0.75em;
+   padding: 0px;
+   margin: 0px;
 }
 
-mfenced > * {
-    vertical-align: middle;
+mo {
+    display: inline-block;
+    /*height: 100%;*/
 }
 
-mo, mn, mi {
-   line-height: 0.75em;
-   padding: 0px;
-   margin: 0px;
+mo {
+   padding-left: 0.05em;
+   padding-right: 0.05em;
 }
 
 mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"] {
@@ -100,11 +134,13 @@ merror {
 }
 
 msqrt {
+    display: inline-block;
     padding-top: 0.2em;
     padding-left: 0.75em;
 }
 
 mroot {
+    display: inline-block;
     padding-top: 0.2em;
     padding-left: 0.2em;
 }
@@ -168,3 +204,6 @@ mtable[columnlines="dashed"] > mtr > mtd + mtd {
     border-left: dashed thin;
 }
 
+mspace[linebreak="newline"] {
+   display: block;
+}
diff --git a/WebCore/mathml/MathMLInlineContainerElement.cpp b/WebCore/mathml/MathMLInlineContainerElement.cpp
index aa66fbc..019c4ce 100644
--- a/WebCore/mathml/MathMLInlineContainerElement.cpp
+++ b/WebCore/mathml/MathMLInlineContainerElement.cpp
@@ -30,7 +30,7 @@
 #include "MathMLInlineContainerElement.h"
 
 #include "MathMLNames.h"
-#include "RenderObject.h"
+#include "RenderMathMLBlock.h"
 
 namespace WebCore {
     
@@ -46,10 +46,12 @@ PassRefPtr<MathMLInlineContainerElement> MathMLInlineContainerElement::create(co
     return new MathMLInlineContainerElement(tagName, document);
 }
 
-RenderObject* MathMLInlineContainerElement::createRenderer(RenderArena *, RenderStyle* style)
+RenderObject* MathMLInlineContainerElement::createRenderer(RenderArena *arena, RenderStyle* style)
 {
     // FIXME: This method will contain the specialized renderers based on element name
-    return RenderObject::createObject(this, style);
+    RenderObject* object = new (arena) RenderMathMLBlock(this);
+    object->setStyle(style);
+    return object;
 }
     
     
diff --git a/WebCore/mathml/MathMLTextElement.cpp b/WebCore/mathml/MathMLTextElement.cpp
new file mode 100644
index 0000000..11d46c4
--- /dev/null
+++ b/WebCore/mathml/MathMLTextElement.cpp
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2009 Alex Milowski (alex at milowski.com). All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(MATHML)
+
+#include "MathMLTextElement.h"
+
+#include "MathMLNames.h"
+#include "RenderObject.h"
+
+namespace WebCore {
+    
+using namespace MathMLNames;
+
+MathMLTextElement::MathMLTextElement(const QualifiedName& tagName, Document* document)
+    : MathMLElement(tagName, document)
+{
+}
+
+PassRefPtr<MathMLTextElement> MathMLTextElement::create(const QualifiedName& tagName, Document* document)
+{
+    return new MathMLTextElement(tagName, document);
+}
+
+RenderObject* MathMLTextElement::createRenderer(RenderArena* , RenderStyle* style)
+{
+    return RenderObject::createObject(this, style);
+}
+
+    
+}
+
+#endif // ENABLE(MATHML)
+
diff --git a/WebCore/mathml/MathMLTextElement.h b/WebCore/mathml/MathMLTextElement.h
new file mode 100644
index 0000000..e647bfa
--- /dev/null
+++ b/WebCore/mathml/MathMLTextElement.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2009 Alex Milowski (alex at milowski.com). All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef MathMLTextElement_h
+#define MathMLTextElement_h
+
+#if ENABLE(MATHML)
+#include "MathMLElement.h"
+
+namespace WebCore {
+    
+class MathMLTextElement : public MathMLElement {
+public:
+    static PassRefPtr<MathMLTextElement> create(const QualifiedName& tagName, Document*);
+
+    virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
+    
+protected:
+    MathMLTextElement(const QualifiedName& tagName, Document*);
+    
+};
+    
+}
+
+#endif // ENABLE(MATHML)
+#endif // MathMLTextElement_h
diff --git a/WebCore/mathml/RenderMathMLBlock.cpp b/WebCore/mathml/RenderMathMLBlock.cpp
new file mode 100644
index 0000000..249c136
--- /dev/null
+++ b/WebCore/mathml/RenderMathMLBlock.cpp
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2009 Alex Milowski (alex at milowski.com). All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(MATHML)
+
+#include "RenderMathMLBlock.h"
+
+#include "FontSelector.h"
+#include "MathMLNames.h"
+#include "RenderInline.h"
+#include "RenderText.h"
+
+namespace WebCore {
+    
+using namespace MathMLNames;
+    
+RenderMathMLBlock::RenderMathMLBlock(Node* container) 
+    : RenderBlock(container) 
+{
+}
+
+bool RenderMathMLBlock::isChildAllowed(RenderObject* child, RenderStyle*) const
+{
+    return child->node() && child->node()->nodeType() == Node::ELEMENT_NODE;
+}
+
+PassRefPtr<RenderStyle> RenderMathMLBlock::makeBlockStyle()
+{
+    RefPtr<RenderStyle> newStyle = RenderStyle::create();
+    newStyle->inheritFrom(style());
+    newStyle->setDisplay(BLOCK);
+    return newStyle;
+}
+
+int RenderMathMLBlock::nonOperatorHeight() const
+{
+    if (!isRenderMathMLOperator())
+        return offsetHeight();
+        
+    return 0;
+}
+
+void RenderMathMLBlock::stretchToHeight(int height) 
+{
+    for (RenderObject* current = firstChild(); current; current = current->nextSibling())
+       if (current->isRenderMathMLBlock()) {
+          RenderMathMLBlock* block = toRenderMathMLBlock(current);
+          block->stretchToHeight(height);
+       }
+}
+
+
+}    
+
+#endif
diff --git a/WebCore/mathml/RenderMathMLBlock.h b/WebCore/mathml/RenderMathMLBlock.h
new file mode 100644
index 0000000..b274a69
--- /dev/null
+++ b/WebCore/mathml/RenderMathMLBlock.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2010 Alex Milowski (alex at milowski.com). All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef RenderMathMLBlock_h
+#define RenderMathMLBlock_h
+
+#if ENABLE(MATHML)
+
+#include "RenderBlock.h"
+
+namespace WebCore {
+    
+class RenderMathMLBlock : public RenderBlock {
+public:
+    RenderMathMLBlock(Node* container);
+    virtual bool isChildAllowed(RenderObject*, RenderStyle*) const;
+    
+    virtual bool isRenderMathMLBlock() const { return true; }
+    virtual bool isRenderMathMLOperator() const { return false; }
+    virtual bool isRenderMathMLRow() const { return false; }
+    virtual bool isRenderMathMLMath() const { return false; }
+    virtual bool hasBase() const { return false; }
+    virtual int nonOperatorHeight() const;
+    virtual void stretchToHeight(int height);
+    
+protected:
+    virtual PassRefPtr<RenderStyle> makeBlockStyle();
+    
+};
+
+inline RenderMathMLBlock* toRenderMathMLBlock(RenderObject* object)
+{ 
+    ASSERT(!object || object->isRenderMathMLBlock());
+    return static_cast<RenderMathMLBlock*>(object);
+}
+
+inline const RenderMathMLBlock* toRenderMathMLBlock(const RenderObject* object)
+{ 
+    ASSERT(!object || object->isRenderMathMLBlock());
+    return static_cast<const RenderMathMLBlock*>(object);
+}
+    
+}
+
+
+#endif // ENABLE(MATHML)
+#endif // RenderMathMLBlock_h
diff --git a/WebCore/mathml/mathattrs.in b/WebCore/mathml/mathattrs.in
new file mode 100644
index 0000000..24bf71a
--- /dev/null
+++ b/WebCore/mathml/mathattrs.in
@@ -0,0 +1,14 @@
+namespace="MathML"
+namespaceURI="http://www.w3.org/1998/Math/MathML"
+guardFactoryWith="ENABLE(MATHML)"
+attrsNullNamespace
+exportStrings
+
+close
+denomalign
+linethickness
+mathsize
+numalign
+open
+separators
+stretchy
diff --git a/WebCore/rendering/RenderObject.h b/WebCore/rendering/RenderObject.h
index 7d7a9ee..03ba1e6 100644
--- a/WebCore/rendering/RenderObject.h
+++ b/WebCore/rendering/RenderObject.h
@@ -315,6 +315,10 @@ public:
     bool cellWidthChanged() const { return m_cellWidthChanged; }
     void setCellWidthChanged(bool b = true) { m_cellWidthChanged = b; }
 
+#if ENABLE(MATHML)
+    virtual bool isRenderMathMLBlock() const { return false; }
+#endif // ENABLE(MATHML)
+
 #if ENABLE(SVG)
     // FIXME: Until all SVG renders can be subclasses of RenderSVGModelObject we have
     // to add SVG renderer methods to RenderObject with an ASSERT_NOT_REACHED() default implementation.

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list