diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
commit | 32761a6cee1d0dee366b885b7b9c777e67885688 (patch) | |
tree | d6bec92bebfb216f4126356e55518842c2f476a1 /Source/WebCore/html/HTMLTableCellElement.cpp | |
parent | a4e969f4965059196ca948db781e52f7cfebf19e (diff) | |
download | WebKitGtk-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.cpp | 29 |
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 |