diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-17 16:21:14 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-17 16:21:14 +0200 |
commit | 8995b83bcbfbb68245f779b64e5517627c6cc6ea (patch) | |
tree | 17985605dab9263cc2444bd4d45f189e142cca7c /Source/WebCore/mathml/MathMLElement.cpp | |
parent | b9c9652036d5e9f1e29c574f40bc73a35c81ace6 (diff) | |
download | qtwebkit-8995b83bcbfbb68245f779b64e5517627c6cc6ea.tar.gz |
Imported WebKit commit cf4f8fc6f19b0629f51860cb2d4b25e139d07e00 (http://svn.webkit.org/repository/webkit/trunk@131592)
New snapshot that includes the build fixes for Mac OS X 10.6 and earlier as well
as the previously cherry-picked changes
Diffstat (limited to 'Source/WebCore/mathml/MathMLElement.cpp')
-rw-r--r-- | Source/WebCore/mathml/MathMLElement.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Source/WebCore/mathml/MathMLElement.cpp b/Source/WebCore/mathml/MathMLElement.cpp index 1f9a9c532..86584708a 100644 --- a/Source/WebCore/mathml/MathMLElement.cpp +++ b/Source/WebCore/mathml/MathMLElement.cpp @@ -33,6 +33,7 @@ #include "MathMLNames.h" #include "RenderObject.h" +#include "RenderTableCell.h" namespace WebCore { @@ -48,6 +49,34 @@ PassRefPtr<MathMLElement> MathMLElement::create(const QualifiedName& tagName, Do return adoptRef(new MathMLElement(tagName, document)); } +int MathMLElement::colSpan() const +{ + if (!hasTagName(mtdTag)) + return 1; + const AtomicString& colSpanValue = fastGetAttribute(columnspanAttr); + return std::max(1, colSpanValue.toInt()); +} + +int MathMLElement::rowSpan() const +{ + if (!hasTagName(mtdTag)) + return 1; + const AtomicString& rowSpanValue = fastGetAttribute(rowspanAttr); + return std::max(1, rowSpanValue.toInt()); +} + +void MathMLElement::parseAttribute(const Attribute& attribute) +{ + if (attribute.name() == rowspanAttr) { + if (renderer() && renderer()->isTableCell() && hasTagName(mtdTag)) + toRenderTableCell(renderer())->colSpanOrRowSpanChanged(); + } else if (attribute.name() == columnspanAttr) { + if (renderer() && renderer()->isTableCell() && hasTagName(mtdTag)) + toRenderTableCell(renderer())->colSpanOrRowSpanChanged(); + } else + StyledElement::parseAttribute(attribute); +} + bool MathMLElement::isPresentationAttribute(const QualifiedName& name) const { if (name == mathbackgroundAttr || name == mathsizeAttr || name == mathcolorAttr || name == fontsizeAttr || name == backgroundAttr || name == colorAttr || name == fontstyleAttr || name == fontweightAttr || name == fontfamilyAttr) |