| Index: third_party/WebKit/Source/core/layout/LayoutBox.h
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.h b/third_party/WebKit/Source/core/layout/LayoutBox.h
|
| index eec2891efc9e3a2cba7012371b93c07dfbb279de..073afc020c45911fcd62bfc5d05bb65fd79a80f3 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutBox.h
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutBox.h
|
| @@ -75,7 +75,8 @@ struct LayoutBoxRareData {
|
| m_snapContainer(nullptr),
|
| m_snapAreas(nullptr) {}
|
|
|
| - // For spanners, the spanner placeholder that lays us out within the multicol container.
|
| + // For spanners, the spanner placeholder that lays us out within the multicol
|
| + // container.
|
| LayoutMultiColumnSpannerPlaceholder* m_spannerPlaceholder;
|
|
|
| LayoutUnit m_overrideLogicalContentWidth;
|
| @@ -331,9 +332,10 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| virtual LayoutBox* locationContainer() const;
|
|
|
| // FIXME: Currently scrollbars are using int geometry and positioned based on
|
| - // pixelSnappedBorderBoxRect whose size may change when location changes because of
|
| - // pixel snapping. This function is used to change location of the LayoutBox outside
|
| - // of LayoutBox::layout(). Will remove when we use LayoutUnits for scrollbars.
|
| + // pixelSnappedBorderBoxRect whose size may change when location changes
|
| + // because of pixel snapping. This function is used to change location of the
|
| + // LayoutBox outside of LayoutBox::layout(). Will remove when we use
|
| + // LayoutUnits for scrollbars.
|
| void setLocationAndUpdateOverflowControlsIfNeeded(const LayoutPoint&);
|
|
|
| void setSize(const LayoutSize& size) {
|
| @@ -374,7 +376,8 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| return pixelSnappedBorderBoxRect();
|
| }
|
|
|
| - // The content area of the box (excludes padding - and intrinsic padding for table cells, etc... - and border).
|
| + // The content area of the box (excludes padding - and intrinsic padding for
|
| + // table cells, etc... - and border).
|
| DISABLE_CFI_PERF LayoutRect contentBoxRect() const {
|
| return LayoutRect(borderLeft() + paddingLeft(), borderTop() + paddingTop(),
|
| contentWidth(), contentHeight());
|
| @@ -386,13 +389,16 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| IntRect absoluteContentBox() const;
|
| // The offset of the content box in absolute coords, ignoring transforms.
|
| IntSize absoluteContentBoxOffset() const;
|
| - // The content box converted to absolute coords (taking transforms into account).
|
| + // The content box converted to absolute coords (taking transforms into
|
| + // account).
|
| FloatQuad absoluteContentQuad() const;
|
| // The enclosing rectangle of the background with given opacity requirement.
|
| LayoutRect backgroundRect(BackgroundRectType) const;
|
|
|
| - // This returns the content area of the box (excluding padding and border). The only difference with contentBoxRect is that computedCSSContentBoxRect
|
| - // does include the intrinsic padding in the content box as this is what some callers expect (like getComputedStyle).
|
| + // This returns the content area of the box (excluding padding and border).
|
| + // The only difference with contentBoxRect is that computedCSSContentBoxRect
|
| + // does include the intrinsic padding in the content box as this is what some
|
| + // callers expect (like getComputedStyle).
|
| LayoutRect computedCSSContentBoxRect() const {
|
| return LayoutRect(
|
| borderLeft() + computedCSSPaddingLeft(),
|
| @@ -412,17 +418,20 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| LayoutBox* nextInFlowSiblingBox() const;
|
| LayoutBox* parentBox() const;
|
|
|
| - // Return the previous sibling column set or spanner placeholder. Only to be used on multicol container children.
|
| + // Return the previous sibling column set or spanner placeholder. Only to be
|
| + // used on multicol container children.
|
| LayoutBox* previousSiblingMultiColumnBox() const;
|
| - // Return the next sibling column set or spanner placeholder. Only to be used on multicol container children.
|
| + // Return the next sibling column set or spanner placeholder. Only to be used
|
| + // on multicol container children.
|
| LayoutBox* nextSiblingMultiColumnBox() const;
|
|
|
| bool canResize() const;
|
|
|
| - // Visual and layout overflow are in the coordinate space of the box. This means that they
|
| - // aren't purely physical directions. For horizontal-tb and vertical-lr they will match physical
|
| - // directions, but for vertical-rl, the left/right are flipped when compared to their physical
|
| - // counterparts. For example minX is on the left in vertical-lr, but it is on the right in
|
| + // Visual and layout overflow are in the coordinate space of the box. This
|
| + // means that they aren't purely physical directions. For horizontal-tb and
|
| + // vertical-lr they will match physical directions, but for vertical-rl, the
|
| + // left/right are flipped when compared to their physical counterparts.
|
| + // For example minX is on the left in vertical-lr, but it is on the right in
|
| // vertical-rl.
|
| LayoutRect noOverflowRect() const;
|
| LayoutRect layoutOverflowRect() const {
|
| @@ -460,10 +469,11 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| return m_overflow ? m_overflow->contentsVisualOverflowRect() : LayoutRect();
|
| }
|
|
|
| - // These methods don't mean the box *actually* has top/left overflow. They mean that
|
| - // *if* the box overflows, it will overflow to the top/left rather than the bottom/right.
|
| - // This happens when child content is laid out right-to-left (e.g. direction:rtl) or
|
| - // or bottom-to-top (e.g. direction:rtl writing-mode:vertical-rl).
|
| + // These methods don't mean the box *actually* has top/left overflow. They
|
| + // mean that *if* the box overflows, it will overflow to the top/left rather
|
| + // than the bottom/right. This happens when child content is laid out
|
| + // right-to-left (e.g. direction:rtl) or or bottom-to-top (e.g. direction:rtl
|
| + // writing-mode:vertical-rl).
|
| virtual bool hasTopOverflow() const;
|
| virtual bool hasLeftOverflow() const;
|
|
|
| @@ -500,16 +510,18 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| : contentWidth();
|
| }
|
|
|
| - // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlines (LayoutFlow)
|
| - // to return the remaining width on a given line (and the height of a single line).
|
| + // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlines
|
| + // (LayoutFlow) to return the remaining width on a given line (and the height
|
| + // of a single line).
|
| LayoutUnit offsetWidth() const override { return m_frameRect.width(); }
|
| LayoutUnit offsetHeight() const override { return m_frameRect.height(); }
|
|
|
| int pixelSnappedOffsetWidth(const Element*) const final;
|
| int pixelSnappedOffsetHeight(const Element*) const final;
|
|
|
| - // More IE extensions. clientWidth and clientHeight represent the interior of an object
|
| - // excluding border and scrollbar. clientLeft/Top are just the borderLeftWidth and borderTopWidth.
|
| + // More IE extensions. clientWidth and clientHeight represent the interior of
|
| + // an object excluding border and scrollbar. clientLeft/Top are just the
|
| + // borderLeftWidth and borderTopWidth.
|
| DISABLE_CFI_PERF LayoutUnit clientLeft() const {
|
| return LayoutUnit(borderLeft() +
|
| (shouldPlaceBlockDirectionScrollbarOnLogicalLeft()
|
| @@ -537,11 +549,11 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| int pixelSnappedClientWidth() const;
|
| int pixelSnappedClientHeight() const;
|
|
|
| - // scrollWidth/scrollHeight will be the same as clientWidth/clientHeight unless the
|
| - // object has overflow:hidden/scroll/auto specified and also has overflow.
|
| - // scrollLeft/Top return the current scroll position. These methods are virtual so that objects like
|
| - // textareas can scroll shadow content (but pretend that they are the objects that are
|
| - // scrolling).
|
| + // scrollWidth/scrollHeight will be the same as clientWidth/clientHeight
|
| + // unless the object has overflow:hidden/scroll/auto specified and also has
|
| + // overflow. scrollLeft/Top return the current scroll position. These methods
|
| + // are virtual so that objects like textareas can scroll shadow content (but
|
| + // pretend that they are the objects that are scrolling).
|
| virtual LayoutUnit scrollLeft() const;
|
| virtual LayoutUnit scrollTop() const;
|
| virtual LayoutUnit scrollWidth() const;
|
| @@ -640,11 +652,11 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| }
|
|
|
| // The following functions are used to implement collapsing margins.
|
| - // All objects know their maximal positive and negative margins. The
|
| - // formula for computing a collapsed margin is |maxPosMargin| - |maxNegmargin|.
|
| - // For a non-collapsing box, such as a leaf element, this formula will simply return
|
| - // the margin of the element. Blocks override the maxMarginBefore and maxMarginAfter
|
| - // methods.
|
| + // All objects know their maximal positive and negative margins. The formula
|
| + // for computing a collapsed margin is |maxPosMargin| - |maxNegmargin|.
|
| + // For a non-collapsing box, such as a leaf element, this formula will simply
|
| + // return the margin of the element. Blocks override the maxMarginBefore and
|
| + // maxMarginAfter methods.
|
| virtual bool isSelfCollapsingBlock() const { return false; }
|
| virtual LayoutUnit collapsedMarginBefore() const { return marginBefore(); }
|
| virtual LayoutUnit collapsedMarginAfter() const { return marginAfter(); }
|
| @@ -659,7 +671,8 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| FloatRect localBoundingBoxRectForAccessibility() const final;
|
|
|
| int reflectionOffset() const;
|
| - // Given a rect in the object's coordinate space, returns the corresponding rect in the reflection.
|
| + // Given a rect in the object's coordinate space, returns the corresponding
|
| + // rect in the reflection.
|
| LayoutRect reflectedRect(const LayoutRect&) const;
|
|
|
| void layout() override;
|
| @@ -672,10 +685,10 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| LayoutUnit minPreferredLogicalWidth() const override;
|
| LayoutUnit maxPreferredLogicalWidth() const override;
|
|
|
| - // FIXME: We should rename these back to overrideLogicalHeight/Width and have them store
|
| - // the border-box height/width like the regular height/width accessors on LayoutBox.
|
| - // Right now, these are different than contentHeight/contentWidth because they still
|
| - // include the scrollbar height/width.
|
| + // FIXME: We should rename these back to overrideLogicalHeight/Width and have
|
| + // them store the border-box height/width like the regular height/width
|
| + // accessors on LayoutBox. Right now, these are different than contentHeight/
|
| + // contentWidth because they still include the scrollbar height/width.
|
| LayoutUnit overrideLogicalContentWidth() const;
|
| LayoutUnit overrideLogicalContentHeight() const;
|
| bool hasOverrideLogicalContentHeight() const;
|
| @@ -743,8 +756,9 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| ComputedMarginValues m_margins;
|
| };
|
|
|
| - // Resolve auto margins in the chosen direction of the containing block so that objects can be pushed to the start, middle or end
|
| - // of the containing block.
|
| + // Resolve auto margins in the chosen direction of the containing block so
|
| + // that objects can be pushed to the start, middle or end of the containing
|
| + // block.
|
| void computeMarginsForDirection(MarginDirection forDirection,
|
| const LayoutBlock* containingBlock,
|
| LayoutUnit containerWidth,
|
| @@ -759,24 +773,26 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
|
|
| LayoutUnit offsetFromLogicalTopOfFirstPage() const;
|
|
|
| - // The page logical offset is the object's offset from the top of the page in the page progression
|
| - // direction (so an x-offset in vertical text and a y-offset for horizontal text).
|
| + // The page logical offset is the object's offset from the top of the page in
|
| + // the page progression direction (so an x-offset in vertical text and a
|
| + // y-offset for horizontal text).
|
| LayoutUnit pageLogicalOffset() const {
|
| return m_rareData ? m_rareData->m_pageLogicalOffset : LayoutUnit();
|
| }
|
| void setPageLogicalOffset(LayoutUnit);
|
|
|
| - // Specify which page or column to associate with an offset, if said offset is exactly at a page
|
| - // or column boundary.
|
| + // Specify which page or column to associate with an offset, if said offset is
|
| + // exactly at a page or column boundary.
|
| enum PageBoundaryRule { AssociateWithFormerPage, AssociateWithLatterPage };
|
| LayoutUnit pageLogicalHeightForOffset(LayoutUnit) const;
|
| LayoutUnit pageRemainingLogicalHeightForOffset(LayoutUnit,
|
| PageBoundaryRule) const;
|
|
|
| - // Calculate the strut to insert in order fit content of size |contentLogicalHeight|.
|
| - // |strutToNextPage| is the strut to add to |offset| to merely get to the top of the next page
|
| - // or column. This is what will be returned if the content can actually fit there. Otherwise,
|
| - // return the distance to the next fragmentainer that can fit this piece of content.
|
| + // Calculate the strut to insert in order fit content of size
|
| + // |contentLogicalHeight|. |strutToNextPage| is the strut to add to |offset|
|
| + // to merely get to the top of the next page or column. This is what will be
|
| + // returned if the content can actually fit there. Otherwise, return the
|
| + // distance to the next fragmentainer that can fit this piece of content.
|
| virtual LayoutUnit calculatePaginationStrutToFitContent(
|
| LayoutUnit offset,
|
| LayoutUnit strutToNextPage,
|
| @@ -788,9 +804,10 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| virtual InlineBox* createInlineBox();
|
| void dirtyLineBoxes(bool fullLayout);
|
|
|
| - // For atomic inline elements, this function returns the inline box that contains us. Enables
|
| - // the atomic inline LayoutObject to quickly determine what line it is contained on and to easily
|
| - // iterate over structures on the line.
|
| + // For atomic inline elements, this function returns the inline box that
|
| + // contains us. Enables the atomic inline LayoutObject to quickly determine
|
| + // what line it is contained on and to easily iterate over structures on the
|
| + // line.
|
| InlineBox* inlineBoxWrapper() const { return m_inlineBoxWrapper; }
|
| void setInlineBoxWrapper(InlineBox*);
|
| void deleteLineBoxWrapper();
|
| @@ -801,15 +818,16 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| return m_rareData ? m_rareData->m_spannerPlaceholder : 0;
|
| }
|
|
|
| - // A pagination strut is the amount of space needed to push an in-flow block-level object (or
|
| - // float) to the logical top of the next page or column. It will be set both for forced breaks
|
| - // (e.g. page-break-before:always) and soft breaks (when there's not enough space in the current
|
| - // page / column for the object). The strut is baked into the logicalTop() of the object, so
|
| - // that logicalTop() - paginationStrut() == the original position in the previous column before
|
| - // deciding to break.
|
| + // A pagination strut is the amount of space needed to push an in-flow block-
|
| + // level object (or float) to the logical top of the next page or column. It
|
| + // will be set both for forced breaks (e.g. page-break-before:always) and soft
|
| + // breaks (when there's not enough space in the current page / column for the
|
| + // object). The strut is baked into the logicalTop() of the object, so that
|
| + // logicalTop() - paginationStrut() == the original position in the previous
|
| + // column before deciding to break.
|
| //
|
| - // Pagination struts are either set in front of a block-level box (here) or before a line
|
| - // (RootInlineBox::paginationStrut()).
|
| + // Pagination struts are either set in front of a block-level box (here) or
|
| + // before a line (RootInlineBox::paginationStrut()).
|
| LayoutUnit paginationStrut() const {
|
| return m_rareData ? m_rareData->m_paginationStrut : LayoutUnit();
|
| }
|
| @@ -819,25 +837,27 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| m_rareData->m_paginationStrut = LayoutUnit();
|
| }
|
|
|
| - // Is the specified break-before or break-after value supported on this object? It needs to be
|
| - // in-flow all the way up to a fragmentation context that supports the specified value.
|
| + // Is the specified break-before or break-after value supported on this
|
| + // object? It needs to be in-flow all the way up to a fragmentation context
|
| + // that supports the specified value.
|
| bool isBreakBetweenControllable(EBreak) const;
|
|
|
| - // Is the specified break-inside value supported on this object? It needs to be contained by a
|
| - // fragmentation context that supports the specified value.
|
| + // Is the specified break-inside value supported on this object? It needs to
|
| + // be contained by a fragmentation context that supports the specified value.
|
| bool isBreakInsideControllable(EBreak) const;
|
|
|
| virtual EBreak breakAfter() const;
|
| virtual EBreak breakBefore() const;
|
| EBreak breakInside() const;
|
|
|
| - // Join two adjacent break values specified on break-before and/or break-after. avoid* values
|
| - // win over auto values, and forced break values win over avoid* values. |firstValue| is
|
| - // specified on an element earlier in the flow than |secondValue|. This method is used at class
|
| - // A break points [1], to join the values of the previous break-after and the next
|
| - // break-before, to figure out whether we may, must, or should not, break at that point. It is
|
| - // also used when propagating break-before values from first children and break-after values on
|
| - // last children to their container.
|
| + // Join two adjacent break values specified on break-before and/or break-
|
| + // after. avoid* values win over auto values, and forced break values win over
|
| + // avoid* values. |firstValue| is specified on an element earlier in the flow
|
| + // than |secondValue|. This method is used at class A break points [1], to
|
| + // join the values of the previous break-after and the next break-before, to
|
| + // figure out whether we may, must, or should not, break at that point. It is
|
| + // also used when propagating break-before values from first children and
|
| + // break-after values on last children to their container.
|
| //
|
| // [1] https://drafts.csswg.org/css-break/#possible-breaks
|
| static EBreak joinFragmentainerBreakValues(EBreak firstValue,
|
| @@ -847,9 +867,10 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
|
|
| EBreak classABreakPointValue(EBreak previousBreakAfterValue) const;
|
|
|
| - // Return true if we should insert a break in front of this box. The box needs to start at a
|
| - // valid class A break point in order to allow a forced break. To determine whether or not to
|
| - // break, we also need to know the break-after value of the previous in-flow sibling.
|
| + // Return true if we should insert a break in front of this box. The box needs
|
| + // to start at a valid class A break point in order to allow a forced break.
|
| + // To determine whether or not to break, we also need to know the break-after
|
| + // value of the previous in-flow sibling.
|
| bool needsForcedBreakBefore(EBreak previousBreakAfterValue) const;
|
|
|
| bool paintedOutputOfObjectHasNoEffectRegardlessOfSize() const override;
|
| @@ -873,10 +894,12 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| virtual void computeLogicalHeight(LayoutUnit logicalHeight,
|
| LayoutUnit logicalTop,
|
| LogicalExtentComputedValues&) const;
|
| - // This function will compute the logical border-box height, without laying out the box. This means that the result
|
| - // is only "correct" when the height is explicitly specified. This function exists so that intrinsic width calculations
|
| - // have a way to deal with children that have orthogonal flows.
|
| - // When there is no explicit height, this function assumes a content height of zero (and returns just border+padding)
|
| + // This function will compute the logical border-box height, without laying
|
| + // out the box. This means that the result is only "correct" when the height
|
| + // is explicitly specified. This function exists so that intrinsic width
|
| + // calculations have a way to deal with children that have orthogonal flows.
|
| + // When there is no explicit height, this function assumes a content height of
|
| + // zero (and returns just border+padding).
|
| LayoutUnit computeLogicalHeightWithoutLayout() const;
|
|
|
| void computeLogicalWidth(LogicalExtentComputedValues&) const;
|
| @@ -898,8 +921,9 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| return m_intrinsicContentLogicalHeight;
|
| }
|
|
|
| - // Whether or not the element shrinks to its intrinsic width (rather than filling the width
|
| - // of a containing block). HTML4 buttons, <select>s, <input>s, legends, and floating/compact elements do this.
|
| + // Whether or not the element shrinks to its intrinsic width (rather than
|
| + // filling the width of a containing block). HTML4 buttons, <select>s,
|
| + // <input>s, legends, and floating/compact elements do this.
|
| bool sizesLogicalWidthToFitContent(const Length& logicalWidth) const;
|
|
|
| LayoutUnit shrinkLogicalWidthToAvoidFloats(LayoutUnit childMarginStart,
|
| @@ -939,14 +963,16 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| bool percentageLogicalHeightIsResolvable() const;
|
| LayoutUnit computePercentageLogicalHeight(const Length& height) const;
|
|
|
| - // Block flows subclass availableWidth/Height to handle multi column layout (shrinking the width/height available to children when laying out.)
|
| + // Block flows subclass availableWidth/Height to handle multi column layout
|
| + // (shrinking the width/height available to children when laying out.)
|
| LayoutUnit availableLogicalWidth() const { return contentLogicalWidth(); }
|
| LayoutUnit availableLogicalHeight(AvailableLogicalHeightType) const;
|
| LayoutUnit availableLogicalHeightUsing(const Length&,
|
| AvailableLogicalHeightType) const;
|
|
|
| - // There are a few cases where we need to refer specifically to the available physical width and available physical height.
|
| - // Relative positioning is one of those cases, since left/top offsets are physical.
|
| + // There are a few cases where we need to refer specifically to the available
|
| + // physical width and available physical height. Relative positioning is one
|
| + // of those cases, since left/top offsets are physical.
|
| LayoutUnit availableWidth() const {
|
| return style()->isHorizontalWritingMode()
|
| ? availableLogicalWidth()
|
| @@ -1011,8 +1037,8 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| hasAutoVerticalScrollbar());
|
| }
|
|
|
| - // Elements such as the <input> field override this to specify that they are scrollable
|
| - // outside the context of the CSS overflow style
|
| + // Elements such as the <input> field override this to specify that they are
|
| + // scrollable outside the context of the CSS overflow style
|
| virtual bool isIntrinsicallyScrollable(
|
| ScrollbarOrientation orientation) const {
|
| return false;
|
| @@ -1022,9 +1048,12 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
|
|
| // Page / column breakability inside block-level objects.
|
| enum PaginationBreakability {
|
| - AllowAnyBreaks, // No restrictions on breaking. May examine children to find possible break points.
|
| - ForbidBreaks, // Forbid breaks inside this object. Content cannot be split nicely into smaller pieces.
|
| - AvoidBreaks // Preferably avoid breaks. If not possible, examine children to find possible break points.
|
| + AllowAnyBreaks, // No restrictions on breaking. May examine children to
|
| + // find possible break points.
|
| + ForbidBreaks, // Forbid breaks inside this object. Content cannot be split
|
| + // nicely into smaller pieces.
|
| + AvoidBreaks // Preferably avoid breaks. If not possible, examine children
|
| + // to find possible break points.
|
| };
|
| PaginationBreakability getPaginationBreakability() const;
|
|
|
| @@ -1042,7 +1071,8 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| return LayoutRect();
|
| }
|
|
|
| - // Returns the combination of overflow clip, contain: paint clip and CSS clip for this object, in local space.
|
| + // Returns the combination of overflow clip, contain: paint clip and CSS clip
|
| + // for this object, in local space.
|
| LayoutRect clippingRect() const;
|
|
|
| virtual void paintBoxDecorationBackground(const PaintInfo&,
|
| @@ -1063,7 +1093,8 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| virtual int firstLineBoxBaseline() const { return -1; }
|
| virtual int inlineBlockBaseline(LineDirectionMode) const {
|
| return -1;
|
| - } // Returns -1 if we should skip this box when computing the baseline of an inline-block.
|
| + } // Returns -1 if we should skip this box when computing the baseline of an
|
| + // inline-block.
|
|
|
| virtual Node* nodeForHitTest() const { return node(); }
|
|
|
| @@ -1115,7 +1146,8 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| LayoutPoint flipForWritingModeForChild(const LayoutBox* child,
|
| const LayoutPoint&) const;
|
| LayoutUnit flipForWritingMode(LayoutUnit position) const WARN_UNUSED_RETURN {
|
| - // The offset is in the block direction (y for horizontal writing modes, x for vertical writing modes).
|
| + // The offset is in the block direction (y for horizontal writing modes, x
|
| + // for vertical writing modes).
|
| if (!UNLIKELY(hasFlippedBlocksWritingMode()))
|
| return position;
|
| return logicalHeight() - position;
|
| @@ -1182,10 +1214,10 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| virtual IntSize originAdjustmentForScrollbars() const;
|
| IntSize scrolledContentOffset() const;
|
|
|
| - // Maps a rect in scrolling contents space to box space and apply overflow clip if needed.
|
| - // Returns true if no clipping applied or the rect actually intersects the clipping region.
|
| - // If edgeInclusive is true, then this method may return true even
|
| - // if the resulting rect has zero area.
|
| + // Maps a rect in scrolling contents space to box space and apply overflow
|
| + // clip if needed. Returns true if no clipping applied or the rect actually
|
| + // intersects the clipping region. If edgeInclusive is true, then this method
|
| + // may return true even if the resulting rect has zero area.
|
| bool mapScrollingContentsRectToBoxSpace(
|
| LayoutRect&,
|
| ApplyOverflowClipFlag,
|
| @@ -1290,8 +1322,10 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| return ItemPositionStretch;
|
| }
|
|
|
| - // Returns false if it could not cheaply compute the extent (e.g. fixed background), in which case the returned rect may be incorrect.
|
| - // FIXME: make this a const method once the LayoutBox reference in BoxPainter is const.
|
| + // Returns false if it could not cheaply compute the extent (e.g. fixed
|
| + // background), in which case the returned rect may be incorrect.
|
| + // FIXME: make this a const method once the LayoutBox reference in BoxPainter
|
| + // is const.
|
| bool getBackgroundPaintedExtent(LayoutRect&) const;
|
| virtual bool foregroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect,
|
| unsigned maxDepthToTest) const;
|
| @@ -1424,10 +1458,12 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
|
| LayoutUnit& marginStart,
|
| LayoutUnit& marginEnd) const;
|
|
|
| - // Calculates the intrinsic(https://drafts.csswg.org/css-sizing-3/#intrinsic) logical widths for this layout box.
|
| + // Calculates the intrinsic(https://drafts.csswg.org/css-sizing-3/#intrinsic)
|
| + // logical widths for this layout box.
|
| //
|
| // intrinsicWidth is defined as:
|
| - // intrinsic size of content (without our border and padding) + scrollbarWidth.
|
| + // intrinsic size of content (without our border and padding) +
|
| + // scrollbarWidth.
|
| //
|
| // preferredWidth is defined as:
|
| // fixedWidth OR (intrinsicWidth plus border and padding).
|
| @@ -1568,9 +1604,10 @@ inline LayoutBox* LayoutBox::nextSiblingMultiColumnBox() const {
|
| inline void LayoutBox::setInlineBoxWrapper(InlineBox* boxWrapper) {
|
| if (boxWrapper) {
|
| ASSERT(!m_inlineBoxWrapper);
|
| - // m_inlineBoxWrapper should already be nullptr. Deleting it is a safeguard against security issues.
|
| - // Otherwise, there will two line box wrappers keeping the reference to this layoutObject, and
|
| - // only one will be notified when the layoutObject is getting destroyed. The second line box wrapper
|
| + // m_inlineBoxWrapper should already be nullptr. Deleting it is a safeguard
|
| + // against security issues. Otherwise, there will two line box wrappers
|
| + // keeping the reference to this layoutObject, and only one will be notified
|
| + // when the layoutObject is getting destroyed. The second line box wrapper
|
| // will keep a stale reference.
|
| if (UNLIKELY(m_inlineBoxWrapper != nullptr))
|
| deleteLineBoxWrapper();
|
|
|