X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2FWebKit%2FSource%2Fcore%2Frendering%2FRenderTable.h;h=9c460df3735c95312d3bb643d589df882166a65e;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=0b6901f759f1331e3526b1edd99d5aaab84d24fd;hpb=7338fba38ba696536d1cc9d389afd716a6ab2fe6;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/WebKit/Source/core/rendering/RenderTable.h b/src/third_party/WebKit/Source/core/rendering/RenderTable.h index 0b6901f..9c460df 100644 --- a/src/third_party/WebKit/Source/core/rendering/RenderTable.h +++ b/src/third_party/WebKit/Source/core/rendering/RenderTable.h @@ -171,6 +171,9 @@ public: unsigned colToEffCol(unsigned column) const { + if (!m_hasCellColspanThatDeterminesTableWidth) + return column; + unsigned effColumn = 0; unsigned numColumns = numEffCols(); for (unsigned c = 0; effColumn < numColumns && c + m_columns[effColumn].span - 1 < column; ++effColumn) @@ -180,6 +183,9 @@ public: unsigned effColToCol(unsigned effCol) const { + if (!m_hasCellColspanThatDeterminesTableWidth) + return effCol; + unsigned c = 0; for (unsigned i = 0; i < effCol; i++) c += m_columns[i].span; @@ -300,7 +306,7 @@ private: LayoutUnit convertStyleLogicalWidthToComputedWidth(const Length& styleLogicalWidth, LayoutUnit availableWidth); LayoutUnit convertStyleLogicalHeightToComputedHeight(const Length& styleLogicalHeight); - virtual LayoutRect overflowClipRect(const LayoutPoint& location, RenderRegion*, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) OVERRIDE; + virtual LayoutRect overflowClipRect(const LayoutPoint& location, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) OVERRIDE; virtual void addOverflowFromChildren() OVERRIDE; @@ -332,6 +338,15 @@ private: bool m_columnLogicalWidthChanged : 1; mutable bool m_columnRenderersValid: 1; + mutable bool m_hasCellColspanThatDeterminesTableWidth : 1; + bool hasCellColspanThatDeterminesTableWidth() const + { + for (unsigned c = 0; c < numEffCols(); c++) { + if (m_columns[c].span > 1) + return true; + } + return false; + } short m_hSpacing; short m_vSpacing;