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 |