| 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, 2007, 2008, 2009 Apple Inc. All rights
reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 if (node() && style()->autoWrap()) { | 147 if (node() && style()->autoWrap()) { |
| 148 // See if nowrap was set. | 148 // See if nowrap was set. |
| 149 Length w = styleOrColLogicalWidth(); | 149 Length w = styleOrColLogicalWidth(); |
| 150 const AtomicString& nowrap = toElement(node())->getAttribute(nowrapAttr)
; | 150 const AtomicString& nowrap = toElement(node())->getAttribute(nowrapAttr)
; |
| 151 if (!nowrap.isNull() && w.isFixed()) { | 151 if (!nowrap.isNull() && w.isFixed()) { |
| 152 // Nowrap is set, but we didn't actually use it because of the | 152 // Nowrap is set, but we didn't actually use it because of the |
| 153 // fixed width set on the cell. Even so, it is a WinIE/Moz trait | 153 // fixed width set on the cell. Even so, it is a WinIE/Moz trait |
| 154 // to make the minwidth of the cell into the fixed width. They do t
his | 154 // to make the minwidth of the cell into the fixed width. They do t
his |
| 155 // even in strict mode, so do not make this a quirk. Affected the t
op | 155 // even in strict mode, so do not make this a quirk. Affected the t
op |
| 156 // of hiptop.com. | 156 // of hiptop.com. |
| 157 m_minPreferredLogicalWidth = std::max<LayoutUnit>(w.value(), m_minPr
eferredLogicalWidth); | 157 m_minPreferredLogicalWidth = std::max(LayoutUnit(w.value()), m_minPr
eferredLogicalWidth); |
| 158 } | 158 } |
| 159 } | 159 } |
| 160 } | 160 } |
| 161 | 161 |
| 162 void LayoutTableCell::addLayerHitTestRects(LayerHitTestRects& layerRects, const
PaintLayer* currentLayer, const LayoutPoint& layerOffset, const LayoutRect& cont
ainerRect) const | 162 void LayoutTableCell::addLayerHitTestRects(LayerHitTestRects& layerRects, const
PaintLayer* currentLayer, const LayoutPoint& layerOffset, const LayoutRect& cont
ainerRect) const |
| 163 { | 163 { |
| 164 LayoutPoint adjustedLayerOffset = layerOffset; | 164 LayoutPoint adjustedLayerOffset = layerOffset; |
| 165 // LayoutTableCell's location includes the offset of it's containing LayoutT
ableRow, so | 165 // LayoutTableCell's location includes the offset of it's containing LayoutT
ableRow, so |
| 166 // we need to subtract that again here (as for LayoutTableCell::offsetFromCo
ntainer. | 166 // we need to subtract that again here (as for LayoutTableCell::offsetFromCo
ntainer. |
| 167 if (parent()) | 167 if (parent()) |
| 168 adjustedLayerOffset -= parentBox()->locationOffset(); | 168 adjustedLayerOffset -= parentBox()->locationOffset(); |
| 169 LayoutBox::addLayerHitTestRects(layerRects, currentLayer, adjustedLayerOffse
t, containerRect); | 169 LayoutBox::addLayerHitTestRects(layerRects, currentLayer, adjustedLayerOffse
t, containerRect); |
| 170 } | 170 } |
| 171 | 171 |
| 172 void LayoutTableCell::computeIntrinsicPadding(int rowHeight, SubtreeLayoutScope&
layouter) | 172 void LayoutTableCell::computeIntrinsicPadding(int rowHeight, SubtreeLayoutScope&
layouter) |
| 173 { | 173 { |
| 174 int oldIntrinsicPaddingBefore = intrinsicPaddingBefore(); | 174 int oldIntrinsicPaddingBefore = intrinsicPaddingBefore(); |
| 175 int oldIntrinsicPaddingAfter = intrinsicPaddingAfter(); | 175 int oldIntrinsicPaddingAfter = intrinsicPaddingAfter(); |
| 176 int logicalHeightWithoutIntrinsicPadding = pixelSnappedLogicalHeight() - old
IntrinsicPaddingBefore - oldIntrinsicPaddingAfter; | 176 int logicalHeightWithoutIntrinsicPadding = pixelSnappedLogicalHeight() - old
IntrinsicPaddingBefore - oldIntrinsicPaddingAfter; |
| 177 | 177 |
| 178 int intrinsicPaddingBefore = 0; | 178 int intrinsicPaddingBefore = 0; |
| 179 switch (style()->verticalAlign()) { | 179 switch (style()->verticalAlign()) { |
| 180 case SUB: | 180 case SUB: |
| 181 case SUPER: | 181 case SUPER: |
| 182 case TEXT_TOP: | 182 case TEXT_TOP: |
| 183 case TEXT_BOTTOM: | 183 case TEXT_BOTTOM: |
| 184 case LENGTH: | 184 case LENGTH: |
| 185 case BASELINE: { | 185 case BASELINE: { |
| 186 LayoutUnit baseline = cellBaselinePosition(); | 186 int baseline = cellBaselinePosition(); |
| 187 if (baseline > borderBefore() + paddingBefore()) | 187 if (baseline > borderBefore() + paddingBefore()) |
| 188 intrinsicPaddingBefore = section()->rowBaseline(rowIndex()) - (basel
ine - oldIntrinsicPaddingBefore); | 188 intrinsicPaddingBefore = section()->rowBaseline(rowIndex()) - (basel
ine - oldIntrinsicPaddingBefore); |
| 189 break; | 189 break; |
| 190 } | 190 } |
| 191 case TOP: | 191 case TOP: |
| 192 break; | 192 break; |
| 193 case MIDDLE: | 193 case MIDDLE: |
| 194 intrinsicPaddingBefore = (rowHeight - logicalHeightWithoutIntrinsicPaddi
ng) / 2; | 194 intrinsicPaddingBefore = (rowHeight - logicalHeightWithoutIntrinsicPaddi
ng) / 2; |
| 195 break; | 195 break; |
| 196 case BOTTOM: | 196 case BOTTOM: |
| (...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 969 TableCellPainter(*this).paintMask(paintInfo, paintOffset); | 969 TableCellPainter(*this).paintMask(paintInfo, paintOffset); |
| 970 } | 970 } |
| 971 | 971 |
| 972 bool LayoutTableCell::boxShadowShouldBeAppliedToBackground(BackgroundBleedAvoida
nce, const InlineFlowBox*) const | 972 bool LayoutTableCell::boxShadowShouldBeAppliedToBackground(BackgroundBleedAvoida
nce, const InlineFlowBox*) const |
| 973 { | 973 { |
| 974 return false; | 974 return false; |
| 975 } | 975 } |
| 976 | 976 |
| 977 void LayoutTableCell::scrollbarsChanged(bool horizontalScrollbarChanged, bool ve
rticalScrollbarChanged) | 977 void LayoutTableCell::scrollbarsChanged(bool horizontalScrollbarChanged, bool ve
rticalScrollbarChanged) |
| 978 { | 978 { |
| 979 LayoutUnit scrollbarHeight = scrollbarLogicalHeight(); | 979 int scrollbarHeight = scrollbarLogicalHeight(); |
| 980 if (!scrollbarHeight) | 980 if (!scrollbarHeight) |
| 981 return; // Not sure if we should be doing something when a scrollbar goe
s away or not. | 981 return; // Not sure if we should be doing something when a scrollbar goe
s away or not. |
| 982 | 982 |
| 983 // We only care if the scrollbar that affects our intrinsic padding has been
added. | 983 // We only care if the scrollbar that affects our intrinsic padding has been
added. |
| 984 if ((isHorizontalWritingMode() && !horizontalScrollbarChanged) | 984 if ((isHorizontalWritingMode() && !horizontalScrollbarChanged) |
| 985 || (!isHorizontalWritingMode() && !verticalScrollbarChanged)) | 985 || (!isHorizontalWritingMode() && !verticalScrollbarChanged)) |
| 986 return; | 986 return; |
| 987 | 987 |
| 988 // Shrink our intrinsic padding as much as possible to accommodate the scrol
lbar. | 988 // Shrink our intrinsic padding as much as possible to accommodate the scrol
lbar. |
| 989 if (style()->verticalAlign() == MIDDLE) { | 989 if (style()->verticalAlign() == MIDDLE) { |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1017 bool LayoutTableCell::backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localR
ect) const | 1017 bool LayoutTableCell::backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localR
ect) const |
| 1018 { | 1018 { |
| 1019 // If this object has layer, the area of collapsed borders should be transpa
rent | 1019 // If this object has layer, the area of collapsed borders should be transpa
rent |
| 1020 // to expose the collapsed borders painted on the underlying layer. | 1020 // to expose the collapsed borders painted on the underlying layer. |
| 1021 if (hasLayer() && table()->collapseBorders()) | 1021 if (hasLayer() && table()->collapseBorders()) |
| 1022 return false; | 1022 return false; |
| 1023 return LayoutBlockFlow::backgroundIsKnownToBeOpaqueInRect(localRect); | 1023 return LayoutBlockFlow::backgroundIsKnownToBeOpaqueInRect(localRect); |
| 1024 } | 1024 } |
| 1025 | 1025 |
| 1026 } // namespace blink | 1026 } // namespace blink |
| OLD | NEW |