summaryrefslogtreecommitdiff
path: root/Source/WebCore/html/HTMLTableCellElement.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
commit32761a6cee1d0dee366b885b7b9c777e67885688 (patch)
treed6bec92bebfb216f4126356e55518842c2f476a1 /Source/WebCore/html/HTMLTableCellElement.cpp
parenta4e969f4965059196ca948db781e52f7cfebf19e (diff)
downloadWebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/WebCore/html/HTMLTableCellElement.cpp')
-rw-r--r--Source/WebCore/html/HTMLTableCellElement.cpp29
1 files changed, 17 insertions, 12 deletions
diff --git a/Source/WebCore/html/HTMLTableCellElement.cpp b/Source/WebCore/html/HTMLTableCellElement.cpp
index 9e8a399d3..ccfbf27bc 100644
--- a/Source/WebCore/html/HTMLTableCellElement.cpp
+++ b/Source/WebCore/html/HTMLTableCellElement.cpp
@@ -25,6 +25,7 @@
#include "config.h"
#include "HTMLTableCellElement.h"
+#include "Attribute.h"
#include "CSSPropertyNames.h"
#include "CSSValueKeywords.h"
#include "HTMLNames.h"
@@ -38,10 +39,14 @@ static const int maxRowspan = 8190;
using namespace HTMLNames;
-HTMLTableCellElement::HTMLTableCellElement(const QualifiedName& tagName, Document& document)
+inline HTMLTableCellElement::HTMLTableCellElement(const QualifiedName& tagName, Document& document)
: HTMLTablePartElement(tagName, document)
{
- ASSERT(tagName == thTag || tagName == tdTag);
+}
+
+PassRefPtr<HTMLTableCellElement> HTMLTableCellElement::create(const QualifiedName& tagName, Document& document)
+{
+ return adoptRef(new HTMLTableCellElement(tagName, document));
}
int HTMLTableCellElement::colSpan() const
@@ -100,11 +105,11 @@ void HTMLTableCellElement::collectStyleForPresentationAttribute(const QualifiedN
void HTMLTableCellElement::parseAttribute(const QualifiedName& name, const AtomicString& value)
{
if (name == rowspanAttr) {
- if (is<RenderTableCell>(renderer()))
- downcast<RenderTableCell>(*renderer()).colSpanOrRowSpanChanged();
+ if (renderer() && renderer()->isTableCell())
+ toRenderTableCell(renderer())->colSpanOrRowSpanChanged();
} else if (name == colspanAttr) {
- if (is<RenderTableCell>(renderer()))
- downcast<RenderTableCell>(*renderer()).colSpanOrRowSpanChanged();
+ if (renderer() && renderer()->isTableCell())
+ toRenderTableCell(renderer())->colSpanOrRowSpanChanged();
} else
HTMLTablePartElement::parseAttribute(name, value);
}
@@ -155,21 +160,21 @@ void HTMLTableCellElement::addSubresourceAttributeURLs(ListHashSet<URL>& urls) c
{
HTMLTablePartElement::addSubresourceAttributeURLs(urls);
- addSubresourceURL(urls, document().completeURL(fastGetAttribute(backgroundAttr)));
+ addSubresourceURL(urls, document().completeURL(getAttribute(backgroundAttr)));
}
HTMLTableCellElement* HTMLTableCellElement::cellAbove() const
{
- auto* cellRenderer = renderer();
- if (!is<RenderTableCell>(cellRenderer))
+ auto cellRenderer = renderer();
+ if (!cellRenderer || !cellRenderer->isTableCell())
return nullptr;
- auto& tableCellRenderer = downcast<RenderTableCell>(*cellRenderer);
- auto* cellAboveRenderer = tableCellRenderer.table()->cellAbove(&tableCellRenderer);
+ auto tableCellRenderer = toRenderTableCell(cellRenderer);
+ auto cellAboveRenderer = tableCellRenderer->table()->cellAbove(tableCellRenderer);
if (!cellAboveRenderer)
return nullptr;
- return downcast<HTMLTableCellElement>(cellAboveRenderer->element());
+ return toHTMLTableCellElement(cellAboveRenderer->element());
}
} // namespace WebCore