summaryrefslogtreecommitdiff
path: root/Source/WebCore/html/HTMLTablePartElement.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-02-09 14:16:12 +0100
committerSimon Hausmann <simon.hausmann@nokia.com>2012-02-09 14:16:12 +0100
commit03e12282df9aa1e1fb05a8b90f1cfc2e08764cec (patch)
tree52599cd0ab782b1768e23ad176f7618f98333cb6 /Source/WebCore/html/HTMLTablePartElement.cpp
parentcd44dc59cdfc39534aef4d417e9f3c412e3be139 (diff)
downloadqtwebkit-03e12282df9aa1e1fb05a8b90f1cfc2e08764cec.tar.gz
Imported WebKit commit e09a82039aa4273ab318b71122e92d8e5f233525 (http://svn.webkit.org/repository/webkit/trunk@107223)
Diffstat (limited to 'Source/WebCore/html/HTMLTablePartElement.cpp')
-rw-r--r--Source/WebCore/html/HTMLTablePartElement.cpp71
1 files changed, 30 insertions, 41 deletions
diff --git a/Source/WebCore/html/HTMLTablePartElement.cpp b/Source/WebCore/html/HTMLTablePartElement.cpp
index dfaecca9a..8fd747bd8 100644
--- a/Source/WebCore/html/HTMLTablePartElement.cpp
+++ b/Source/WebCore/html/HTMLTablePartElement.cpp
@@ -36,65 +36,54 @@ namespace WebCore {
using namespace HTMLNames;
-bool HTMLTablePartElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
-{
- if (attrName == backgroundAttr) {
- result = (MappedAttributeEntry)(eLastEntry + document()->docID());
- return false;
- }
-
- if (attrName == bgcolorAttr ||
- attrName == bordercolorAttr ||
- attrName == valignAttr ||
- attrName == heightAttr) {
- result = eUniversal;
- return false;
- }
-
- if (attrName == alignAttr) {
- result = eCell; // All table parts will just share in the TD space.
- return false;
- }
-
- return HTMLElement::mapToEntry(attrName, result);
-}
-
-void HTMLTablePartElement::parseMappedAttribute(Attribute* attr)
+void HTMLTablePartElement::parseAttribute(Attribute* attr)
{
if (attr->name() == bgcolorAttr)
- addCSSColor(attr, CSSPropertyBackgroundColor, attr->value());
+ if (attr->value().isNull())
+ removeCSSProperty(CSSPropertyBackgroundColor);
+ else
+ addCSSColor(CSSPropertyBackgroundColor, attr->value());
else if (attr->name() == backgroundAttr) {
String url = stripLeadingAndTrailingHTMLSpaces(attr->value());
if (!url.isEmpty())
- addCSSImageProperty(attr, CSSPropertyBackgroundImage, document()->completeURL(url).string());
+ addCSSImageProperty(CSSPropertyBackgroundImage, document()->completeURL(url).string());
+ else
+ removeCSSProperty(CSSPropertyBackgroundImage);
} else if (attr->name() == bordercolorAttr) {
if (!attr->value().isEmpty()) {
- addCSSColor(attr, CSSPropertyBorderColor, attr->value());
- addCSSProperty(attr, CSSPropertyBorderTopStyle, CSSValueSolid);
- addCSSProperty(attr, CSSPropertyBorderBottomStyle, CSSValueSolid);
- addCSSProperty(attr, CSSPropertyBorderLeftStyle, CSSValueSolid);
- addCSSProperty(attr, CSSPropertyBorderRightStyle, CSSValueSolid);
- }
+ addCSSColor(CSSPropertyBorderColor, attr->value());
+ addCSSProperty(CSSPropertyBorderTopStyle, CSSValueSolid);
+ addCSSProperty(CSSPropertyBorderBottomStyle, CSSValueSolid);
+ addCSSProperty(CSSPropertyBorderLeftStyle, CSSValueSolid);
+ addCSSProperty(CSSPropertyBorderRightStyle, CSSValueSolid);
+ } else
+ removeCSSProperties(CSSPropertyBorderColor, CSSPropertyBorderTopStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle, CSSPropertyBorderRightStyle);
} else if (attr->name() == valignAttr) {
if (!attr->value().isEmpty())
- addCSSProperty(attr, CSSPropertyVerticalAlign, attr->value());
+ addCSSProperty(CSSPropertyVerticalAlign, attr->value());
+ else
+ removeCSSProperty(CSSPropertyVerticalAlign);
} else if (attr->name() == alignAttr) {
const AtomicString& v = attr->value();
- if (equalIgnoringCase(v, "middle") || equalIgnoringCase(v, "center"))
- addCSSProperty(attr, CSSPropertyTextAlign, CSSValueWebkitCenter);
+ if (v.isNull())
+ removeCSSProperty(CSSPropertyTextAlign);
+ else if (equalIgnoringCase(v, "middle") || equalIgnoringCase(v, "center"))
+ addCSSProperty(CSSPropertyTextAlign, CSSValueWebkitCenter);
else if (equalIgnoringCase(v, "absmiddle"))
- addCSSProperty(attr, CSSPropertyTextAlign, CSSValueCenter);
+ addCSSProperty(CSSPropertyTextAlign, CSSValueCenter);
else if (equalIgnoringCase(v, "left"))
- addCSSProperty(attr, CSSPropertyTextAlign, CSSValueWebkitLeft);
+ addCSSProperty(CSSPropertyTextAlign, CSSValueWebkitLeft);
else if (equalIgnoringCase(v, "right"))
- addCSSProperty(attr, CSSPropertyTextAlign, CSSValueWebkitRight);
+ addCSSProperty(CSSPropertyTextAlign, CSSValueWebkitRight);
else
- addCSSProperty(attr, CSSPropertyTextAlign, v);
+ addCSSProperty(CSSPropertyTextAlign, v);
} else if (attr->name() == heightAttr) {
if (!attr->value().isEmpty())
- addCSSLength(attr, CSSPropertyHeight, attr->value());
+ addCSSLength(CSSPropertyHeight, attr->value());
+ else
+ removeCSSProperty(CSSPropertyHeight);
} else
- HTMLElement::parseMappedAttribute(attr);
+ HTMLElement::parseAttribute(attr);
}
}