| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) | 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) |
| 3 * (C) 1997 Torben Weis (weis@kde.org) | 3 * (C) 1997 Torben Weis (weis@kde.org) |
| 4 * (C) 1998 Waldo Bastian (bastian@kde.org) | 4 * (C) 1998 Waldo Bastian (bastian@kde.org) |
| 5 * (C) 1999 Lars Knoll (knoll@kde.org) | 5 * (C) 1999 Lars Knoll (knoll@kde.org) |
| 6 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 6 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 7 * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2010, 2011 Apple Inc. All rights
reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2010, 2011 Apple Inc. All rights
reserved. |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 #include "core/html/HTMLTableRowElement.h" | 39 #include "core/html/HTMLTableRowElement.h" |
| 40 #include "core/html/HTMLTableRowsCollection.h" | 40 #include "core/html/HTMLTableRowsCollection.h" |
| 41 #include "core/html/HTMLTableSectionElement.h" | 41 #include "core/html/HTMLTableSectionElement.h" |
| 42 #include "core/html/parser/HTMLParserIdioms.h" | 42 #include "core/html/parser/HTMLParserIdioms.h" |
| 43 #include "core/rendering/RenderTable.h" | 43 #include "core/rendering/RenderTable.h" |
| 44 | 44 |
| 45 namespace WebCore { | 45 namespace WebCore { |
| 46 | 46 |
| 47 using namespace HTMLNames; | 47 using namespace HTMLNames; |
| 48 | 48 |
| 49 HTMLTableElement::HTMLTableElement(const QualifiedName& tagName, Document* docum
ent) | 49 HTMLTableElement::HTMLTableElement(const QualifiedName& tagName, Document& docum
ent) |
| 50 : HTMLElement(tagName, document) | 50 : HTMLElement(tagName, document) |
| 51 , m_borderAttr(false) | 51 , m_borderAttr(false) |
| 52 , m_borderColorAttr(false) | 52 , m_borderColorAttr(false) |
| 53 , m_frameAttr(false) | 53 , m_frameAttr(false) |
| 54 , m_rulesAttr(UnsetRules) | 54 , m_rulesAttr(UnsetRules) |
| 55 , m_padding(1) | 55 , m_padding(1) |
| 56 { | 56 { |
| 57 ASSERT(hasTagName(tableTag)); | 57 ASSERT(hasTagName(tableTag)); |
| 58 ScriptWrappable::init(this); | 58 ScriptWrappable::init(this); |
| 59 } | 59 } |
| 60 | 60 |
| 61 PassRefPtr<HTMLTableElement> HTMLTableElement::create(Document* document) | 61 PassRefPtr<HTMLTableElement> HTMLTableElement::create(Document& document) |
| 62 { | 62 { |
| 63 return adoptRef(new HTMLTableElement(tableTag, document)); | 63 return adoptRef(new HTMLTableElement(tableTag, document)); |
| 64 } | 64 } |
| 65 | 65 |
| 66 PassRefPtr<HTMLTableElement> HTMLTableElement::create(const QualifiedName& tagNa
me, Document* document) | 66 PassRefPtr<HTMLTableElement> HTMLTableElement::create(const QualifiedName& tagNa
me, Document& document) |
| 67 { | 67 { |
| 68 return adoptRef(new HTMLTableElement(tagName, document)); | 68 return adoptRef(new HTMLTableElement(tagName, document)); |
| 69 } | 69 } |
| 70 | 70 |
| 71 HTMLTableCaptionElement* HTMLTableElement::caption() const | 71 HTMLTableCaptionElement* HTMLTableElement::caption() const |
| 72 { | 72 { |
| 73 for (Node* child = firstChild(); child; child = child->nextSibling()) { | 73 for (Node* child = firstChild(); child; child = child->nextSibling()) { |
| 74 if (child->hasTagName(captionTag)) | 74 if (child->hasTagName(captionTag)) |
| 75 return static_cast<HTMLTableCaptionElement*>(child); | 75 return static_cast<HTMLTableCaptionElement*>(child); |
| 76 } | 76 } |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 if (child->isElementNode() && !child->hasTagName(captionTag) && !child->
hasTagName(colgroupTag) && !child->hasTagName(theadTag)) | 122 if (child->isElementNode() && !child->hasTagName(captionTag) && !child->
hasTagName(colgroupTag) && !child->hasTagName(theadTag)) |
| 123 break; | 123 break; |
| 124 | 124 |
| 125 insertBefore(newFoot, child, es); | 125 insertBefore(newFoot, child, es); |
| 126 } | 126 } |
| 127 | 127 |
| 128 PassRefPtr<HTMLElement> HTMLTableElement::createTHead() | 128 PassRefPtr<HTMLElement> HTMLTableElement::createTHead() |
| 129 { | 129 { |
| 130 if (HTMLTableSectionElement* existingHead = tHead()) | 130 if (HTMLTableSectionElement* existingHead = tHead()) |
| 131 return existingHead; | 131 return existingHead; |
| 132 RefPtr<HTMLTableSectionElement> head = HTMLTableSectionElement::create(thead
Tag, &document()); | 132 RefPtr<HTMLTableSectionElement> head = HTMLTableSectionElement::create(thead
Tag, document()); |
| 133 setTHead(head, IGNORE_EXCEPTION); | 133 setTHead(head, IGNORE_EXCEPTION); |
| 134 return head.release(); | 134 return head.release(); |
| 135 } | 135 } |
| 136 | 136 |
| 137 void HTMLTableElement::deleteTHead() | 137 void HTMLTableElement::deleteTHead() |
| 138 { | 138 { |
| 139 removeChild(tHead(), IGNORE_EXCEPTION); | 139 removeChild(tHead(), IGNORE_EXCEPTION); |
| 140 } | 140 } |
| 141 | 141 |
| 142 PassRefPtr<HTMLElement> HTMLTableElement::createTFoot() | 142 PassRefPtr<HTMLElement> HTMLTableElement::createTFoot() |
| 143 { | 143 { |
| 144 if (HTMLTableSectionElement* existingFoot = tFoot()) | 144 if (HTMLTableSectionElement* existingFoot = tFoot()) |
| 145 return existingFoot; | 145 return existingFoot; |
| 146 RefPtr<HTMLTableSectionElement> foot = HTMLTableSectionElement::create(tfoot
Tag, &document()); | 146 RefPtr<HTMLTableSectionElement> foot = HTMLTableSectionElement::create(tfoot
Tag, document()); |
| 147 setTFoot(foot, IGNORE_EXCEPTION); | 147 setTFoot(foot, IGNORE_EXCEPTION); |
| 148 return foot.release(); | 148 return foot.release(); |
| 149 } | 149 } |
| 150 | 150 |
| 151 void HTMLTableElement::deleteTFoot() | 151 void HTMLTableElement::deleteTFoot() |
| 152 { | 152 { |
| 153 removeChild(tFoot(), IGNORE_EXCEPTION); | 153 removeChild(tFoot(), IGNORE_EXCEPTION); |
| 154 } | 154 } |
| 155 | 155 |
| 156 PassRefPtr<HTMLElement> HTMLTableElement::createTBody() | 156 PassRefPtr<HTMLElement> HTMLTableElement::createTBody() |
| 157 { | 157 { |
| 158 RefPtr<HTMLTableSectionElement> body = HTMLTableSectionElement::create(tbody
Tag, &document()); | 158 RefPtr<HTMLTableSectionElement> body = HTMLTableSectionElement::create(tbody
Tag, document()); |
| 159 Node* referenceElement = lastBody() ? lastBody()->nextSibling() : 0; | 159 Node* referenceElement = lastBody() ? lastBody()->nextSibling() : 0; |
| 160 | 160 |
| 161 insertBefore(body, referenceElement); | 161 insertBefore(body, referenceElement); |
| 162 return body.release(); | 162 return body.release(); |
| 163 } | 163 } |
| 164 | 164 |
| 165 PassRefPtr<HTMLElement> HTMLTableElement::createCaption() | 165 PassRefPtr<HTMLElement> HTMLTableElement::createCaption() |
| 166 { | 166 { |
| 167 if (HTMLTableCaptionElement* existingCaption = caption()) | 167 if (HTMLTableCaptionElement* existingCaption = caption()) |
| 168 return existingCaption; | 168 return existingCaption; |
| 169 RefPtr<HTMLTableCaptionElement> caption = HTMLTableCaptionElement::create(ca
ptionTag, &document()); | 169 RefPtr<HTMLTableCaptionElement> caption = HTMLTableCaptionElement::create(ca
ptionTag, document()); |
| 170 setCaption(caption, IGNORE_EXCEPTION); | 170 setCaption(caption, IGNORE_EXCEPTION); |
| 171 return caption.release(); | 171 return caption.release(); |
| 172 } | 172 } |
| 173 | 173 |
| 174 void HTMLTableElement::deleteCaption() | 174 void HTMLTableElement::deleteCaption() |
| 175 { | 175 { |
| 176 removeChild(caption(), IGNORE_EXCEPTION); | 176 removeChild(caption(), IGNORE_EXCEPTION); |
| 177 } | 177 } |
| 178 | 178 |
| 179 HTMLTableSectionElement* HTMLTableElement::lastBody() const | 179 HTMLTableSectionElement* HTMLTableElement::lastBody() const |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 lastRow = row; | 211 lastRow = row; |
| 212 } | 212 } |
| 213 } | 213 } |
| 214 | 214 |
| 215 RefPtr<ContainerNode> parent; | 215 RefPtr<ContainerNode> parent; |
| 216 if (lastRow) | 216 if (lastRow) |
| 217 parent = row ? row->parentNode() : lastRow->parentNode(); | 217 parent = row ? row->parentNode() : lastRow->parentNode(); |
| 218 else { | 218 else { |
| 219 parent = lastBody(); | 219 parent = lastBody(); |
| 220 if (!parent) { | 220 if (!parent) { |
| 221 RefPtr<HTMLTableSectionElement> newBody = HTMLTableSectionElement::c
reate(tbodyTag, &document()); | 221 RefPtr<HTMLTableSectionElement> newBody = HTMLTableSectionElement::c
reate(tbodyTag, document()); |
| 222 RefPtr<HTMLTableRowElement> newRow = HTMLTableRowElement::create(&do
cument()); | 222 RefPtr<HTMLTableRowElement> newRow = HTMLTableRowElement::create(doc
ument()); |
| 223 newBody->appendChild(newRow, es); | 223 newBody->appendChild(newRow, es); |
| 224 appendChild(newBody.release(), es); | 224 appendChild(newBody.release(), es); |
| 225 return newRow.release(); | 225 return newRow.release(); |
| 226 } | 226 } |
| 227 } | 227 } |
| 228 | 228 |
| 229 RefPtr<HTMLTableRowElement> newRow = HTMLTableRowElement::create(&document()
); | 229 RefPtr<HTMLTableRowElement> newRow = HTMLTableRowElement::create(document())
; |
| 230 parent->insertBefore(newRow, row.get(), es); | 230 parent->insertBefore(newRow, row.get(), es); |
| 231 return newRow.release(); | 231 return newRow.release(); |
| 232 } | 232 } |
| 233 | 233 |
| 234 void HTMLTableElement::deleteRow(int index, ExceptionState& es) | 234 void HTMLTableElement::deleteRow(int index, ExceptionState& es) |
| 235 { | 235 { |
| 236 HTMLTableRowElement* row = 0; | 236 HTMLTableRowElement* row = 0; |
| 237 if (index == -1) | 237 if (index == -1) |
| 238 row = HTMLTableRowsCollection::lastRow(this); | 238 row = HTMLTableRowsCollection::lastRow(this); |
| 239 else { | 239 else { |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 573 } | 573 } |
| 574 | 574 |
| 575 void HTMLTableElement::addSubresourceAttributeURLs(ListHashSet<KURL>& urls) cons
t | 575 void HTMLTableElement::addSubresourceAttributeURLs(ListHashSet<KURL>& urls) cons
t |
| 576 { | 576 { |
| 577 HTMLElement::addSubresourceAttributeURLs(urls); | 577 HTMLElement::addSubresourceAttributeURLs(urls); |
| 578 | 578 |
| 579 addSubresourceURL(urls, document().completeURL(getAttribute(backgroundAttr))
); | 579 addSubresourceURL(urls, document().completeURL(getAttribute(backgroundAttr))
); |
| 580 } | 580 } |
| 581 | 581 |
| 582 } | 582 } |
| OLD | NEW |