diff options
Diffstat (limited to 'WebCore/html/HTMLTableCellElement.cpp')
-rw-r--r-- | WebCore/html/HTMLTableCellElement.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/WebCore/html/HTMLTableCellElement.cpp b/WebCore/html/HTMLTableCellElement.cpp index d90b125..0bd3cf5 100644 --- a/WebCore/html/HTMLTableCellElement.cpp +++ b/WebCore/html/HTMLTableCellElement.cpp @@ -123,7 +123,7 @@ void HTMLTableCellElement::parseMappedAttribute(Attribute* attr) // used by table cells to share style decls created by the enclosing table. void HTMLTableCellElement::additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>& results) { - Node* p = parentNode(); + ContainerNode* p = parentNode(); while (p && !p->hasTagName(tableTag)) p = p->parentNode(); if (!p) @@ -173,4 +173,20 @@ void HTMLTableCellElement::addSubresourceAttributeURLs(ListHashSet<KURL>& urls) addSubresourceURL(urls, document()->completeURL(getAttribute(backgroundAttr))); } +HTMLTableCellElement* HTMLTableCellElement::cellAbove() const +{ + RenderObject* cellRenderer = renderer(); + if (!cellRenderer) + return 0; + if (!cellRenderer->isTableCell()) + return 0; + + RenderTableCell* tableCellRenderer = toRenderTableCell(cellRenderer); + RenderTableCell* cellAboveRenderer = tableCellRenderer->table()->cellAbove(tableCellRenderer); + if (!cellAboveRenderer) + return 0; + + return static_cast<HTMLTableCellElement*>(cellAboveRenderer->node()); } + +} // namespace WebCore |