summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderTable.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/RenderTable.h')
-rw-r--r--Source/WebCore/rendering/RenderTable.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/Source/WebCore/rendering/RenderTable.h b/Source/WebCore/rendering/RenderTable.h
index 390f2b367..f9f93867f 100644
--- a/Source/WebCore/rendering/RenderTable.h
+++ b/Source/WebCore/rendering/RenderTable.h
@@ -45,8 +45,6 @@ public:
explicit RenderTable(Node*);
virtual ~RenderTable();
- int getColumnPos(unsigned col) const { return m_columnPos[col]; }
-
// Per CSS 3 writing-mode: "The first and second values of the 'border-spacing' property represent spacing between columns
// and rows respectively, not necessarily the horizontal and vertical spacing respectively".
int hBorderSpacing() const { return m_hSpacing; }
@@ -129,8 +127,8 @@ public:
virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0);
struct ColumnStruct {
- ColumnStruct()
- : span(1)
+ explicit ColumnStruct(unsigned initialSpan = 1)
+ : span(initialSpan)
{
}
@@ -258,6 +256,8 @@ public:
void addCaption(const RenderTableCaption*);
void removeCaption(const RenderTableCaption*);
+ void addColumn(const RenderTableCol*);
+ void removeColumn(const RenderTableCol*);
protected:
virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
@@ -283,6 +283,9 @@ private:
RenderTableCol* slowColElement(unsigned col, bool* startEdge, bool* endEdge) const;
+ void updateColumnCache() const;
+ void invalidateCachedColumns();
+
virtual RenderBlock* firstLineBlock() const;
virtual void updateFirstLetter();
@@ -305,6 +308,7 @@ private:
mutable Vector<int> m_columnPos;
mutable Vector<ColumnStruct> m_columns;
mutable Vector<RenderTableCaption*> m_captions;
+ mutable Vector<RenderTableCol*> m_columnRenderers;
mutable RenderTableSection* m_head;
mutable RenderTableSection* m_foot;
@@ -315,10 +319,12 @@ private:
CollapsedBorderValues m_collapsedBorders;
const CollapsedBorderValue* m_currentBorder;
bool m_collapsedBordersValid : 1;
-
+
mutable bool m_hasColElements : 1;
mutable bool m_needsSectionRecalc : 1;
+
bool m_columnLogicalWidthChanged : 1;
+ mutable bool m_columnRenderersValid: 1;
short m_hSpacing;
short m_vSpacing;