| 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 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. | 4 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 // These represent your location relative to your container as a physical of
fset. | 102 // These represent your location relative to your container as a physical of
fset. |
| 103 // In layout related methods you almost always want the logical location (e.
g. x() and y()). | 103 // In layout related methods you almost always want the logical location (e.
g. x() and y()). |
| 104 LayoutUnit top() const { return topLeftLocation().y(); } | 104 LayoutUnit top() const { return topLeftLocation().y(); } |
| 105 LayoutUnit left() const { return topLeftLocation().x(); } | 105 LayoutUnit left() const { return topLeftLocation().x(); } |
| 106 | 106 |
| 107 void setX(LayoutUnit x) { m_frameRect.setX(x); } | 107 void setX(LayoutUnit x) { m_frameRect.setX(x); } |
| 108 void setY(LayoutUnit y) { m_frameRect.setY(y); } | 108 void setY(LayoutUnit y) { m_frameRect.setY(y); } |
| 109 void setWidth(LayoutUnit width) { m_frameRect.setWidth(width); } | 109 void setWidth(LayoutUnit width) { m_frameRect.setWidth(width); } |
| 110 void setHeight(LayoutUnit height) { m_frameRect.setHeight(height); } | 110 void setHeight(LayoutUnit height) { m_frameRect.setHeight(height); } |
| 111 | 111 |
| 112 LayoutUnit logicalLeft() const { return style()->isHorizontalWritingMode() ?
x() : y(); } | 112 LayoutUnit logicalLeft() const { return x(); } |
| 113 LayoutUnit logicalRight() const { return logicalLeft() + logicalWidth(); } | 113 LayoutUnit logicalRight() const { return logicalLeft() + logicalWidth(); } |
| 114 LayoutUnit logicalTop() const { return style()->isHorizontalWritingMode() ?
y() : x(); } | 114 LayoutUnit logicalTop() const { return y(); } |
| 115 LayoutUnit logicalBottom() const { return logicalTop() + logicalHeight(); } | 115 LayoutUnit logicalBottom() const { return logicalTop() + logicalHeight(); } |
| 116 LayoutUnit logicalWidth() const { return style()->isHorizontalWritingMode()
? width() : height(); } | 116 LayoutUnit logicalWidth() const { return width(); } |
| 117 LayoutUnit logicalHeight() const { return style()->isHorizontalWritingMode()
? height() : width(); } | 117 LayoutUnit logicalHeight() const { return height(); } |
| 118 | 118 |
| 119 LayoutUnit constrainLogicalWidthByMinMax(LayoutUnit, LayoutUnit, RenderBlock
*) const; | 119 LayoutUnit constrainLogicalWidthByMinMax(LayoutUnit, LayoutUnit, RenderBlock
*) const; |
| 120 LayoutUnit constrainLogicalHeightByMinMax(LayoutUnit logicalHeight, LayoutUn
it intrinsicContentHeight) const; | 120 LayoutUnit constrainLogicalHeightByMinMax(LayoutUnit logicalHeight, LayoutUn
it intrinsicContentHeight) const; |
| 121 LayoutUnit constrainContentBoxLogicalHeightByMinMax(LayoutUnit logicalHeight
, LayoutUnit intrinsicContentHeight) const; | 121 LayoutUnit constrainContentBoxLogicalHeightByMinMax(LayoutUnit logicalHeight
, LayoutUnit intrinsicContentHeight) const; |
| 122 | 122 |
| 123 int pixelSnappedLogicalHeight() const { return style()->isHorizontalWritingM
ode() ? pixelSnappedHeight() : pixelSnappedWidth(); } | 123 int pixelSnappedLogicalHeight() const { return pixelSnappedHeight(); } |
| 124 int pixelSnappedLogicalWidth() const { return style()->isHorizontalWritingMo
de() ? pixelSnappedWidth() : pixelSnappedHeight(); } | 124 int pixelSnappedLogicalWidth() const { return pixelSnappedWidth(); } |
| 125 | 125 |
| 126 void setLogicalLeft(LayoutUnit left) | 126 void setLogicalLeft(LayoutUnit left) |
| 127 { | 127 { |
| 128 if (style()->isHorizontalWritingMode()) | 128 if (style()->isHorizontalWritingMode()) |
| 129 setX(left); | 129 setX(left); |
| 130 else | 130 else |
| 131 setY(left); | 131 setY(left); |
| 132 } | 132 } |
| 133 void setLogicalTop(LayoutUnit top) | 133 void setLogicalTop(LayoutUnit top) |
| 134 { | 134 { |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 bool canResize() const; | 206 bool canResize() const; |
| 207 | 207 |
| 208 // Visual and layout overflow are in the coordinate space of the box. This
means that they aren't purely physical directions. | 208 // Visual and layout overflow are in the coordinate space of the box. This
means that they aren't purely physical directions. |
| 209 // For horizontal-tb and vertical-lr they will match physical directions, bu
t for horizontal-bt and vertical-rl, the top/bottom and left/right | 209 // For horizontal-tb and vertical-lr they will match physical directions, bu
t for horizontal-bt and vertical-rl, the top/bottom and left/right |
| 210 // respectively are flipped when compared to their physical counterparts. F
or example minX is on the left in vertical-lr, | 210 // respectively are flipped when compared to their physical counterparts. F
or example minX is on the left in vertical-lr, |
| 211 // but it is on the right in vertical-rl. | 211 // but it is on the right in vertical-rl. |
| 212 LayoutRect noOverflowRect() const; | 212 LayoutRect noOverflowRect() const; |
| 213 LayoutRect layoutOverflowRect() const { return m_overflow ? m_overflow->layo
utOverflowRect() : noOverflowRect(); } | 213 LayoutRect layoutOverflowRect() const { return m_overflow ? m_overflow->layo
utOverflowRect() : noOverflowRect(); } |
| 214 IntRect pixelSnappedLayoutOverflowRect() const { return pixelSnappedIntRect(
layoutOverflowRect()); } | 214 IntRect pixelSnappedLayoutOverflowRect() const { return pixelSnappedIntRect(
layoutOverflowRect()); } |
| 215 LayoutSize maxLayoutOverflow() const { return LayoutSize(layoutOverflowRect(
).maxX(), layoutOverflowRect().maxY()); } | 215 LayoutSize maxLayoutOverflow() const { return LayoutSize(layoutOverflowRect(
).maxX(), layoutOverflowRect().maxY()); } |
| 216 LayoutUnit logicalLeftLayoutOverflow() const { return style()->isHorizontalW
ritingMode() ? layoutOverflowRect().x() : layoutOverflowRect().y(); } | 216 LayoutUnit logicalLeftLayoutOverflow() const { return layoutOverflowRect().x
(); } |
| 217 LayoutUnit logicalRightLayoutOverflow() const { return style()->isHorizontal
WritingMode() ? layoutOverflowRect().maxX() : layoutOverflowRect().maxY(); } | 217 LayoutUnit logicalRightLayoutOverflow() const { return layoutOverflowRect().
maxX(); } |
| 218 | 218 |
| 219 virtual LayoutRect visualOverflowRect() const { return m_overflow ? m_overfl
ow->visualOverflowRect() : borderBoxRect(); } | 219 virtual LayoutRect visualOverflowRect() const { return m_overflow ? m_overfl
ow->visualOverflowRect() : borderBoxRect(); } |
| 220 LayoutUnit logicalLeftVisualOverflow() const { return style()->isHorizontalW
ritingMode() ? visualOverflowRect().x() : visualOverflowRect().y(); } | 220 LayoutUnit logicalLeftVisualOverflow() const { return visualOverflowRect().x
(); } |
| 221 LayoutUnit logicalRightVisualOverflow() const { return style()->isHorizontal
WritingMode() ? visualOverflowRect().maxX() : visualOverflowRect().maxY(); } | 221 LayoutUnit logicalRightVisualOverflow() const { return visualOverflowRect().
maxX(); } |
| 222 | 222 |
| 223 LayoutRect overflowRectForPaintRejection() const; | 223 LayoutRect overflowRectForPaintRejection() const; |
| 224 | 224 |
| 225 LayoutRect contentsVisualOverflowRect() const { return m_overflow ? m_overfl
ow->contentsVisualOverflowRect() : LayoutRect(); } | 225 LayoutRect contentsVisualOverflowRect() const { return m_overflow ? m_overfl
ow->contentsVisualOverflowRect() : LayoutRect(); } |
| 226 | 226 |
| 227 void addLayoutOverflow(const LayoutRect&); | 227 void addLayoutOverflow(const LayoutRect&); |
| 228 void addVisualOverflow(const LayoutRect&); | 228 void addVisualOverflow(const LayoutRect&); |
| 229 | 229 |
| 230 // Clipped by the contents clip, if one exists. | 230 // Clipped by the contents clip, if one exists. |
| 231 void addContentsVisualOverflow(const LayoutRect&); | 231 void addContentsVisualOverflow(const LayoutRect&); |
| 232 | 232 |
| 233 void addVisualEffectOverflow(); | 233 void addVisualEffectOverflow(); |
| 234 LayoutBoxExtent computeVisualEffectOverflowExtent() const; | 234 LayoutBoxExtent computeVisualEffectOverflowExtent() const; |
| 235 void addOverflowFromChild(RenderBox* child) { addOverflowFromChild(child, ch
ild->locationOffset()); } | 235 void addOverflowFromChild(RenderBox* child) { addOverflowFromChild(child, ch
ild->locationOffset()); } |
| 236 void addOverflowFromChild(RenderBox* child, const LayoutSize& delta); | 236 void addOverflowFromChild(RenderBox* child, const LayoutSize& delta); |
| 237 void clearLayoutOverflow(); | 237 void clearLayoutOverflow(); |
| 238 void clearAllOverflows() { m_overflow.clear(); } | 238 void clearAllOverflows() { m_overflow.clear(); } |
| 239 | 239 |
| 240 void updateLayerTransformAfterLayout(); | 240 void updateLayerTransformAfterLayout(); |
| 241 | 241 |
| 242 LayoutUnit contentWidth() const { return clientWidth() - paddingLeft() - pad
dingRight(); } | 242 LayoutUnit contentWidth() const { return clientWidth() - paddingLeft() - pad
dingRight(); } |
| 243 LayoutUnit contentHeight() const { return clientHeight() - paddingTop() - pa
ddingBottom(); } | 243 LayoutUnit contentHeight() const { return clientHeight() - paddingTop() - pa
ddingBottom(); } |
| 244 LayoutUnit contentLogicalWidth() const { return style()->isHorizontalWriting
Mode() ? contentWidth() : contentHeight(); } | 244 LayoutUnit contentLogicalWidth() const { return contentWidth(); } |
| 245 LayoutUnit contentLogicalHeight() const { return style()->isHorizontalWritin
gMode() ? contentHeight() : contentWidth(); } | 245 LayoutUnit contentLogicalHeight() const { return contentHeight(); } |
| 246 | 246 |
| 247 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin
es (RenderFlow) | 247 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin
es (RenderFlow) |
| 248 // to return the remaining width on a given line (and the height of a single
line). | 248 // to return the remaining width on a given line (and the height of a single
line). |
| 249 virtual LayoutUnit offsetWidth() const override { return width(); } | 249 virtual LayoutUnit offsetWidth() const override { return width(); } |
| 250 virtual LayoutUnit offsetHeight() const override { return height(); } | 250 virtual LayoutUnit offsetHeight() const override { return height(); } |
| 251 | 251 |
| 252 virtual int pixelSnappedOffsetWidth() const override final; | 252 virtual int pixelSnappedOffsetWidth() const override final; |
| 253 virtual int pixelSnappedOffsetHeight() const override final; | 253 virtual int pixelSnappedOffsetHeight() const override final; |
| 254 | 254 |
| 255 // More IE extensions. clientWidth and clientHeight represent the interior
of an object | 255 // More IE extensions. clientWidth and clientHeight represent the interior
of an object |
| 256 // excluding border and scrollbar. clientLeft/Top are just the borderLeftWi
dth and borderTopWidth. | 256 // excluding border and scrollbar. clientLeft/Top are just the borderLeftWi
dth and borderTopWidth. |
| 257 LayoutUnit clientLeft() const { return borderLeft() + (style()->shouldPlaceB
lockDirectionScrollbarOnLogicalLeft() ? verticalScrollbarWidth() : 0); } | 257 LayoutUnit clientLeft() const { return borderLeft() + (style()->shouldPlaceB
lockDirectionScrollbarOnLogicalLeft() ? verticalScrollbarWidth() : 0); } |
| 258 LayoutUnit clientTop() const { return borderTop(); } | 258 LayoutUnit clientTop() const { return borderTop(); } |
| 259 LayoutUnit clientWidth() const; | 259 LayoutUnit clientWidth() const; |
| 260 LayoutUnit clientHeight() const; | 260 LayoutUnit clientHeight() const; |
| 261 LayoutUnit clientLogicalWidth() const { return style()->isHorizontalWritingM
ode() ? clientWidth() : clientHeight(); } | 261 LayoutUnit clientLogicalWidth() const { return clientWidth(); } |
| 262 LayoutUnit clientLogicalHeight() const { return style()->isHorizontalWriting
Mode() ? clientHeight() : clientWidth(); } | 262 LayoutUnit clientLogicalHeight() const { return clientHeight(); } |
| 263 LayoutUnit clientLogicalBottom() const { return borderBefore() + clientLogic
alHeight(); } | 263 LayoutUnit clientLogicalBottom() const { return borderBefore() + clientLogic
alHeight(); } |
| 264 LayoutRect clientBoxRect() const { return LayoutRect(clientLeft(), clientTop
(), clientWidth(), clientHeight()); } | 264 LayoutRect clientBoxRect() const { return LayoutRect(clientLeft(), clientTop
(), clientWidth(), clientHeight()); } |
| 265 | 265 |
| 266 int pixelSnappedClientWidth() const; | 266 int pixelSnappedClientWidth() const; |
| 267 int pixelSnappedClientHeight() const; | 267 int pixelSnappedClientHeight() const; |
| 268 | 268 |
| 269 // scrollWidth/scrollHeight will be the same as clientWidth/clientHeight unl
ess the | 269 // scrollWidth/scrollHeight will be the same as clientWidth/clientHeight unl
ess the |
| 270 // object has overflow:hidden/scroll/auto specified and also has overflow. | 270 // object has overflow:hidden/scroll/auto specified and also has overflow. |
| 271 // scrollLeft/Top return the current scroll position. These methods are vir
tual so that objects like | 271 // scrollLeft/Top return the current scroll position. These methods are vir
tual so that objects like |
| 272 // textareas can scroll shadow content (but pretend that they are the object
s that are | 272 // textareas can scroll shadow content (but pretend that they are the object
s that are |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 ComputedMarginValues m_margins; | 388 ComputedMarginValues m_margins; |
| 389 }; | 389 }; |
| 390 // Resolve auto margins in the chosen direction of the containing block so t
hat objects can be pushed to the start, middle or end | 390 // Resolve auto margins in the chosen direction of the containing block so t
hat objects can be pushed to the start, middle or end |
| 391 // of the containing block. | 391 // of the containing block. |
| 392 void computeMarginsForDirection(MarginDirection forDirection, const RenderBl
ock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth, LayoutUn
it& marginStart, LayoutUnit& marginEnd, Length marginStartLength, Length marginS
tartEnd) const; | 392 void computeMarginsForDirection(MarginDirection forDirection, const RenderBl
ock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth, LayoutUn
it& marginStart, LayoutUnit& marginEnd, Length marginStartLength, Length marginS
tartEnd) const; |
| 393 | 393 |
| 394 // Used to resolve margins in the containing block's block-flow direction. | 394 // Used to resolve margins in the containing block's block-flow direction. |
| 395 void computeAndSetBlockDirectionMargins(const RenderBlock* containingBlock); | 395 void computeAndSetBlockDirectionMargins(const RenderBlock* containingBlock); |
| 396 | 396 |
| 397 void positionLineBox(InlineBox*); | 397 void positionLineBox(InlineBox*); |
| 398 void moveWithEdgeOfInlineContainerIfNecessary(bool isHorizontal); | 398 void moveWithEdgeOfInlineContainerIfNecessary(); |
| 399 | 399 |
| 400 virtual InlineBox* createInlineBox(); | 400 virtual InlineBox* createInlineBox(); |
| 401 void dirtyLineBoxes(bool fullLayout); | 401 void dirtyLineBoxes(bool fullLayout); |
| 402 | 402 |
| 403 // For inline replaced elements, this function returns the inline box that o
wns us. Enables | 403 // For inline replaced elements, this function returns the inline box that o
wns us. Enables |
| 404 // the replaced RenderObject to quickly determine what line it is contained
on and to easily | 404 // the replaced RenderObject to quickly determine what line it is contained
on and to easily |
| 405 // iterate over structures on the line. | 405 // iterate over structures on the line. |
| 406 InlineBox* inlineBoxWrapper() const { return m_rareData ? m_rareData->m_inli
neBoxWrapper : 0; } | 406 InlineBox* inlineBoxWrapper() const { return m_rareData ? m_rareData->m_inli
neBoxWrapper : 0; } |
| 407 void setInlineBoxWrapper(InlineBox*); | 407 void setInlineBoxWrapper(InlineBox*); |
| 408 void deleteLineBoxWrapper(); | 408 void deleteLineBoxWrapper(); |
| 409 | 409 |
| 410 virtual LayoutRect clippedOverflowRectForPaintInvalidation(const RenderLayer
ModelObject* paintInvalidationContainer, const PaintInvalidationState* = 0) cons
t override; | 410 virtual LayoutRect clippedOverflowRectForPaintInvalidation(const RenderLayer
ModelObject* paintInvalidationContainer, const PaintInvalidationState* = 0) cons
t override; |
| 411 virtual void mapRectToPaintInvalidationBacking(const RenderLayerModelObject*
paintInvalidationContainer, LayoutRect&, const PaintInvalidationState*) const o
verride; | 411 virtual void mapRectToPaintInvalidationBacking(const RenderLayerModelObject*
paintInvalidationContainer, LayoutRect&, const PaintInvalidationState*) const o
verride; |
| 412 virtual void invalidatePaintForOverhangingFloats(bool paintAllDescendants); | 412 virtual void invalidatePaintForOverhangingFloats(bool paintAllDescendants); |
| 413 | 413 |
| 414 virtual LayoutUnit containingBlockLogicalWidthForContent() const override; | 414 virtual LayoutUnit containingBlockLogicalWidthForContent() const override; |
| 415 LayoutUnit containingBlockLogicalHeightForContent(AvailableLogicalHeightType
) const; | 415 LayoutUnit containingBlockLogicalHeightForContent(AvailableLogicalHeightType
) const; |
| 416 | 416 |
| 417 LayoutUnit containingBlockAvailableLineWidth() const; | 417 LayoutUnit containingBlockAvailableLineWidth() const; |
| 418 LayoutUnit perpendicularContainingBlockLogicalHeight() const; | 418 LayoutUnit perpendicularContainingBlockLogicalHeight() const; |
| 419 | 419 |
| 420 virtual void updateLogicalWidth(); | 420 virtual void updateLogicalWidth(); |
| 421 virtual void updateLogicalHeight(); | 421 virtual void updateLogicalHeight(); |
| 422 virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logic
alTop, LogicalExtentComputedValues&) const; | 422 virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logic
alTop, LogicalExtentComputedValues&) const; |
| 423 | 423 |
| 424 void computeLogicalWidth(LogicalExtentComputedValues&) const; | 424 void computeLogicalWidth(LogicalExtentComputedValues&) const; |
| 425 | 425 |
| 426 virtual LayoutSize intrinsicSize() const { return LayoutSize(); } | 426 virtual LayoutSize intrinsicSize() const { return LayoutSize(); } |
| 427 LayoutUnit intrinsicLogicalWidth() const { return style()->isHorizontalWriti
ngMode() ? intrinsicSize().width() : intrinsicSize().height(); } | 427 LayoutUnit intrinsicLogicalWidth() const { return intrinsicSize().width(); } |
| 428 LayoutUnit intrinsicLogicalHeight() const { return style()->isHorizontalWrit
ingMode() ? intrinsicSize().height() : intrinsicSize().width(); } | 428 LayoutUnit intrinsicLogicalHeight() const { return intrinsicSize().height();
} |
| 429 virtual LayoutUnit intrinsicContentLogicalHeight() const { return m_intrinsi
cContentLogicalHeight; } | 429 virtual LayoutUnit intrinsicContentLogicalHeight() const { return m_intrinsi
cContentLogicalHeight; } |
| 430 | 430 |
| 431 // Whether or not the element shrinks to its intrinsic width (rather than fi
lling the width | 431 // Whether or not the element shrinks to its intrinsic width (rather than fi
lling the width |
| 432 // of a containing block). HTML4 buttons, <select>s, <input>s, legends, and
floating/compact elements do this. | 432 // of a containing block). HTML4 buttons, <select>s, <input>s, legends, and
floating/compact elements do this. |
| 433 bool sizesLogicalWidthToFitContent(const Length& logicalWidth) const; | 433 bool sizesLogicalWidthToFitContent(const Length& logicalWidth) const; |
| 434 | 434 |
| 435 LayoutUnit shrinkLogicalWidthToAvoidFloats(LayoutUnit childMarginStart, Layo
utUnit childMarginEnd, const RenderBlockFlow* cb) const; | 435 LayoutUnit shrinkLogicalWidthToAvoidFloats(LayoutUnit childMarginStart, Layo
utUnit childMarginEnd, const RenderBlockFlow* cb) const; |
| 436 | 436 |
| 437 LayoutUnit computeLogicalWidthUsing(SizeType, const Length& logicalWidth, La
youtUnit availableLogicalWidth, const RenderBlock* containingBlock) const; | 437 LayoutUnit computeLogicalWidthUsing(SizeType, const Length& logicalWidth, La
youtUnit availableLogicalWidth, const RenderBlock* containingBlock) const; |
| 438 LayoutUnit computeLogicalHeightUsing(const Length& height, LayoutUnit intrin
sicContentHeight) const; | 438 LayoutUnit computeLogicalHeightUsing(const Length& height, LayoutUnit intrin
sicContentHeight) const; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 449 static bool percentageLogicalHeightIsResolvableFromBlock(const RenderBlock*
containingBlock, bool outOfFlowPositioned); | 449 static bool percentageLogicalHeightIsResolvableFromBlock(const RenderBlock*
containingBlock, bool outOfFlowPositioned); |
| 450 LayoutUnit computePercentageLogicalHeight(const Length& height) const; | 450 LayoutUnit computePercentageLogicalHeight(const Length& height) const; |
| 451 | 451 |
| 452 // Block flows subclass availableWidth/Height to handle multi column layout
(shrinking the width/height available to children when laying out.) | 452 // Block flows subclass availableWidth/Height to handle multi column layout
(shrinking the width/height available to children when laying out.) |
| 453 virtual LayoutUnit availableLogicalWidth() const { return contentLogicalWidt
h(); } | 453 virtual LayoutUnit availableLogicalWidth() const { return contentLogicalWidt
h(); } |
| 454 virtual LayoutUnit availableLogicalHeight(AvailableLogicalHeightType) const; | 454 virtual LayoutUnit availableLogicalHeight(AvailableLogicalHeightType) const; |
| 455 LayoutUnit availableLogicalHeightUsing(const Length&, AvailableLogicalHeight
Type) const; | 455 LayoutUnit availableLogicalHeightUsing(const Length&, AvailableLogicalHeight
Type) const; |
| 456 | 456 |
| 457 // There are a few cases where we need to refer specifically to the availabl
e physical width and available physical height. | 457 // There are a few cases where we need to refer specifically to the availabl
e physical width and available physical height. |
| 458 // Relative positioning is one of those cases, since left/top offsets are ph
ysical. | 458 // Relative positioning is one of those cases, since left/top offsets are ph
ysical. |
| 459 LayoutUnit availableWidth() const { return style()->isHorizontalWritingMode(
) ? availableLogicalWidth() : availableLogicalHeight(IncludeMarginBorderPadding)
; } | 459 LayoutUnit availableWidth() const { return availableLogicalWidth(); } |
| 460 LayoutUnit availableHeight() const { return style()->isHorizontalWritingMode
() ? availableLogicalHeight(IncludeMarginBorderPadding) : availableLogicalWidth(
); } | 460 LayoutUnit availableHeight() const { return availableLogicalHeight(IncludeMa
rginBorderPadding); } |
| 461 | 461 |
| 462 virtual int verticalScrollbarWidth() const; | 462 virtual int verticalScrollbarWidth() const; |
| 463 int horizontalScrollbarHeight() const; | 463 int horizontalScrollbarHeight() const; |
| 464 int instrinsicScrollbarLogicalWidth() const; | 464 int instrinsicScrollbarLogicalWidth() const; |
| 465 int scrollbarLogicalHeight() const { return style()->isHorizontalWritingMode
() ? horizontalScrollbarHeight() : verticalScrollbarWidth(); } | 465 int scrollbarLogicalHeight() const { return horizontalScrollbarHeight(); } |
| 466 virtual bool scroll(ScrollDirection, ScrollGranularity, float delta = 1); | 466 virtual bool scroll(ScrollDirection, ScrollGranularity, float delta = 1); |
| 467 bool canBeScrolledAndHasScrollableArea() const; | 467 bool canBeScrolledAndHasScrollableArea() const; |
| 468 virtual bool canBeProgramaticallyScrolled() const; | 468 virtual bool canBeProgramaticallyScrolled() const; |
| 469 virtual void autoscroll(const IntPoint&); | 469 virtual void autoscroll(const IntPoint&); |
| 470 bool autoscrollInProgress() const; | 470 bool autoscrollInProgress() const; |
| 471 bool canAutoscroll() const; | 471 bool canAutoscroll() const; |
| 472 IntSize calculateAutoscrollDirection(const IntPoint& windowPoint) const; | 472 IntSize calculateAutoscrollDirection(const IntPoint& windowPoint) const; |
| 473 static RenderBox* findAutoscrollable(RenderObject*); | 473 static RenderBox* findAutoscrollable(RenderObject*); |
| 474 virtual void stopAutoscroll() { } | 474 virtual void stopAutoscroll() { } |
| 475 | 475 |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 670 void updateShapeOutsideInfoAfterStyleChange(const RenderStyle&, const Render
Style* oldStyle); | 670 void updateShapeOutsideInfoAfterStyleChange(const RenderStyle&, const Render
Style* oldStyle); |
| 671 void updateGridPositionAfterStyleChange(const RenderStyle*); | 671 void updateGridPositionAfterStyleChange(const RenderStyle*); |
| 672 | 672 |
| 673 void shrinkToFitWidth(const LayoutUnit availableSpace, const LayoutUnit logi
calLeftValue, const LayoutUnit bordersPlusPadding, LogicalExtentComputedValues&)
const; | 673 void shrinkToFitWidth(const LayoutUnit availableSpace, const LayoutUnit logi
calLeftValue, const LayoutUnit bordersPlusPadding, LogicalExtentComputedValues&)
const; |
| 674 | 674 |
| 675 // Returns true if we queued up a paint invalidation. | 675 // Returns true if we queued up a paint invalidation. |
| 676 bool paintInvalidationLayerRectsForImage(WrappedImagePtr, const FillLayer&,
bool drawingBackground); | 676 bool paintInvalidationLayerRectsForImage(WrappedImagePtr, const FillLayer&,
bool drawingBackground); |
| 677 | 677 |
| 678 bool skipContainingBlockForPercentHeightCalculation(const RenderBox* contain
ingBlock) const; | 678 bool skipContainingBlockForPercentHeightCalculation(const RenderBox* contain
ingBlock) const; |
| 679 | 679 |
| 680 LayoutUnit containingBlockLogicalWidthForPositioned(const RenderBoxModelObje
ct* containingBlock, bool checkForPerpendicularWritingMode = true) const; | 680 LayoutUnit containingBlockLogicalWidthForPositioned(const RenderBoxModelObje
ct* containingBlock) const; |
| 681 LayoutUnit containingBlockLogicalHeightForPositioned(const RenderBoxModelObj
ect* containingBlock, bool checkForPerpendicularWritingMode = true) const; | 681 LayoutUnit containingBlockLogicalHeightForPositioned(const RenderBoxModelObj
ect* containingBlock) const; |
| 682 | 682 |
| 683 void computePositionedLogicalHeight(LogicalExtentComputedValues&) const; | 683 void computePositionedLogicalHeight(LogicalExtentComputedValues&) const; |
| 684 void computePositionedLogicalWidthUsing(Length logicalWidth, const RenderBox
ModelObject* containerBlock, TextDirection containerDirection, | 684 void computePositionedLogicalWidthUsing(Length logicalWidth, const RenderBox
ModelObject* containerBlock, TextDirection containerDirection, |
| 685 LayoutUnit containerLogicalWidth, La
youtUnit bordersPlusPadding, | 685 LayoutUnit containerLogicalWidth, La
youtUnit bordersPlusPadding, |
| 686 const Length& logicalLeft, const Len
gth& logicalRight, const Length& marginLogicalLeft, | 686 const Length& logicalLeft, const Len
gth& logicalRight, const Length& marginLogicalLeft, |
| 687 const Length& marginLogicalRight, Lo
gicalExtentComputedValues&) const; | 687 const Length& marginLogicalRight, Lo
gicalExtentComputedValues&) const; |
| 688 void computePositionedLogicalHeightUsing(Length logicalHeightLength, const R
enderBoxModelObject* containerBlock, | 688 void computePositionedLogicalHeightUsing(Length logicalHeightLength, const R
enderBoxModelObject* containerBlock, |
| 689 LayoutUnit containerLogicalHeight,
LayoutUnit bordersPlusPadding, LayoutUnit logicalHeight, | 689 LayoutUnit containerLogicalHeight,
LayoutUnit bordersPlusPadding, LayoutUnit logicalHeight, |
| 690 const Length& logicalTop, const Len
gth& logicalBottom, const Length& marginLogicalTop, | 690 const Length& logicalTop, const Len
gth& logicalBottom, const Length& marginLogicalTop, |
| 691 const Length& marginLogicalBottom,
LogicalExtentComputedValues&) const; | 691 const Length& marginLogicalBottom,
LogicalExtentComputedValues&) const; |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 783 if (UNLIKELY(inlineBoxWrapper() != 0)) | 783 if (UNLIKELY(inlineBoxWrapper() != 0)) |
| 784 deleteLineBoxWrapper(); | 784 deleteLineBoxWrapper(); |
| 785 } | 785 } |
| 786 | 786 |
| 787 ensureRareData().m_inlineBoxWrapper = boxWrapper; | 787 ensureRareData().m_inlineBoxWrapper = boxWrapper; |
| 788 } | 788 } |
| 789 | 789 |
| 790 } // namespace blink | 790 } // namespace blink |
| 791 | 791 |
| 792 #endif // RenderBox_h | 792 #endif // RenderBox_h |
| OLD | NEW |