| 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, 2009 Apple Inc. All rights reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2009, 2013 Apple Inc. All rights reserv
ed. |
| 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 |
| 11 * License as published by the Free Software Foundation; either | 11 * License as published by the Free Software Foundation; either |
| 12 * version 2 of the License, or (at your option) any later version. | 12 * version 2 of the License, or (at your option) any later version. |
| 13 * | 13 * |
| 14 * This library is distributed in the hope that it will be useful, | 14 * This library is distributed in the hope that it will be useful, |
| 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 17 * Library General Public License for more details. | 17 * Library General Public License for more details. |
| (...skipping 11 matching lines...) Expand all Loading... |
| 29 | 29 |
| 30 namespace WebCore { | 30 namespace WebCore { |
| 31 | 31 |
| 32 static const unsigned unsetRowIndex = 0x7FFFFFFF; | 32 static const unsigned unsetRowIndex = 0x7FFFFFFF; |
| 33 static const unsigned maxRowIndex = 0x7FFFFFFE; // 2,147,483,646 | 33 static const unsigned maxRowIndex = 0x7FFFFFFE; // 2,147,483,646 |
| 34 | 34 |
| 35 class RenderTableRow FINAL : public RenderBox { | 35 class RenderTableRow FINAL : public RenderBox { |
| 36 public: | 36 public: |
| 37 explicit RenderTableRow(Element*); | 37 explicit RenderTableRow(Element*); |
| 38 | 38 |
| 39 RenderObject* firstChild() const { ASSERT(children() == virtualChildren());
return children()->firstChild(); } | 39 RenderTableCell* firstCell() const; |
| 40 RenderObject* lastChild() const { ASSERT(children() == virtualChildren()); r
eturn children()->lastChild(); } | 40 RenderTableCell* lastCell() const; |
| 41 |
| 42 RenderTableRow* previousRow() const; |
| 43 RenderTableRow* nextRow() const; |
| 41 | 44 |
| 42 const RenderObjectChildList* children() const { return &m_children; } | 45 const RenderObjectChildList* children() const { return &m_children; } |
| 43 RenderObjectChildList* children() { return &m_children; } | 46 RenderObjectChildList* children() { return &m_children; } |
| 44 | 47 |
| 45 RenderTableSection* section() const { return toRenderTableSection(parent());
} | 48 RenderTableSection* section() const { return toRenderTableSection(parent());
} |
| 46 RenderTable* table() const { return toRenderTable(parent()->parent()); } | 49 RenderTable* table() const { return toRenderTable(parent()->parent()); } |
| 47 | 50 |
| 48 void paintOutlineForRowIfNeeded(PaintInfo&, const LayoutPoint&); | 51 void paintOutlineForRowIfNeeded(PaintInfo&, const LayoutPoint&); |
| 49 | 52 |
| 50 static RenderTableRow* createAnonymous(Document*); | 53 static RenderTableRow* createAnonymous(Document*); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 81 { | 84 { |
| 82 if (section()->hasSameDirectionAs(table())) | 85 if (section()->hasSameDirectionAs(table())) |
| 83 return style()->borderEnd(); | 86 return style()->borderEnd(); |
| 84 | 87 |
| 85 return style()->borderStart(); | 88 return style()->borderStart(); |
| 86 } | 89 } |
| 87 | 90 |
| 88 const BorderValue& borderAdjoiningStartCell(const RenderTableCell*) const; | 91 const BorderValue& borderAdjoiningStartCell(const RenderTableCell*) const; |
| 89 const BorderValue& borderAdjoiningEndCell(const RenderTableCell*) const; | 92 const BorderValue& borderAdjoiningEndCell(const RenderTableCell*) const; |
| 90 | 93 |
| 94 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion) OVERRIDE; |
| 95 |
| 91 private: | 96 private: |
| 92 virtual RenderObjectChildList* virtualChildren() OVERRIDE { return children(
); } | 97 virtual RenderObjectChildList* virtualChildren() OVERRIDE { return children(
); } |
| 93 virtual const RenderObjectChildList* virtualChildren() const OVERRIDE { retu
rn children(); } | 98 virtual const RenderObjectChildList* virtualChildren() const OVERRIDE { retu
rn children(); } |
| 94 | 99 |
| 95 virtual const char* renderName() const OVERRIDE { return (isAnonymous() || i
sPseudoElement()) ? "RenderTableRow (anonymous)" : "RenderTableRow"; } | 100 virtual const char* renderName() const OVERRIDE { return (isAnonymous() || i
sPseudoElement()) ? "RenderTableRow (anonymous)" : "RenderTableRow"; } |
| 96 | 101 |
| 97 virtual bool isTableRow() const OVERRIDE { return true; } | 102 virtual bool isTableRow() const OVERRIDE { return true; } |
| 98 | 103 |
| 99 virtual void willBeRemovedFromTree() OVERRIDE; | 104 virtual void willBeRemovedFromTree() OVERRIDE; |
| 100 | 105 |
| 101 virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) OV
ERRIDE; | 106 virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) OV
ERRIDE; |
| 102 virtual void layout() OVERRIDE; | 107 virtual void layout() OVERRIDE; |
| 103 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion) OVERRIDE; | |
| 104 | 108 |
| 105 virtual LayerType layerTypeRequired() const OVERRIDE | 109 virtual LayerType layerTypeRequired() const OVERRIDE |
| 106 { | 110 { |
| 107 if (hasTransform() || hasHiddenBackface() || hasClipPath() || createsGro
up() || isStickyPositioned() || style()->shouldCompositeForCurrentAnimations()) | 111 if (hasTransform() || hasHiddenBackface() || hasClipPath() || createsGro
up() || isStickyPositioned() || style()->shouldCompositeForCurrentAnimations()) |
| 108 return NormalLayer; | 112 return NormalLayer; |
| 109 | 113 |
| 110 if (hasOverflowClip()) | 114 if (hasOverflowClip()) |
| 111 return OverflowClipLayer; | 115 return OverflowClipLayer; |
| 112 | 116 |
| 113 return NoLayer; | 117 return NoLayer; |
| 114 } | 118 } |
| 115 | 119 |
| 116 virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE; | 120 virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE; |
| 117 | 121 |
| 118 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0) OVERRIDE; | 122 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0) OVERRIDE; |
| 119 | 123 |
| 120 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OV
ERRIDE; | 124 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OV
ERRIDE; |
| 121 | 125 |
| 126 void nextSibling() const WTF_DELETED_FUNCTION; |
| 127 void previousSibling() const WTF_DELETED_FUNCTION; |
| 128 |
| 122 RenderObjectChildList m_children; | 129 RenderObjectChildList m_children; |
| 123 unsigned m_rowIndex : 31; | 130 unsigned m_rowIndex : 31; |
| 124 }; | 131 }; |
| 125 | 132 |
| 126 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderTableRow, isTableRow()); | 133 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderTableRow, isTableRow()); |
| 127 | 134 |
| 135 inline RenderTableRow* RenderTableRow::previousRow() const |
| 136 { |
| 137 return toRenderTableRow(RenderObject::previousSibling()); |
| 138 } |
| 139 |
| 140 inline RenderTableRow* RenderTableRow::nextRow() const |
| 141 { |
| 142 return toRenderTableRow(RenderObject::nextSibling()); |
| 143 } |
| 144 |
| 145 inline RenderTableRow* RenderTableSection::firstRow() const |
| 146 { |
| 147 ASSERT(children() == virtualChildren()); |
| 148 return toRenderTableRow(children()->firstChild()); |
| 149 } |
| 150 |
| 151 inline RenderTableRow* RenderTableSection::lastRow() const |
| 152 { |
| 153 ASSERT(children() == virtualChildren()); |
| 154 return toRenderTableRow(children()->lastChild()); |
| 155 } |
| 156 |
| 128 } // namespace WebCore | 157 } // namespace WebCore |
| 129 | 158 |
| 130 #endif // RenderTableRow_h | 159 #endif // RenderTableRow_h |
| OLD | NEW |