| 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 { | 68 { |
| 69 } | 69 } |
| 70 | 70 |
| 71 DEFINE_NODE_FACTORY(HTMLTableElement) | 71 DEFINE_NODE_FACTORY(HTMLTableElement) |
| 72 | 72 |
| 73 HTMLTableCaptionElement* HTMLTableElement::caption() const | 73 HTMLTableCaptionElement* HTMLTableElement::caption() const |
| 74 { | 74 { |
| 75 return Traversal<HTMLTableCaptionElement>::firstChild(*this); | 75 return Traversal<HTMLTableCaptionElement>::firstChild(*this); |
| 76 } | 76 } |
| 77 | 77 |
| 78 void HTMLTableElement::setCaption(PassRefPtrWillBeRawPtr<HTMLTableCaptionElement
> newCaption, ExceptionState& exceptionState) | 78 void HTMLTableElement::setCaption(RawPtr<HTMLTableCaptionElement> newCaption, Ex
ceptionState& exceptionState) |
| 79 { | 79 { |
| 80 deleteCaption(); | 80 deleteCaption(); |
| 81 insertBefore(newCaption, firstChild(), exceptionState); | 81 insertBefore(newCaption, firstChild(), exceptionState); |
| 82 } | 82 } |
| 83 | 83 |
| 84 HTMLTableSectionElement* HTMLTableElement::tHead() const | 84 HTMLTableSectionElement* HTMLTableElement::tHead() const |
| 85 { | 85 { |
| 86 return toHTMLTableSectionElement(Traversal<HTMLElement>::firstChild(*this, H
asHTMLTagName(theadTag))); | 86 return toHTMLTableSectionElement(Traversal<HTMLElement>::firstChild(*this, H
asHTMLTagName(theadTag))); |
| 87 } | 87 } |
| 88 | 88 |
| 89 void HTMLTableElement::setTHead(PassRefPtrWillBeRawPtr<HTMLTableSectionElement>
newHead, ExceptionState& exceptionState) | 89 void HTMLTableElement::setTHead(RawPtr<HTMLTableSectionElement> newHead, Excepti
onState& exceptionState) |
| 90 { | 90 { |
| 91 deleteTHead(); | 91 deleteTHead(); |
| 92 | 92 |
| 93 HTMLElement* child; | 93 HTMLElement* child; |
| 94 for (child = Traversal<HTMLElement>::firstChild(*this); child; child = Trave
rsal<HTMLElement>::nextSibling(*child)) { | 94 for (child = Traversal<HTMLElement>::firstChild(*this); child; child = Trave
rsal<HTMLElement>::nextSibling(*child)) { |
| 95 if (!child->hasTagName(captionTag) && !child->hasTagName(colgroupTag)) | 95 if (!child->hasTagName(captionTag) && !child->hasTagName(colgroupTag)) |
| 96 break; | 96 break; |
| 97 } | 97 } |
| 98 | 98 |
| 99 insertBefore(newHead, child, exceptionState); | 99 insertBefore(newHead, child, exceptionState); |
| 100 } | 100 } |
| 101 | 101 |
| 102 HTMLTableSectionElement* HTMLTableElement::tFoot() const | 102 HTMLTableSectionElement* HTMLTableElement::tFoot() const |
| 103 { | 103 { |
| 104 return toHTMLTableSectionElement(Traversal<HTMLElement>::firstChild(*this, H
asHTMLTagName(tfootTag))); | 104 return toHTMLTableSectionElement(Traversal<HTMLElement>::firstChild(*this, H
asHTMLTagName(tfootTag))); |
| 105 } | 105 } |
| 106 | 106 |
| 107 void HTMLTableElement::setTFoot(PassRefPtrWillBeRawPtr<HTMLTableSectionElement>
newFoot, ExceptionState& exceptionState) | 107 void HTMLTableElement::setTFoot(RawPtr<HTMLTableSectionElement> newFoot, Excepti
onState& exceptionState) |
| 108 { | 108 { |
| 109 deleteTFoot(); | 109 deleteTFoot(); |
| 110 | 110 |
| 111 HTMLElement* child; | 111 HTMLElement* child; |
| 112 for (child = Traversal<HTMLElement>::firstChild(*this); child; child = Trave
rsal<HTMLElement>::nextSibling(*child)) { | 112 for (child = Traversal<HTMLElement>::firstChild(*this); child; child = Trave
rsal<HTMLElement>::nextSibling(*child)) { |
| 113 if (!child->hasTagName(captionTag) && !child->hasTagName(colgroupTag) &&
!child->hasTagName(theadTag)) | 113 if (!child->hasTagName(captionTag) && !child->hasTagName(colgroupTag) &&
!child->hasTagName(theadTag)) |
| 114 break; | 114 break; |
| 115 } | 115 } |
| 116 | 116 |
| 117 insertBefore(newFoot, child, exceptionState); | 117 insertBefore(newFoot, child, exceptionState); |
| 118 } | 118 } |
| 119 | 119 |
| 120 PassRefPtrWillBeRawPtr<HTMLTableSectionElement> HTMLTableElement::createTHead() | 120 RawPtr<HTMLTableSectionElement> HTMLTableElement::createTHead() |
| 121 { | 121 { |
| 122 if (HTMLTableSectionElement* existingHead = tHead()) | 122 if (HTMLTableSectionElement* existingHead = tHead()) |
| 123 return existingHead; | 123 return existingHead; |
| 124 RefPtrWillBeRawPtr<HTMLTableSectionElement> head = HTMLTableSectionElement::
create(theadTag, document()); | 124 RawPtr<HTMLTableSectionElement> head = HTMLTableSectionElement::create(thead
Tag, document()); |
| 125 setTHead(head, IGNORE_EXCEPTION); | 125 setTHead(head, IGNORE_EXCEPTION); |
| 126 return head.release(); | 126 return head.release(); |
| 127 } | 127 } |
| 128 | 128 |
| 129 void HTMLTableElement::deleteTHead() | 129 void HTMLTableElement::deleteTHead() |
| 130 { | 130 { |
| 131 removeChild(tHead(), IGNORE_EXCEPTION); | 131 removeChild(tHead(), IGNORE_EXCEPTION); |
| 132 } | 132 } |
| 133 | 133 |
| 134 PassRefPtrWillBeRawPtr<HTMLTableSectionElement> HTMLTableElement::createTFoot() | 134 RawPtr<HTMLTableSectionElement> HTMLTableElement::createTFoot() |
| 135 { | 135 { |
| 136 if (HTMLTableSectionElement* existingFoot = tFoot()) | 136 if (HTMLTableSectionElement* existingFoot = tFoot()) |
| 137 return existingFoot; | 137 return existingFoot; |
| 138 RefPtrWillBeRawPtr<HTMLTableSectionElement> foot = HTMLTableSectionElement::
create(tfootTag, document()); | 138 RawPtr<HTMLTableSectionElement> foot = HTMLTableSectionElement::create(tfoot
Tag, document()); |
| 139 setTFoot(foot, IGNORE_EXCEPTION); | 139 setTFoot(foot, IGNORE_EXCEPTION); |
| 140 return foot.release(); | 140 return foot.release(); |
| 141 } | 141 } |
| 142 | 142 |
| 143 void HTMLTableElement::deleteTFoot() | 143 void HTMLTableElement::deleteTFoot() |
| 144 { | 144 { |
| 145 removeChild(tFoot(), IGNORE_EXCEPTION); | 145 removeChild(tFoot(), IGNORE_EXCEPTION); |
| 146 } | 146 } |
| 147 | 147 |
| 148 PassRefPtrWillBeRawPtr<HTMLTableSectionElement> HTMLTableElement::createTBody() | 148 RawPtr<HTMLTableSectionElement> HTMLTableElement::createTBody() |
| 149 { | 149 { |
| 150 RefPtrWillBeRawPtr<HTMLTableSectionElement> body = HTMLTableSectionElement::
create(tbodyTag, document()); | 150 RawPtr<HTMLTableSectionElement> body = HTMLTableSectionElement::create(tbody
Tag, document()); |
| 151 Node* referenceElement = lastBody() ? lastBody()->nextSibling() : 0; | 151 Node* referenceElement = lastBody() ? lastBody()->nextSibling() : 0; |
| 152 | 152 |
| 153 insertBefore(body, referenceElement); | 153 insertBefore(body, referenceElement); |
| 154 return body.release(); | 154 return body.release(); |
| 155 } | 155 } |
| 156 | 156 |
| 157 PassRefPtrWillBeRawPtr<HTMLTableCaptionElement> HTMLTableElement::createCaption(
) | 157 RawPtr<HTMLTableCaptionElement> HTMLTableElement::createCaption() |
| 158 { | 158 { |
| 159 if (HTMLTableCaptionElement* existingCaption = caption()) | 159 if (HTMLTableCaptionElement* existingCaption = caption()) |
| 160 return existingCaption; | 160 return existingCaption; |
| 161 RefPtrWillBeRawPtr<HTMLTableCaptionElement> caption = HTMLTableCaptionElemen
t::create(document()); | 161 RawPtr<HTMLTableCaptionElement> caption = HTMLTableCaptionElement::create(do
cument()); |
| 162 setCaption(caption, IGNORE_EXCEPTION); | 162 setCaption(caption, IGNORE_EXCEPTION); |
| 163 return caption.release(); | 163 return caption.release(); |
| 164 } | 164 } |
| 165 | 165 |
| 166 void HTMLTableElement::deleteCaption() | 166 void HTMLTableElement::deleteCaption() |
| 167 { | 167 { |
| 168 removeChild(caption(), IGNORE_EXCEPTION); | 168 removeChild(caption(), IGNORE_EXCEPTION); |
| 169 } | 169 } |
| 170 | 170 |
| 171 HTMLTableSectionElement* HTMLTableElement::lastBody() const | 171 HTMLTableSectionElement* HTMLTableElement::lastBody() const |
| 172 { | 172 { |
| 173 return toHTMLTableSectionElement(Traversal<HTMLElement>::lastChild(*this, Ha
sHTMLTagName(tbodyTag))); | 173 return toHTMLTableSectionElement(Traversal<HTMLElement>::lastChild(*this, Ha
sHTMLTagName(tbodyTag))); |
| 174 } | 174 } |
| 175 | 175 |
| 176 PassRefPtrWillBeRawPtr<HTMLTableRowElement> HTMLTableElement::insertRow(int inde
x, ExceptionState& exceptionState) | 176 RawPtr<HTMLTableRowElement> HTMLTableElement::insertRow(int index, ExceptionStat
e& exceptionState) |
| 177 { | 177 { |
| 178 if (index < -1) { | 178 if (index < -1) { |
| 179 exceptionState.throwDOMException(IndexSizeError, "The index provided ("
+ String::number(index) + ") is less than -1."); | 179 exceptionState.throwDOMException(IndexSizeError, "The index provided ("
+ String::number(index) + ") is less than -1."); |
| 180 return nullptr; | 180 return nullptr; |
| 181 } | 181 } |
| 182 | 182 |
| 183 RefPtrWillBeRawPtr<Node> protectFromMutationEvents(this); | 183 RawPtr<Node> protectFromMutationEvents(this); |
| 184 | 184 |
| 185 RefPtrWillBeRawPtr<HTMLTableRowElement> lastRow = nullptr; | 185 RawPtr<HTMLTableRowElement> lastRow = nullptr; |
| 186 RefPtrWillBeRawPtr<HTMLTableRowElement> row = nullptr; | 186 RawPtr<HTMLTableRowElement> row = nullptr; |
| 187 if (index == -1) { | 187 if (index == -1) { |
| 188 lastRow = HTMLTableRowsCollection::lastRow(*this); | 188 lastRow = HTMLTableRowsCollection::lastRow(*this); |
| 189 } else { | 189 } else { |
| 190 for (int i = 0; i <= index; ++i) { | 190 for (int i = 0; i <= index; ++i) { |
| 191 row = HTMLTableRowsCollection::rowAfter(*this, lastRow.get()); | 191 row = HTMLTableRowsCollection::rowAfter(*this, lastRow.get()); |
| 192 if (!row) { | 192 if (!row) { |
| 193 if (i != index) { | 193 if (i != index) { |
| 194 exceptionState.throwDOMException(IndexSizeError, "The index
provided (" + String::number(index) + ") is greater than the number of rows in t
he table (" + String::number(i) + ")."); | 194 exceptionState.throwDOMException(IndexSizeError, "The index
provided (" + String::number(index) + ") is greater than the number of rows in t
he table (" + String::number(i) + ")."); |
| 195 return nullptr; | 195 return nullptr; |
| 196 } | 196 } |
| 197 break; | 197 break; |
| 198 } | 198 } |
| 199 lastRow = row; | 199 lastRow = row; |
| 200 } | 200 } |
| 201 } | 201 } |
| 202 | 202 |
| 203 RefPtrWillBeRawPtr<ContainerNode> parent; | 203 RawPtr<ContainerNode> parent; |
| 204 if (lastRow) { | 204 if (lastRow) { |
| 205 parent = row ? row->parentNode() : lastRow->parentNode(); | 205 parent = row ? row->parentNode() : lastRow->parentNode(); |
| 206 } else { | 206 } else { |
| 207 parent = lastBody(); | 207 parent = lastBody(); |
| 208 if (!parent) { | 208 if (!parent) { |
| 209 RefPtrWillBeRawPtr<HTMLTableSectionElement> newBody = HTMLTableSecti
onElement::create(tbodyTag, document()); | 209 RawPtr<HTMLTableSectionElement> newBody = HTMLTableSectionElement::c
reate(tbodyTag, document()); |
| 210 RefPtrWillBeRawPtr<HTMLTableRowElement> newRow = HTMLTableRowElement
::create(document()); | 210 RawPtr<HTMLTableRowElement> newRow = HTMLTableRowElement::create(doc
ument()); |
| 211 newBody->appendChild(newRow, exceptionState); | 211 newBody->appendChild(newRow, exceptionState); |
| 212 appendChild(newBody.release(), exceptionState); | 212 appendChild(newBody.release(), exceptionState); |
| 213 return newRow.release(); | 213 return newRow.release(); |
| 214 } | 214 } |
| 215 } | 215 } |
| 216 | 216 |
| 217 RefPtrWillBeRawPtr<HTMLTableRowElement> newRow = HTMLTableRowElement::create
(document()); | 217 RawPtr<HTMLTableRowElement> newRow = HTMLTableRowElement::create(document())
; |
| 218 parent->insertBefore(newRow, row.get(), exceptionState); | 218 parent->insertBefore(newRow, row.get(), exceptionState); |
| 219 return newRow.release(); | 219 return newRow.release(); |
| 220 } | 220 } |
| 221 | 221 |
| 222 void HTMLTableElement::deleteRow(int index, ExceptionState& exceptionState) | 222 void HTMLTableElement::deleteRow(int index, ExceptionState& exceptionState) |
| 223 { | 223 { |
| 224 if (index < -1) { | 224 if (index < -1) { |
| 225 exceptionState.throwDOMException(IndexSizeError, "The index provided ("
+ String::number(index) + ") is less than -1."); | 225 exceptionState.throwDOMException(IndexSizeError, "The index provided ("
+ String::number(index) + ") is less than -1."); |
| 226 return; | 226 return; |
| 227 } | 227 } |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 } else if (name == borderAttr) { | 291 } else if (name == borderAttr) { |
| 292 addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderWidth, p
arseBorderWidthAttribute(value), CSSPrimitiveValue::UnitType::Pixels); | 292 addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderWidth, p
arseBorderWidthAttribute(value), CSSPrimitiveValue::UnitType::Pixels); |
| 293 } else if (name == bordercolorAttr) { | 293 } else if (name == bordercolorAttr) { |
| 294 if (!value.isEmpty()) | 294 if (!value.isEmpty()) |
| 295 addHTMLColorToStyle(style, CSSPropertyBorderColor, value); | 295 addHTMLColorToStyle(style, CSSPropertyBorderColor, value); |
| 296 } else if (name == bgcolorAttr) { | 296 } else if (name == bgcolorAttr) { |
| 297 addHTMLColorToStyle(style, CSSPropertyBackgroundColor, value); | 297 addHTMLColorToStyle(style, CSSPropertyBackgroundColor, value); |
| 298 } else if (name == backgroundAttr) { | 298 } else if (name == backgroundAttr) { |
| 299 String url = stripLeadingAndTrailingHTMLSpaces(value); | 299 String url = stripLeadingAndTrailingHTMLSpaces(value); |
| 300 if (!url.isEmpty()) { | 300 if (!url.isEmpty()) { |
| 301 RefPtrWillBeRawPtr<CSSImageValue> imageValue = CSSImageValue::create
(url, document().completeURL(url)); | 301 RawPtr<CSSImageValue> imageValue = CSSImageValue::create(url, docume
nt().completeURL(url)); |
| 302 imageValue->setReferrer(Referrer(document().outgoingReferrer(), docu
ment().getReferrerPolicy())); | 302 imageValue->setReferrer(Referrer(document().outgoingReferrer(), docu
ment().getReferrerPolicy())); |
| 303 style->setProperty(CSSProperty(CSSPropertyBackgroundImage, imageValu
e.release())); | 303 style->setProperty(CSSProperty(CSSPropertyBackgroundImage, imageValu
e.release())); |
| 304 } | 304 } |
| 305 } else if (name == valignAttr) { | 305 } else if (name == valignAttr) { |
| 306 if (!value.isEmpty()) | 306 if (!value.isEmpty()) |
| 307 addPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAl
ign, value); | 307 addPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAl
ign, value); |
| 308 } else if (name == cellspacingAttr) { | 308 } else if (name == cellspacingAttr) { |
| 309 if (!value.isEmpty()) | 309 if (!value.isEmpty()) |
| 310 addHTMLLengthToStyle(style, CSSPropertyBorderSpacing, value); | 310 addHTMLLengthToStyle(style, CSSPropertyBorderSpacing, value); |
| 311 } else if (name == alignAttr) { | 311 } else if (name == alignAttr) { |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 384 } else { | 384 } else { |
| 385 HTMLElement::parseAttribute(name, oldValue, value); | 385 HTMLElement::parseAttribute(name, oldValue, value); |
| 386 } | 386 } |
| 387 | 387 |
| 388 if (bordersBefore != getCellBorders() || oldPadding != m_padding) { | 388 if (bordersBefore != getCellBorders() || oldPadding != m_padding) { |
| 389 m_sharedCellStyle = nullptr; | 389 m_sharedCellStyle = nullptr; |
| 390 setNeedsTableStyleRecalc(); | 390 setNeedsTableStyleRecalc(); |
| 391 } | 391 } |
| 392 } | 392 } |
| 393 | 393 |
| 394 static PassRefPtrWillBeRawPtr<StylePropertySet> createBorderStyle(CSSValueID val
ue) | 394 static RawPtr<StylePropertySet> createBorderStyle(CSSValueID value) |
| 395 { | 395 { |
| 396 RefPtrWillBeRawPtr<MutableStylePropertySet> style = MutableStylePropertySet:
:create(HTMLQuirksMode); | 396 RawPtr<MutableStylePropertySet> style = MutableStylePropertySet::create(HTML
QuirksMode); |
| 397 style->setProperty(CSSPropertyBorderTopStyle, value); | 397 style->setProperty(CSSPropertyBorderTopStyle, value); |
| 398 style->setProperty(CSSPropertyBorderBottomStyle, value); | 398 style->setProperty(CSSPropertyBorderBottomStyle, value); |
| 399 style->setProperty(CSSPropertyBorderLeftStyle, value); | 399 style->setProperty(CSSPropertyBorderLeftStyle, value); |
| 400 style->setProperty(CSSPropertyBorderRightStyle, value); | 400 style->setProperty(CSSPropertyBorderRightStyle, value); |
| 401 return style.release(); | 401 return style.release(); |
| 402 } | 402 } |
| 403 | 403 |
| 404 const StylePropertySet* HTMLTableElement::additionalPresentationAttributeStyle() | 404 const StylePropertySet* HTMLTableElement::additionalPresentationAttributeStyle() |
| 405 { | 405 { |
| 406 if (m_frameAttr) | 406 if (m_frameAttr) |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 440 if (!m_borderAttr) | 440 if (!m_borderAttr) |
| 441 return NoBorders; | 441 return NoBorders; |
| 442 if (m_borderColorAttr) | 442 if (m_borderColorAttr) |
| 443 return SolidBorders; | 443 return SolidBorders; |
| 444 return InsetBorders; | 444 return InsetBorders; |
| 445 } | 445 } |
| 446 ASSERT_NOT_REACHED(); | 446 ASSERT_NOT_REACHED(); |
| 447 return NoBorders; | 447 return NoBorders; |
| 448 } | 448 } |
| 449 | 449 |
| 450 PassRefPtrWillBeRawPtr<StylePropertySet> HTMLTableElement::createSharedCellStyle
() | 450 RawPtr<StylePropertySet> HTMLTableElement::createSharedCellStyle() |
| 451 { | 451 { |
| 452 RefPtrWillBeRawPtr<MutableStylePropertySet> style = MutableStylePropertySet:
:create(HTMLQuirksMode); | 452 RawPtr<MutableStylePropertySet> style = MutableStylePropertySet::create(HTML
QuirksMode); |
| 453 | 453 |
| 454 switch (getCellBorders()) { | 454 switch (getCellBorders()) { |
| 455 case SolidBordersColsOnly: | 455 case SolidBordersColsOnly: |
| 456 style->setProperty(CSSPropertyBorderLeftWidth, CSSValueThin); | 456 style->setProperty(CSSPropertyBorderLeftWidth, CSSValueThin); |
| 457 style->setProperty(CSSPropertyBorderRightWidth, CSSValueThin); | 457 style->setProperty(CSSPropertyBorderRightWidth, CSSValueThin); |
| 458 style->setProperty(CSSPropertyBorderLeftStyle, CSSValueSolid); | 458 style->setProperty(CSSPropertyBorderLeftStyle, CSSValueSolid); |
| 459 style->setProperty(CSSPropertyBorderRightStyle, CSSValueSolid); | 459 style->setProperty(CSSPropertyBorderRightStyle, CSSValueSolid); |
| 460 style->setProperty(CSSPropertyBorderColor, cssValuePool().createInherite
dValue()); | 460 style->setProperty(CSSPropertyBorderColor, cssValuePool().createInherite
dValue()); |
| 461 break; | 461 break; |
| 462 case SolidBordersRowsOnly: | 462 case SolidBordersRowsOnly: |
| (...skipping 24 matching lines...) Expand all Loading... |
| 487 return style.release(); | 487 return style.release(); |
| 488 } | 488 } |
| 489 | 489 |
| 490 const StylePropertySet* HTMLTableElement::additionalCellStyle() | 490 const StylePropertySet* HTMLTableElement::additionalCellStyle() |
| 491 { | 491 { |
| 492 if (!m_sharedCellStyle) | 492 if (!m_sharedCellStyle) |
| 493 m_sharedCellStyle = createSharedCellStyle(); | 493 m_sharedCellStyle = createSharedCellStyle(); |
| 494 return m_sharedCellStyle.get(); | 494 return m_sharedCellStyle.get(); |
| 495 } | 495 } |
| 496 | 496 |
| 497 static PassRefPtrWillBeRawPtr<StylePropertySet> createGroupBorderStyle(int rows) | 497 static RawPtr<StylePropertySet> createGroupBorderStyle(int rows) |
| 498 { | 498 { |
| 499 RefPtrWillBeRawPtr<MutableStylePropertySet> style = MutableStylePropertySet:
:create(HTMLQuirksMode); | 499 RawPtr<MutableStylePropertySet> style = MutableStylePropertySet::create(HTML
QuirksMode); |
| 500 if (rows) { | 500 if (rows) { |
| 501 style->setProperty(CSSPropertyBorderTopWidth, CSSValueThin); | 501 style->setProperty(CSSPropertyBorderTopWidth, CSSValueThin); |
| 502 style->setProperty(CSSPropertyBorderBottomWidth, CSSValueThin); | 502 style->setProperty(CSSPropertyBorderBottomWidth, CSSValueThin); |
| 503 style->setProperty(CSSPropertyBorderTopStyle, CSSValueSolid); | 503 style->setProperty(CSSPropertyBorderTopStyle, CSSValueSolid); |
| 504 style->setProperty(CSSPropertyBorderBottomStyle, CSSValueSolid); | 504 style->setProperty(CSSPropertyBorderBottomStyle, CSSValueSolid); |
| 505 } else { | 505 } else { |
| 506 style->setProperty(CSSPropertyBorderLeftWidth, CSSValueThin); | 506 style->setProperty(CSSPropertyBorderLeftWidth, CSSValueThin); |
| 507 style->setProperty(CSSPropertyBorderRightWidth, CSSValueThin); | 507 style->setProperty(CSSPropertyBorderRightWidth, CSSValueThin); |
| 508 style->setProperty(CSSPropertyBorderLeftStyle, CSSValueSolid); | 508 style->setProperty(CSSPropertyBorderLeftStyle, CSSValueSolid); |
| 509 style->setProperty(CSSPropertyBorderRightStyle, CSSValueSolid); | 509 style->setProperty(CSSPropertyBorderRightStyle, CSSValueSolid); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 532 bool HTMLTableElement::hasLegalLinkAttribute(const QualifiedName& name) const | 532 bool HTMLTableElement::hasLegalLinkAttribute(const QualifiedName& name) const |
| 533 { | 533 { |
| 534 return name == backgroundAttr || HTMLElement::hasLegalLinkAttribute(name); | 534 return name == backgroundAttr || HTMLElement::hasLegalLinkAttribute(name); |
| 535 } | 535 } |
| 536 | 536 |
| 537 const QualifiedName& HTMLTableElement::subResourceAttributeName() const | 537 const QualifiedName& HTMLTableElement::subResourceAttributeName() const |
| 538 { | 538 { |
| 539 return backgroundAttr; | 539 return backgroundAttr; |
| 540 } | 540 } |
| 541 | 541 |
| 542 PassRefPtrWillBeRawPtr<HTMLTableRowsCollection> HTMLTableElement::rows() | 542 RawPtr<HTMLTableRowsCollection> HTMLTableElement::rows() |
| 543 { | 543 { |
| 544 return ensureCachedCollection<HTMLTableRowsCollection>(TableRows); | 544 return ensureCachedCollection<HTMLTableRowsCollection>(TableRows); |
| 545 } | 545 } |
| 546 | 546 |
| 547 PassRefPtrWillBeRawPtr<HTMLCollection> HTMLTableElement::tBodies() | 547 RawPtr<HTMLCollection> HTMLTableElement::tBodies() |
| 548 { | 548 { |
| 549 return ensureCachedCollection<HTMLCollection>(TableTBodies); | 549 return ensureCachedCollection<HTMLCollection>(TableTBodies); |
| 550 } | 550 } |
| 551 | 551 |
| 552 const AtomicString& HTMLTableElement::rules() const | 552 const AtomicString& HTMLTableElement::rules() const |
| 553 { | 553 { |
| 554 return getAttribute(rulesAttr); | 554 return getAttribute(rulesAttr); |
| 555 } | 555 } |
| 556 | 556 |
| 557 const AtomicString& HTMLTableElement::summary() const | 557 const AtomicString& HTMLTableElement::summary() const |
| 558 { | 558 { |
| 559 return getAttribute(summaryAttr); | 559 return getAttribute(summaryAttr); |
| 560 } | 560 } |
| 561 | 561 |
| 562 DEFINE_TRACE(HTMLTableElement) | 562 DEFINE_TRACE(HTMLTableElement) |
| 563 { | 563 { |
| 564 visitor->trace(m_sharedCellStyle); | 564 visitor->trace(m_sharedCellStyle); |
| 565 HTMLElement::trace(visitor); | 565 HTMLElement::trace(visitor); |
| 566 } | 566 } |
| 567 | 567 |
| 568 } // namespace blink | 568 } // namespace blink |
| OLD | NEW |