| 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 12 matching lines...) Expand all Loading... |
| 23 #ifndef RenderBox_h | 23 #ifndef RenderBox_h |
| 24 #define RenderBox_h | 24 #define RenderBox_h |
| 25 | 25 |
| 26 #include "core/rendering/RenderBoxModelObject.h" | 26 #include "core/rendering/RenderBoxModelObject.h" |
| 27 #include "core/rendering/RenderOverflow.h" | 27 #include "core/rendering/RenderOverflow.h" |
| 28 #include "core/rendering/shapes/ShapeOutsideInfo.h" | 28 #include "core/rendering/shapes/ShapeOutsideInfo.h" |
| 29 #include "platform/scroll/ScrollTypes.h" | 29 #include "platform/scroll/ScrollTypes.h" |
| 30 | 30 |
| 31 namespace WebCore { | 31 namespace WebCore { |
| 32 | 32 |
| 33 class RenderBoxRegionInfo; | |
| 34 class RenderRegion; | |
| 35 struct PaintInfo; | 33 struct PaintInfo; |
| 36 | 34 |
| 37 enum SizeType { MainOrPreferredSize, MinSize, MaxSize }; | 35 enum SizeType { MainOrPreferredSize, MinSize, MaxSize }; |
| 38 enum AvailableLogicalHeightType { ExcludeMarginBorderPadding, IncludeMarginBorde
rPadding }; | 36 enum AvailableLogicalHeightType { ExcludeMarginBorderPadding, IncludeMarginBorde
rPadding }; |
| 39 enum OverlayScrollbarSizeRelevancy { IgnoreOverlayScrollbarSize, IncludeOverlayS
crollbarSize }; | 37 enum OverlayScrollbarSizeRelevancy { IgnoreOverlayScrollbarSize, IncludeOverlayS
crollbarSize }; |
| 40 | 38 |
| 41 enum ShouldComputePreferred { ComputeActual, ComputePreferred }; | 39 enum ShouldComputePreferred { ComputeActual, ComputePreferred }; |
| 42 | 40 |
| 43 enum ContentsClipBehavior { ForceContentsClip, SkipContentsClipIfPossible }; | 41 enum ContentsClipBehavior { ForceContentsClip, SkipContentsClipIfPossible }; |
| 44 | 42 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 61 InlineBox* m_inlineBoxWrapper; | 59 InlineBox* m_inlineBoxWrapper; |
| 62 | 60 |
| 63 LayoutUnit m_overrideLogicalContentHeight; | 61 LayoutUnit m_overrideLogicalContentHeight; |
| 64 LayoutUnit m_overrideLogicalContentWidth; | 62 LayoutUnit m_overrideLogicalContentWidth; |
| 65 }; | 63 }; |
| 66 | 64 |
| 67 | 65 |
| 68 class RenderBox : public RenderBoxModelObject { | 66 class RenderBox : public RenderBoxModelObject { |
| 69 public: | 67 public: |
| 70 explicit RenderBox(ContainerNode*); | 68 explicit RenderBox(ContainerNode*); |
| 71 virtual ~RenderBox(); | |
| 72 | 69 |
| 73 // hasAutoZIndex only returns true if the element is positioned or a flex-it
em since | 70 // hasAutoZIndex only returns true if the element is positioned or a flex-it
em since |
| 74 // position:static elements that are not flex-items get their z-index coerce
d to auto. | 71 // position:static elements that are not flex-items get their z-index coerce
d to auto. |
| 75 virtual LayerType layerTypeRequired() const OVERRIDE | 72 virtual LayerType layerTypeRequired() const OVERRIDE |
| 76 { | 73 { |
| 77 if (isRoot() || isPositioned() || createsGroup() || hasClipPath() || has
Transform() || hasHiddenBackface() || hasReflection() || style()->specifiesColum
ns() || !style()->hasAutoZIndex()) | 74 if (isRoot() || isPositioned() || createsGroup() || hasClipPath() || has
Transform() || hasHiddenBackface() || hasReflection() || style()->specifiesColum
ns() || !style()->hasAutoZIndex()) |
| 78 return NormalLayer; | 75 return NormalLayer; |
| 79 if (hasOverflowClip()) | 76 if (hasOverflowClip()) |
| 80 return OverflowClipLayer; | 77 return OverflowClipLayer; |
| 81 | 78 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 106 void setWidth(LayoutUnit width) { m_frameRect.setWidth(width); } | 103 void setWidth(LayoutUnit width) { m_frameRect.setWidth(width); } |
| 107 void setHeight(LayoutUnit height) { m_frameRect.setHeight(height); } | 104 void setHeight(LayoutUnit height) { m_frameRect.setHeight(height); } |
| 108 | 105 |
| 109 LayoutUnit logicalLeft() const { return style()->isHorizontalWritingMode() ?
x() : y(); } | 106 LayoutUnit logicalLeft() const { return style()->isHorizontalWritingMode() ?
x() : y(); } |
| 110 LayoutUnit logicalRight() const { return logicalLeft() + logicalWidth(); } | 107 LayoutUnit logicalRight() const { return logicalLeft() + logicalWidth(); } |
| 111 LayoutUnit logicalTop() const { return style()->isHorizontalWritingMode() ?
y() : x(); } | 108 LayoutUnit logicalTop() const { return style()->isHorizontalWritingMode() ?
y() : x(); } |
| 112 LayoutUnit logicalBottom() const { return logicalTop() + logicalHeight(); } | 109 LayoutUnit logicalBottom() const { return logicalTop() + logicalHeight(); } |
| 113 LayoutUnit logicalWidth() const { return style()->isHorizontalWritingMode()
? width() : height(); } | 110 LayoutUnit logicalWidth() const { return style()->isHorizontalWritingMode()
? width() : height(); } |
| 114 LayoutUnit logicalHeight() const { return style()->isHorizontalWritingMode()
? height() : width(); } | 111 LayoutUnit logicalHeight() const { return style()->isHorizontalWritingMode()
? height() : width(); } |
| 115 | 112 |
| 116 LayoutUnit constrainLogicalWidthInRegionByMinMax(LayoutUnit, LayoutUnit, Ren
derBlock*, RenderRegion* = 0) const; | 113 LayoutUnit constrainLogicalWidthByMinMax(LayoutUnit, LayoutUnit, RenderBlock
*) const; |
| 117 LayoutUnit constrainLogicalHeightByMinMax(LayoutUnit logicalHeight, LayoutUn
it intrinsicContentHeight) const; | 114 LayoutUnit constrainLogicalHeightByMinMax(LayoutUnit logicalHeight, LayoutUn
it intrinsicContentHeight) const; |
| 118 LayoutUnit constrainContentBoxLogicalHeightByMinMax(LayoutUnit logicalHeight
, LayoutUnit intrinsicContentHeight) const; | 115 LayoutUnit constrainContentBoxLogicalHeightByMinMax(LayoutUnit logicalHeight
, LayoutUnit intrinsicContentHeight) const; |
| 119 | 116 |
| 120 int pixelSnappedLogicalHeight() const { return style()->isHorizontalWritingM
ode() ? pixelSnappedHeight() : pixelSnappedWidth(); } | 117 int pixelSnappedLogicalHeight() const { return style()->isHorizontalWritingM
ode() ? pixelSnappedHeight() : pixelSnappedWidth(); } |
| 121 int pixelSnappedLogicalWidth() const { return style()->isHorizontalWritingMo
de() ? pixelSnappedWidth() : pixelSnappedHeight(); } | 118 int pixelSnappedLogicalWidth() const { return style()->isHorizontalWritingMo
de() ? pixelSnappedWidth() : pixelSnappedHeight(); } |
| 122 | 119 |
| 123 void setLogicalLeft(LayoutUnit left) | 120 void setLogicalLeft(LayoutUnit left) |
| 124 { | 121 { |
| 125 if (style()->isHorizontalWritingMode()) | 122 if (style()->isHorizontalWritingMode()) |
| 126 setX(left); | 123 setX(left); |
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 391 ComputedMarginValues m_margins; | 388 ComputedMarginValues m_margins; |
| 392 }; | 389 }; |
| 393 // Resolve auto margins in the inline direction of the containing block so t
hat objects can be pushed to the start, middle or end | 390 // Resolve auto margins in the inline direction of the containing block so t
hat objects can be pushed to the start, middle or end |
| 394 // of the containing block. | 391 // of the containing block. |
| 395 void computeInlineDirectionMargins(RenderBlock* containingBlock, LayoutUnit
containerWidth, LayoutUnit childWidth, LayoutUnit& marginStart, LayoutUnit& marg
inEnd) const; | 392 void computeInlineDirectionMargins(RenderBlock* containingBlock, LayoutUnit
containerWidth, LayoutUnit childWidth, LayoutUnit& marginStart, LayoutUnit& marg
inEnd) const; |
| 396 | 393 |
| 397 // 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. |
| 398 void computeBlockDirectionMargins(const RenderBlock* containingBlock, Layout
Unit& marginBefore, LayoutUnit& marginAfter) const; | 395 void computeBlockDirectionMargins(const RenderBlock* containingBlock, Layout
Unit& marginBefore, LayoutUnit& marginAfter) const; |
| 399 void computeAndSetBlockDirectionMargins(const RenderBlock* containingBlock); | 396 void computeAndSetBlockDirectionMargins(const RenderBlock* containingBlock); |
| 400 | 397 |
| 401 enum RenderBoxRegionInfoFlags { CacheRenderBoxRegionInfo, DoNotCacheRenderBo
xRegionInfo }; | |
| 402 LayoutRect borderBoxRectInRegion(RenderRegion*, RenderBoxRegionInfoFlags = C
acheRenderBoxRegionInfo) const; | |
| 403 void clearRenderBoxRegionInfo(); | |
| 404 virtual LayoutUnit offsetFromLogicalTopOfFirstPage() const; | 398 virtual LayoutUnit offsetFromLogicalTopOfFirstPage() const; |
| 405 | 399 |
| 406 void positionLineBox(InlineBox*); | 400 void positionLineBox(InlineBox*); |
| 407 | 401 |
| 408 virtual InlineBox* createInlineBox(); | 402 virtual InlineBox* createInlineBox(); |
| 409 void dirtyLineBoxes(bool fullLayout); | 403 void dirtyLineBoxes(bool fullLayout); |
| 410 | 404 |
| 411 // For inline replaced elements, this function returns the inline box that o
wns us. Enables | 405 // For inline replaced elements, this function returns the inline box that o
wns us. Enables |
| 412 // the replaced RenderObject to quickly determine what line it is contained
on and to easily | 406 // the replaced RenderObject to quickly determine what line it is contained
on and to easily |
| 413 // iterate over structures on the line. | 407 // iterate over structures on the line. |
| 414 InlineBox* inlineBoxWrapper() const { return m_rareData ? m_rareData->m_inli
neBoxWrapper : 0; } | 408 InlineBox* inlineBoxWrapper() const { return m_rareData ? m_rareData->m_inli
neBoxWrapper : 0; } |
| 415 void setInlineBoxWrapper(InlineBox*); | 409 void setInlineBoxWrapper(InlineBox*); |
| 416 void deleteLineBoxWrapper(); | 410 void deleteLineBoxWrapper(); |
| 417 | 411 |
| 418 virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObjec
t* repaintContainer) const OVERRIDE; | 412 virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObjec
t* repaintContainer) const OVERRIDE; |
| 419 virtual void computeRectForRepaint(const RenderLayerModelObject* repaintCont
ainer, LayoutRect&, bool fixed = false) const OVERRIDE; | 413 virtual void computeRectForRepaint(const RenderLayerModelObject* repaintCont
ainer, LayoutRect&, bool fixed = false) const OVERRIDE; |
| 420 void repaintDuringLayoutIfMoved(const LayoutRect&); | 414 void repaintDuringLayoutIfMoved(const LayoutRect&); |
| 421 virtual void repaintOverhangingFloats(bool paintAllDescendants); | 415 virtual void repaintOverhangingFloats(bool paintAllDescendants); |
| 422 | 416 |
| 423 virtual LayoutUnit containingBlockLogicalWidthForContent() const OVERRIDE; | 417 virtual LayoutUnit containingBlockLogicalWidthForContent() const OVERRIDE; |
| 424 LayoutUnit containingBlockLogicalHeightForContent(AvailableLogicalHeightType
) const; | 418 LayoutUnit containingBlockLogicalHeightForContent(AvailableLogicalHeightType
) const; |
| 425 | 419 |
| 426 LayoutUnit containingBlockLogicalWidthForContentInRegion(RenderRegion*) cons
t; | 420 LayoutUnit containingBlockAvailableLineWidth() const; |
| 427 LayoutUnit containingBlockAvailableLineWidthInRegion(RenderRegion*) const; | |
| 428 LayoutUnit perpendicularContainingBlockLogicalHeight() const; | 421 LayoutUnit perpendicularContainingBlockLogicalHeight() const; |
| 429 | 422 |
| 430 virtual void updateLogicalWidth(); | 423 virtual void updateLogicalWidth(); |
| 431 virtual void updateLogicalHeight(); | 424 virtual void updateLogicalHeight(); |
| 432 virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logic
alTop, LogicalExtentComputedValues&) const; | 425 virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logic
alTop, LogicalExtentComputedValues&) const; |
| 433 | 426 |
| 434 RenderBoxRegionInfo* renderBoxRegionInfo(RenderRegion*, RenderBoxRegionInfoF
lags = CacheRenderBoxRegionInfo) const; | 427 void computeLogicalWidth(LogicalExtentComputedValues&) const; |
| 435 void computeLogicalWidthInRegion(LogicalExtentComputedValues&, RenderRegion*
= 0) const; | |
| 436 | 428 |
| 437 bool stretchesToViewport() const | 429 bool stretchesToViewport() const |
| 438 { | 430 { |
| 439 return document().inQuirksMode() && style()->logicalHeight().isAuto() &&
!isFloatingOrOutOfFlowPositioned() && (isRoot() || isBody()) && !isInline(); | 431 return document().inQuirksMode() && style()->logicalHeight().isAuto() &&
!isFloatingOrOutOfFlowPositioned() && (isRoot() || isBody()) && !isInline(); |
| 440 } | 432 } |
| 441 | 433 |
| 442 virtual LayoutSize intrinsicSize() const { return LayoutSize(); } | 434 virtual LayoutSize intrinsicSize() const { return LayoutSize(); } |
| 443 LayoutUnit intrinsicLogicalWidth() const { return style()->isHorizontalWriti
ngMode() ? intrinsicSize().width() : intrinsicSize().height(); } | 435 LayoutUnit intrinsicLogicalWidth() const { return style()->isHorizontalWriti
ngMode() ? intrinsicSize().width() : intrinsicSize().height(); } |
| 444 LayoutUnit intrinsicLogicalHeight() const { return style()->isHorizontalWrit
ingMode() ? intrinsicSize().height() : intrinsicSize().width(); } | 436 LayoutUnit intrinsicLogicalHeight() const { return style()->isHorizontalWrit
ingMode() ? intrinsicSize().height() : intrinsicSize().width(); } |
| 445 | 437 |
| 446 // Whether or not the element shrinks to its intrinsic width (rather than fi
lling the width | 438 // Whether or not the element shrinks to its intrinsic width (rather than fi
lling the width |
| 447 // of a containing block). HTML4 buttons, <select>s, <input>s, legends, and
floating/compact elements do this. | 439 // of a containing block). HTML4 buttons, <select>s, <input>s, legends, and
floating/compact elements do this. |
| 448 bool sizesLogicalWidthToFitContent(SizeType) const; | 440 bool sizesLogicalWidthToFitContent(SizeType) const; |
| 449 | 441 |
| 450 LayoutUnit shrinkLogicalWidthToAvoidFloats(LayoutUnit childMarginStart, Layo
utUnit childMarginEnd, const RenderBlockFlow* cb, RenderRegion*) const; | 442 LayoutUnit shrinkLogicalWidthToAvoidFloats(LayoutUnit childMarginStart, Layo
utUnit childMarginEnd, const RenderBlockFlow* cb) const; |
| 451 | 443 |
| 452 LayoutUnit computeLogicalWidthInRegionUsing(SizeType, Length logicalWidth, L
ayoutUnit availableLogicalWidth, const RenderBlock* containingBlock, RenderRegio
n*) const; | 444 LayoutUnit computeLogicalWidthUsing(SizeType, Length logicalWidth, LayoutUni
t availableLogicalWidth, const RenderBlock* containingBlock) const; |
| 453 LayoutUnit computeLogicalHeightUsing(const Length& height, LayoutUnit intrin
sicContentHeight) const; | 445 LayoutUnit computeLogicalHeightUsing(const Length& height, LayoutUnit intrin
sicContentHeight) const; |
| 454 LayoutUnit computeContentLogicalHeight(const Length& height, LayoutUnit intr
insicContentHeight) const; | 446 LayoutUnit computeContentLogicalHeight(const Length& height, LayoutUnit intr
insicContentHeight) const; |
| 455 LayoutUnit computeContentAndScrollbarLogicalHeightUsing(const Length& height
, LayoutUnit intrinsicContentHeight) const; | 447 LayoutUnit computeContentAndScrollbarLogicalHeightUsing(const Length& height
, LayoutUnit intrinsicContentHeight) const; |
| 456 LayoutUnit computeReplacedLogicalWidthUsing(Length width) const; | 448 LayoutUnit computeReplacedLogicalWidthUsing(Length width) const; |
| 457 LayoutUnit computeReplacedLogicalWidthRespectingMinMaxWidth(LayoutUnit logic
alWidth, ShouldComputePreferred = ComputeActual) const; | 449 LayoutUnit computeReplacedLogicalWidthRespectingMinMaxWidth(LayoutUnit logic
alWidth, ShouldComputePreferred = ComputeActual) const; |
| 458 LayoutUnit computeReplacedLogicalHeightUsing(Length height) const; | 450 LayoutUnit computeReplacedLogicalHeightUsing(Length height) const; |
| 459 LayoutUnit computeReplacedLogicalHeightRespectingMinMaxHeight(LayoutUnit log
icalHeight) const; | 451 LayoutUnit computeReplacedLogicalHeightRespectingMinMaxHeight(LayoutUnit log
icalHeight) const; |
| 460 | 452 |
| 461 virtual LayoutUnit computeReplacedLogicalWidth(ShouldComputePreferred = Com
puteActual) const; | 453 virtual LayoutUnit computeReplacedLogicalWidth(ShouldComputePreferred = Com
puteActual) const; |
| 462 virtual LayoutUnit computeReplacedLogicalHeight() const; | 454 virtual LayoutUnit computeReplacedLogicalHeight() const; |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 501 | 493 |
| 502 // Elements such as the <input> field override this to specify that they are
scrollable | 494 // Elements such as the <input> field override this to specify that they are
scrollable |
| 503 // outside the context of the CSS overflow style | 495 // outside the context of the CSS overflow style |
| 504 virtual bool isIntristicallyScrollable(ScrollbarOrientation orientation) con
st { return false; } | 496 virtual bool isIntristicallyScrollable(ScrollbarOrientation orientation) con
st { return false; } |
| 505 | 497 |
| 506 bool hasUnsplittableScrollingOverflow() const; | 498 bool hasUnsplittableScrollingOverflow() const; |
| 507 bool isUnsplittableForPagination() const; | 499 bool isUnsplittableForPagination() const; |
| 508 | 500 |
| 509 virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* e
xtraWidthToEndOfLine = 0) OVERRIDE; | 501 virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* e
xtraWidthToEndOfLine = 0) OVERRIDE; |
| 510 | 502 |
| 511 virtual LayoutRect overflowClipRect(const LayoutPoint& location, RenderRegio
n*, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize); | 503 virtual LayoutRect overflowClipRect(const LayoutPoint& location, OverlayScro
llbarSizeRelevancy = IgnoreOverlayScrollbarSize); |
| 512 LayoutRect clipRect(const LayoutPoint& location, RenderRegion*); | 504 LayoutRect clipRect(const LayoutPoint& location); |
| 513 virtual bool hasControlClip() const { return false; } | 505 virtual bool hasControlClip() const { return false; } |
| 514 virtual LayoutRect controlClipRect(const LayoutPoint&) const { return Layout
Rect(); } | 506 virtual LayoutRect controlClipRect(const LayoutPoint&) const { return Layout
Rect(); } |
| 515 bool pushContentsClip(PaintInfo&, const LayoutPoint& accumulatedOffset, Cont
entsClipBehavior); | 507 bool pushContentsClip(PaintInfo&, const LayoutPoint& accumulatedOffset, Cont
entsClipBehavior); |
| 516 void popContentsClip(PaintInfo&, PaintPhase originalPhase, const LayoutPoint
& accumulatedOffset); | 508 void popContentsClip(PaintInfo&, PaintPhase originalPhase, const LayoutPoint
& accumulatedOffset); |
| 517 | 509 |
| 518 virtual void paintObject(PaintInfo&, const LayoutPoint&) { ASSERT_NOT_REACHE
D(); } | 510 virtual void paintObject(PaintInfo&, const LayoutPoint&) { ASSERT_NOT_REACHE
D(); } |
| 519 virtual void paintBoxDecorations(PaintInfo&, const LayoutPoint&); | 511 virtual void paintBoxDecorations(PaintInfo&, const LayoutPoint&); |
| 520 virtual void paintMask(PaintInfo&, const LayoutPoint&); | 512 virtual void paintMask(PaintInfo&, const LayoutPoint&); |
| 521 virtual void paintClippingMask(PaintInfo&, const LayoutPoint&); | 513 virtual void paintClippingMask(PaintInfo&, const LayoutPoint&); |
| 522 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0) OVERRIDE; | 514 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0) OVERRIDE; |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 646 | 638 |
| 647 void paintFillLayer(const PaintInfo&, const Color&, const FillLayer*, const
LayoutRect&, BackgroundBleedAvoidance, CompositeOperator, RenderObject* backgrou
ndObject); | 639 void paintFillLayer(const PaintInfo&, const Color&, const FillLayer*, const
LayoutRect&, BackgroundBleedAvoidance, CompositeOperator, RenderObject* backgrou
ndObject); |
| 648 void paintFillLayers(const PaintInfo&, const Color&, const FillLayer*, const
LayoutRect&, BackgroundBleedAvoidance = BackgroundBleedNone, CompositeOperator
= CompositeSourceOver, RenderObject* backgroundObject = 0); | 640 void paintFillLayers(const PaintInfo&, const Color&, const FillLayer*, const
LayoutRect&, BackgroundBleedAvoidance = BackgroundBleedNone, CompositeOperator
= CompositeSourceOver, RenderObject* backgroundObject = 0); |
| 649 | 641 |
| 650 void paintMaskImages(const PaintInfo&, const LayoutRect&); | 642 void paintMaskImages(const PaintInfo&, const LayoutRect&); |
| 651 void paintBoxDecorationsWithRect(PaintInfo&, const LayoutPoint&, const Layou
tRect&); | 643 void paintBoxDecorationsWithRect(PaintInfo&, const LayoutPoint&, const Layou
tRect&); |
| 652 | 644 |
| 653 BackgroundBleedAvoidance determineBackgroundBleedAvoidance(GraphicsContext*)
const; | 645 BackgroundBleedAvoidance determineBackgroundBleedAvoidance(GraphicsContext*)
const; |
| 654 bool backgroundHasOpaqueTopLayer() const; | 646 bool backgroundHasOpaqueTopLayer() const; |
| 655 | 647 |
| 656 void computePositionedLogicalWidth(LogicalExtentComputedValues&, RenderRegio
n* = 0) const; | 648 void computePositionedLogicalWidth(LogicalExtentComputedValues&) const; |
| 657 | 649 |
| 658 LayoutUnit computeIntrinsicLogicalWidthUsing(Length logicalWidthLength, Layo
utUnit availableLogicalWidth, LayoutUnit borderAndPadding) const; | 650 LayoutUnit computeIntrinsicLogicalWidthUsing(Length logicalWidthLength, Layo
utUnit availableLogicalWidth, LayoutUnit borderAndPadding) const; |
| 659 LayoutUnit computeIntrinsicLogicalContentHeightUsing(Length logicalHeightLen
gth, LayoutUnit intrinsicContentHeight, LayoutUnit borderAndPadding) const; | 651 LayoutUnit computeIntrinsicLogicalContentHeightUsing(Length logicalHeightLen
gth, LayoutUnit intrinsicContentHeight, LayoutUnit borderAndPadding) const; |
| 660 | 652 |
| 661 virtual bool shouldComputeSizeAsReplaced() const { return isReplaced() && !i
sInlineBlockOrInlineTable(); } | 653 virtual bool shouldComputeSizeAsReplaced() const { return isReplaced() && !i
sInlineBlockOrInlineTable(); } |
| 662 | 654 |
| 663 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai
ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed =
0) const OVERRIDE; | 655 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai
ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed =
0) const OVERRIDE; |
| 664 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c
onst OVERRIDE; | 656 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c
onst OVERRIDE; |
| 665 | 657 |
| 666 void paintRootBoxFillLayers(const PaintInfo&); | 658 void paintRootBoxFillLayers(const PaintInfo&); |
| 667 | 659 |
| 668 RenderObject* splitAnonymousBoxesAroundChild(RenderObject* beforeChild); | 660 RenderObject* splitAnonymousBoxesAroundChild(RenderObject* beforeChild); |
| 669 | 661 |
| 670 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer* cur
rentCompositedLayer, const LayoutPoint& layerOffset, const LayoutRect& container
Rect) const OVERRIDE; | 662 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer* cur
rentCompositedLayer, const LayoutPoint& layerOffset, const LayoutRect& container
Rect) const OVERRIDE; |
| 671 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint&
layerOffset) const OVERRIDE; | 663 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint&
layerOffset) const OVERRIDE; |
| 672 | 664 |
| 673 private: | 665 private: |
| 674 void updateShapeOutsideInfoAfterStyleChange(const RenderStyle&, const Render
Style* oldStyle); | 666 void updateShapeOutsideInfoAfterStyleChange(const RenderStyle&, const Render
Style* oldStyle); |
| 675 void updateGridPositionAfterStyleChange(const RenderStyle*); | 667 void updateGridPositionAfterStyleChange(const RenderStyle*); |
| 676 | 668 |
| 677 bool autoWidthShouldFitContent() const; | 669 bool autoWidthShouldFitContent() const; |
| 678 void shrinkToFitWidth(const LayoutUnit availableSpace, const LayoutUnit logi
calLeftValue, const LayoutUnit bordersPlusPadding, LogicalExtentComputedValues&)
const; | 670 void shrinkToFitWidth(const LayoutUnit availableSpace, const LayoutUnit logi
calLeftValue, const LayoutUnit bordersPlusPadding, LogicalExtentComputedValues&)
const; |
| 679 | 671 |
| 680 // Returns true if we did a full repaint | 672 // Returns true if we did a full repaint |
| 681 bool repaintLayerRectsForImage(WrappedImagePtr image, const FillLayer* layer
s, bool drawingBackground); | 673 bool repaintLayerRectsForImage(WrappedImagePtr image, const FillLayer* layer
s, bool drawingBackground); |
| 682 | 674 |
| 683 bool skipContainingBlockForPercentHeightCalculation(const RenderBox* contain
ingBlock) const; | 675 bool skipContainingBlockForPercentHeightCalculation(const RenderBox* contain
ingBlock) const; |
| 684 | 676 |
| 685 LayoutUnit containingBlockLogicalWidthForPositioned(const RenderBoxModelObje
ct* containingBlock, RenderRegion* = 0, bool checkForPerpendicularWritingMode =
true) const; | 677 LayoutUnit containingBlockLogicalWidthForPositioned(const RenderBoxModelObje
ct* containingBlock, bool checkForPerpendicularWritingMode = true) const; |
| 686 LayoutUnit containingBlockLogicalHeightForPositioned(const RenderBoxModelObj
ect* containingBlock, bool checkForPerpendicularWritingMode = true) const; | 678 LayoutUnit containingBlockLogicalHeightForPositioned(const RenderBoxModelObj
ect* containingBlock, bool checkForPerpendicularWritingMode = true) const; |
| 687 | 679 |
| 688 LayoutUnit viewLogicalHeightForPercentages() const; | 680 LayoutUnit viewLogicalHeightForPercentages() const; |
| 689 | 681 |
| 690 void computePositionedLogicalHeight(LogicalExtentComputedValues&) const; | 682 void computePositionedLogicalHeight(LogicalExtentComputedValues&) const; |
| 691 void computePositionedLogicalWidthUsing(Length logicalWidth, const RenderBox
ModelObject* containerBlock, TextDirection containerDirection, | 683 void computePositionedLogicalWidthUsing(Length logicalWidth, const RenderBox
ModelObject* containerBlock, TextDirection containerDirection, |
| 692 LayoutUnit containerLogicalWidth, La
youtUnit bordersPlusPadding, | 684 LayoutUnit containerLogicalWidth, La
youtUnit bordersPlusPadding, |
| 693 Length logicalLeft, Length logicalRi
ght, Length marginLogicalLeft, Length marginLogicalRight, | 685 Length logicalLeft, Length logicalRi
ght, Length marginLogicalLeft, Length marginLogicalRight, |
| 694 LogicalExtentComputedValues&) const; | 686 LogicalExtentComputedValues&) const; |
| 695 void computePositionedLogicalHeightUsing(Length logicalHeightLength, const R
enderBoxModelObject* containerBlock, | 687 void computePositionedLogicalHeightUsing(Length logicalHeightLength, const R
enderBoxModelObject* containerBlock, |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 782 if (UNLIKELY(inlineBoxWrapper() != 0)) | 774 if (UNLIKELY(inlineBoxWrapper() != 0)) |
| 783 deleteLineBoxWrapper(); | 775 deleteLineBoxWrapper(); |
| 784 } | 776 } |
| 785 | 777 |
| 786 ensureRareData().m_inlineBoxWrapper = boxWrapper; | 778 ensureRareData().m_inlineBoxWrapper = boxWrapper; |
| 787 } | 779 } |
| 788 | 780 |
| 789 } // namespace WebCore | 781 } // namespace WebCore |
| 790 | 782 |
| 791 #endif // RenderBox_h | 783 #endif // RenderBox_h |
| OLD | NEW |