| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
| 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 1228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1239 LayoutPoint adjustedPaintOffset = paintOffset + location(); | 1239 LayoutPoint adjustedPaintOffset = paintOffset + location(); |
| 1240 | 1240 |
| 1241 PaintPhase phase = paintInfo.phase; | 1241 PaintPhase phase = paintInfo.phase; |
| 1242 | 1242 |
| 1243 LayoutRect overflowBox; | 1243 LayoutRect overflowBox; |
| 1244 // Check if we need to do anything at all. | 1244 // Check if we need to do anything at all. |
| 1245 // FIXME: Could eliminate the isDocumentElement() check if we fix background
painting so that the RenderView | 1245 // FIXME: Could eliminate the isDocumentElement() check if we fix background
painting so that the RenderView |
| 1246 // paints the root's background. | 1246 // paints the root's background. |
| 1247 if (!isDocumentElement()) { | 1247 if (!isDocumentElement()) { |
| 1248 overflowBox = overflowRectForPaintRejection(); | 1248 overflowBox = overflowRectForPaintRejection(); |
| 1249 flipForWritingMode(overflowBox); | |
| 1250 overflowBox.moveBy(adjustedPaintOffset); | 1249 overflowBox.moveBy(adjustedPaintOffset); |
| 1251 if (!overflowBox.intersects(paintInfo.rect)) | 1250 if (!overflowBox.intersects(paintInfo.rect)) |
| 1252 return; | 1251 return; |
| 1253 } | 1252 } |
| 1254 | 1253 |
| 1255 // There are some cases where not all clipped visual overflow is accounted f
or. | 1254 // There are some cases where not all clipped visual overflow is accounted f
or. |
| 1256 // FIXME: reduce the number of such cases. | 1255 // FIXME: reduce the number of such cases. |
| 1257 ContentsClipBehavior contentsClipBehavior = ForceContentsClip; | 1256 ContentsClipBehavior contentsClipBehavior = ForceContentsClip; |
| 1258 if (hasOverflowClip() && !hasControlClip() && !(shouldPaintSelectionGaps() &
& phase == PaintPhaseForeground) && !hasCaret()) | 1257 if (hasOverflowClip() && !hasControlClip() && !(shouldPaintSelectionGaps() &
& phase == PaintPhaseForeground) && !hasCaret()) |
| 1259 contentsClipBehavior = SkipContentsClipIfPossible; | 1258 contentsClipBehavior = SkipContentsClipIfPossible; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1302 } | 1301 } |
| 1303 | 1302 |
| 1304 void RenderBlock::paintChildren(PaintInfo& paintInfo, const LayoutPoint& paintOf
fset) | 1303 void RenderBlock::paintChildren(PaintInfo& paintInfo, const LayoutPoint& paintOf
fset) |
| 1305 { | 1304 { |
| 1306 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBo
x()) | 1305 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBo
x()) |
| 1307 paintChild(child, paintInfo, paintOffset); | 1306 paintChild(child, paintInfo, paintOffset); |
| 1308 } | 1307 } |
| 1309 | 1308 |
| 1310 void RenderBlock::paintChild(RenderBox* child, PaintInfo& paintInfo, const Layou
tPoint& paintOffset) | 1309 void RenderBlock::paintChild(RenderBox* child, PaintInfo& paintInfo, const Layou
tPoint& paintOffset) |
| 1311 { | 1310 { |
| 1312 LayoutPoint childPoint = flipForWritingModeForChild(child, paintOffset); | |
| 1313 if (!child->hasSelfPaintingLayer() && !child->isFloating()) | 1311 if (!child->hasSelfPaintingLayer() && !child->isFloating()) |
| 1314 child->paint(paintInfo, childPoint); | 1312 child->paint(paintInfo, paintOffset); |
| 1315 } | 1313 } |
| 1316 | 1314 |
| 1317 void RenderBlock::paintChildAsInlineBlock(RenderBox* child, PaintInfo& paintInfo
, const LayoutPoint& paintOffset) | 1315 void RenderBlock::paintChildAsInlineBlock(RenderBox* child, PaintInfo& paintInfo
, const LayoutPoint& paintOffset) |
| 1318 { | 1316 { |
| 1319 LayoutPoint childPoint = flipForWritingModeForChild(child, paintOffset); | |
| 1320 if (!child->hasSelfPaintingLayer() && !child->isFloating()) | 1317 if (!child->hasSelfPaintingLayer() && !child->isFloating()) |
| 1321 paintAsInlineBlock(child, paintInfo, childPoint); | 1318 paintAsInlineBlock(child, paintInfo, paintOffset); |
| 1322 } | 1319 } |
| 1323 | 1320 |
| 1324 void RenderBlock::paintAsInlineBlock(RenderObject* renderer, PaintInfo& paintInf
o, const LayoutPoint& childPoint) | 1321 void RenderBlock::paintAsInlineBlock(RenderObject* renderer, PaintInfo& paintInf
o, const LayoutPoint& childPoint) |
| 1325 { | 1322 { |
| 1326 if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhase
Selection) | 1323 if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhase
Selection) |
| 1327 return; | 1324 return; |
| 1328 | 1325 |
| 1329 // Paint all phases atomically, as though the element established its own | 1326 // Paint all phases atomically, as though the element established its own |
| 1330 // stacking context. (See Appendix E.2, section 7.2.1.4 on | 1327 // stacking context. (See Appendix E.2, section 7.2.1.4 on |
| 1331 // inline block/table/replaced elements in the CSS2.1 specification.) | 1328 // inline block/table/replaced elements in the CSS2.1 specification.) |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1586 LayoutUnit lastLeft = logicalLeftSelectionOffset(this, lastTop); | 1583 LayoutUnit lastLeft = logicalLeftSelectionOffset(this, lastTop); |
| 1587 LayoutUnit lastRight = logicalRightSelectionOffset(this, lastTop); | 1584 LayoutUnit lastRight = logicalRightSelectionOffset(this, lastTop); |
| 1588 GraphicsContextStateSaver stateSaver(*paintInfo.context); | 1585 GraphicsContextStateSaver stateSaver(*paintInfo.context); |
| 1589 | 1586 |
| 1590 LayoutRect gapRectsBounds = selectionGaps(this, paintOffset, LayoutSize(
), lastTop, lastLeft, lastRight, &paintInfo); | 1587 LayoutRect gapRectsBounds = selectionGaps(this, paintOffset, LayoutSize(
), lastTop, lastLeft, lastRight, &paintInfo); |
| 1591 if (!gapRectsBounds.isEmpty()) { | 1588 if (!gapRectsBounds.isEmpty()) { |
| 1592 RenderLayer* layer = enclosingLayer(); | 1589 RenderLayer* layer = enclosingLayer(); |
| 1593 gapRectsBounds.moveBy(-paintOffset); | 1590 gapRectsBounds.moveBy(-paintOffset); |
| 1594 if (!hasLayer()) { | 1591 if (!hasLayer()) { |
| 1595 LayoutRect localBounds(gapRectsBounds); | 1592 LayoutRect localBounds(gapRectsBounds); |
| 1596 flipForWritingMode(localBounds); | |
| 1597 gapRectsBounds = localToContainerQuad(FloatRect(localBounds), la
yer->renderer()).enclosingBoundingBox(); | 1593 gapRectsBounds = localToContainerQuad(FloatRect(localBounds), la
yer->renderer()).enclosingBoundingBox(); |
| 1598 if (layer->renderer()->hasOverflowClip()) | 1594 if (layer->renderer()->hasOverflowClip()) |
| 1599 gapRectsBounds.move(layer->renderBox()->scrolledContentOffse
t()); | 1595 gapRectsBounds.move(layer->renderBox()->scrolledContentOffse
t()); |
| 1600 } | 1596 } |
| 1601 layer->addBlockSelectionGapsBounds(gapRectsBounds); | 1597 layer->addBlockSelectionGapsBounds(gapRectsBounds); |
| 1602 } | 1598 } |
| 1603 } | 1599 } |
| 1604 } | 1600 } |
| 1605 | 1601 |
| 1606 static void clipOutPositionedObjects(const PaintInfo* paintInfo, const LayoutPoi
nt& offset, TrackedRendererListHashSet* positionedObjects) | 1602 static void clipOutPositionedObjects(const PaintInfo* paintInfo, const LayoutPoi
nt& offset, TrackedRendererListHashSet* positionedObjects) |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1634 return result; | 1630 return result; |
| 1635 } | 1631 } |
| 1636 | 1632 |
| 1637 GapRects RenderBlock::selectionGaps(RenderBlock* rootBlock, const LayoutPoint& r
ootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock, | 1633 GapRects RenderBlock::selectionGaps(RenderBlock* rootBlock, const LayoutPoint& r
ootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock, |
| 1638 LayoutUnit& lastLogicalTop, LayoutUnit& last
LogicalLeft, LayoutUnit& lastLogicalRight, const PaintInfo* paintInfo) | 1634 LayoutUnit& lastLogicalTop, LayoutUnit& last
LogicalLeft, LayoutUnit& lastLogicalRight, const PaintInfo* paintInfo) |
| 1639 { | 1635 { |
| 1640 // IMPORTANT: Callers of this method that intend for painting to happen need
to do a save/restore. | 1636 // IMPORTANT: Callers of this method that intend for painting to happen need
to do a save/restore. |
| 1641 // Clip out floating and positioned objects when painting selection gaps. | 1637 // Clip out floating and positioned objects when painting selection gaps. |
| 1642 if (paintInfo) { | 1638 if (paintInfo) { |
| 1643 // Note that we don't clip out overflow for positioned objects. We just
stick to the border box. | 1639 // Note that we don't clip out overflow for positioned objects. We just
stick to the border box. |
| 1644 LayoutRect flippedBlockRect(offsetFromRootBlock.width(), offsetFromRootB
lock.height(), width(), height()); | 1640 LayoutRect blockRect(offsetFromRootBlock.width(), offsetFromRootBlock.he
ight(), width(), height()); |
| 1645 rootBlock->flipForWritingMode(flippedBlockRect); | 1641 blockRect.moveBy(rootBlockPhysicalPosition); |
| 1646 flippedBlockRect.moveBy(rootBlockPhysicalPosition); | 1642 clipOutPositionedObjects(paintInfo, blockRect.location(), positionedObje
cts()); |
| 1647 clipOutPositionedObjects(paintInfo, flippedBlockRect.location(), positio
nedObjects()); | |
| 1648 if (isDocumentElement()) // The <body> must make sure to examine its con
tainingBlock's positioned objects. | 1643 if (isDocumentElement()) // The <body> must make sure to examine its con
tainingBlock's positioned objects. |
| 1649 for (RenderBlock* cb = containingBlock(); cb && !cb->isRenderView();
cb = cb->containingBlock()) | 1644 for (RenderBlock* cb = containingBlock(); cb && !cb->isRenderView();
cb = cb->containingBlock()) |
| 1650 clipOutPositionedObjects(paintInfo, LayoutPoint(cb->x(), cb->y()
), cb->positionedObjects()); // FIXME: Not right for flipped writing modes. | 1645 clipOutPositionedObjects(paintInfo, LayoutPoint(cb->x(), cb->y()
), cb->positionedObjects()); |
| 1651 } | 1646 } |
| 1652 | 1647 |
| 1653 // FIXME: overflow: auto/scroll regions need more math here, since painting
in the border box is different from painting in the padding box (one is scrolled
, the other is | 1648 // FIXME: overflow: auto/scroll regions need more math here, since painting
in the border box is different from painting in the padding box (one is scrolled
, the other is |
| 1654 // fixed). | 1649 // fixed). |
| 1655 GapRects result; | 1650 GapRects result; |
| 1656 if (!isRenderBlockFlow()) // FIXME: Make multi-column selection gap filling
work someday. | 1651 if (!isRenderBlockFlow()) // FIXME: Make multi-column selection gap filling
work someday. |
| 1657 return result; | 1652 return result; |
| 1658 | 1653 |
| 1659 if (hasTransform()) { | 1654 if (hasTransform()) { |
| 1660 // FIXME: We should learn how to gap fill multiple columns and transform
s eventually. | 1655 // FIXME: We should learn how to gap fill multiple columns and transform
s eventually. |
| (...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2102 | 2097 |
| 2103 bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu
lt, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOf
fset, HitTestAction hitTestAction) | 2098 bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu
lt, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOf
fset, HitTestAction hitTestAction) |
| 2104 { | 2099 { |
| 2105 LayoutPoint adjustedLocation(accumulatedOffset + location()); | 2100 LayoutPoint adjustedLocation(accumulatedOffset + location()); |
| 2106 LayoutSize localOffset = toLayoutSize(adjustedLocation); | 2101 LayoutSize localOffset = toLayoutSize(adjustedLocation); |
| 2107 | 2102 |
| 2108 if (!isRenderView()) { | 2103 if (!isRenderView()) { |
| 2109 // Check if we need to do anything at all. | 2104 // Check if we need to do anything at all. |
| 2110 // If we have clipping, then we can't have any spillout. | 2105 // If we have clipping, then we can't have any spillout. |
| 2111 LayoutRect overflowBox = hasOverflowClip() ? borderBoxRect() : visualOve
rflowRect(); | 2106 LayoutRect overflowBox = hasOverflowClip() ? borderBoxRect() : visualOve
rflowRect(); |
| 2112 flipForWritingMode(overflowBox); | |
| 2113 overflowBox.moveBy(adjustedLocation); | 2107 overflowBox.moveBy(adjustedLocation); |
| 2114 if (!locationInContainer.intersects(overflowBox)) | 2108 if (!locationInContainer.intersects(overflowBox)) |
| 2115 return false; | 2109 return false; |
| 2116 } | 2110 } |
| 2117 | 2111 |
| 2118 if ((hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChil
dBlockBackground) | 2112 if ((hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChil
dBlockBackground) |
| 2119 && visibleToHitTestRequest(request) | 2113 && visibleToHitTestRequest(request) |
| 2120 && isPointInOverflowControl(result, locationInContainer.point(), adjuste
dLocation)) { | 2114 && isPointInOverflowControl(result, locationInContainer.point(), adjuste
dLocation)) { |
| 2121 updateHitTestResult(result, locationInContainer.point() - localOffset); | 2115 updateHitTestResult(result, locationInContainer.point() - localOffset); |
| 2122 // FIXME: isPointInOverflowControl() doesn't handle rect-based tests yet
. | 2116 // FIXME: isPointInOverflowControl() doesn't handle rect-based tests yet
. |
| (...skipping 30 matching lines...) Expand all Loading... |
| 2153 checkChildren = locationInContainer.intersects(clipRect); | 2147 checkChildren = locationInContainer.intersects(clipRect); |
| 2154 } | 2148 } |
| 2155 } | 2149 } |
| 2156 if (checkChildren) { | 2150 if (checkChildren) { |
| 2157 // Hit test descendants first. | 2151 // Hit test descendants first. |
| 2158 LayoutSize scrolledOffset(localOffset); | 2152 LayoutSize scrolledOffset(localOffset); |
| 2159 if (hasOverflowClip()) | 2153 if (hasOverflowClip()) |
| 2160 scrolledOffset -= scrolledContentOffset(); | 2154 scrolledOffset -= scrolledContentOffset(); |
| 2161 | 2155 |
| 2162 if (hitTestContents(request, result, locationInContainer, toLayoutPoint(
scrolledOffset), hitTestAction)) { | 2156 if (hitTestContents(request, result, locationInContainer, toLayoutPoint(
scrolledOffset), hitTestAction)) { |
| 2163 updateHitTestResult(result, flipForWritingMode(locationInContainer.p
oint() - localOffset)); | 2157 updateHitTestResult(result, locationInContainer.point() - localOffse
t); |
| 2164 return true; | 2158 return true; |
| 2165 } | 2159 } |
| 2166 if (hitTestAction == HitTestFloat && hitTestFloats(request, result, loca
tionInContainer, toLayoutPoint(scrolledOffset))) | 2160 if (hitTestAction == HitTestFloat && hitTestFloats(request, result, loca
tionInContainer, toLayoutPoint(scrolledOffset))) |
| 2167 return true; | 2161 return true; |
| 2168 } | 2162 } |
| 2169 | 2163 |
| 2170 // Check if the point is outside radii. | 2164 // Check if the point is outside radii. |
| 2171 if (style()->hasBorderRadius()) { | 2165 if (style()->hasBorderRadius()) { |
| 2172 LayoutRect borderRect = borderBoxRect(); | 2166 LayoutRect borderRect = borderBoxRect(); |
| 2173 borderRect.moveBy(adjustedLocation); | 2167 borderRect.moveBy(adjustedLocation); |
| 2174 RoundedRect border = style()->getRoundedBorderFor(borderRect); | 2168 RoundedRect border = style()->getRoundedBorderFor(borderRect); |
| 2175 if (!locationInContainer.intersects(border)) | 2169 if (!locationInContainer.intersects(border)) |
| 2176 return false; | 2170 return false; |
| 2177 } | 2171 } |
| 2178 | 2172 |
| 2179 // Now hit test our background | 2173 // Now hit test our background |
| 2180 if (hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChild
BlockBackground) { | 2174 if (hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChild
BlockBackground) { |
| 2181 LayoutRect boundsRect(adjustedLocation, size()); | 2175 LayoutRect boundsRect(adjustedLocation, size()); |
| 2182 if (visibleToHitTestRequest(request) && locationInContainer.intersects(b
oundsRect)) { | 2176 if (visibleToHitTestRequest(request) && locationInContainer.intersects(b
oundsRect)) { |
| 2183 updateHitTestResult(result, flipForWritingMode(locationInContainer.p
oint() - localOffset)); | 2177 updateHitTestResult(result, locationInContainer.point() - localOffse
t); |
| 2184 if (!result.addNodeToRectBasedTestResult(nodeForHitTest(), request,
locationInContainer, boundsRect)) | 2178 if (!result.addNodeToRectBasedTestResult(nodeForHitTest(), request,
locationInContainer, boundsRect)) |
| 2185 return true; | 2179 return true; |
| 2186 } | 2180 } |
| 2187 } | 2181 } |
| 2188 | 2182 |
| 2189 return false; | 2183 return false; |
| 2190 } | 2184 } |
| 2191 | 2185 |
| 2192 bool RenderBlock::hitTestContents(const HitTestRequest& request, HitTestResult&
result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulat
edOffset, HitTestAction hitTestAction) | 2186 bool RenderBlock::hitTestContents(const HitTestRequest& request, HitTestResult&
result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulat
edOffset, HitTestAction hitTestAction) |
| 2193 { | 2187 { |
| 2194 if (childrenInline()) { | 2188 if (childrenInline()) { |
| 2195 // We have to hit-test our line boxes. | 2189 // We have to hit-test our line boxes. |
| 2196 if (m_lineBoxes.hitTest(this, request, result, locationInContainer, accu
mulatedOffset, hitTestAction)) | 2190 if (m_lineBoxes.hitTest(this, request, result, locationInContainer, accu
mulatedOffset, hitTestAction)) |
| 2197 return true; | 2191 return true; |
| 2198 } else { | 2192 } else { |
| 2199 // Hit test our children. | 2193 // Hit test our children. |
| 2200 HitTestAction childHitTest = hitTestAction; | 2194 HitTestAction childHitTest = hitTestAction; |
| 2201 if (hitTestAction == HitTestChildBlockBackgrounds) | 2195 if (hitTestAction == HitTestChildBlockBackgrounds) |
| 2202 childHitTest = HitTestChildBlockBackground; | 2196 childHitTest = HitTestChildBlockBackground; |
| 2203 for (RenderBox* child = lastChildBox(); child; child = child->previousSi
blingBox()) { | 2197 for (RenderBox* child = lastChildBox(); child; child = child->previousSi
blingBox()) { |
| 2204 LayoutPoint childPoint = flipForWritingModeForChild(child, accumulat
edOffset); | 2198 if (!child->hasSelfPaintingLayer() && !child->isFloating() && child-
>nodeAtPoint(request, result, locationInContainer, accumulatedOffset, childHitTe
st)) |
| 2205 if (!child->hasSelfPaintingLayer() && !child->isFloating() && child-
>nodeAtPoint(request, result, locationInContainer, childPoint, childHitTest)) | |
| 2206 return true; | 2199 return true; |
| 2207 } | 2200 } |
| 2208 } | 2201 } |
| 2209 | 2202 |
| 2210 return false; | 2203 return false; |
| 2211 } | 2204 } |
| 2212 | 2205 |
| 2213 Position RenderBlock::positionForBox(InlineBox *box, bool start) const | 2206 Position RenderBlock::positionForBox(InlineBox *box, bool start) const |
| 2214 { | 2207 { |
| 2215 if (!box) | 2208 if (!box) |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2387 return positionForPointRespectingEditingBoundaries(this, childBo
x, pointInContents); | 2380 return positionForPointRespectingEditingBoundaries(this, childBo
x, pointInContents); |
| 2388 } | 2381 } |
| 2389 } | 2382 } |
| 2390 | 2383 |
| 2391 // We only get here if there are no hit test candidate children below the cl
ick. | 2384 // We only get here if there are no hit test candidate children below the cl
ick. |
| 2392 return RenderBox::positionForPoint(point); | 2385 return RenderBox::positionForPoint(point); |
| 2393 } | 2386 } |
| 2394 | 2387 |
| 2395 void RenderBlock::offsetForContents(LayoutPoint& offset) const | 2388 void RenderBlock::offsetForContents(LayoutPoint& offset) const |
| 2396 { | 2389 { |
| 2397 offset = flipForWritingMode(offset); | |
| 2398 | |
| 2399 if (hasOverflowClip()) | 2390 if (hasOverflowClip()) |
| 2400 offset += scrolledContentOffset(); | 2391 offset += scrolledContentOffset(); |
| 2401 | |
| 2402 offset = flipForWritingMode(offset); | |
| 2403 } | 2392 } |
| 2404 | 2393 |
| 2405 LayoutUnit RenderBlock::availableLogicalWidth() const | 2394 LayoutUnit RenderBlock::availableLogicalWidth() const |
| 2406 { | 2395 { |
| 2407 return RenderBox::availableLogicalWidth(); | 2396 return RenderBox::availableLogicalWidth(); |
| 2408 } | 2397 } |
| 2409 | 2398 |
| 2410 void RenderBlock::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Lay
outUnit& maxLogicalWidth) const | 2399 void RenderBlock::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Lay
outUnit& maxLogicalWidth) const |
| 2411 { | 2400 { |
| 2412 if (childrenInline()) { | 2401 if (childrenInline()) { |
| (...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3122 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const | 3111 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const |
| 3123 { | 3112 { |
| 3124 showRenderObject(); | 3113 showRenderObject(); |
| 3125 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 3114 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
| 3126 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 3115 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
| 3127 } | 3116 } |
| 3128 | 3117 |
| 3129 #endif | 3118 #endif |
| 3130 | 3119 |
| 3131 } // namespace blink | 3120 } // namespace blink |
| OLD | NEW |