| 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 073afc020c45911fcd62bfc5d05bb65fd79a80f3..eec2891efc9e3a2cba7012371b93c07dfbb279de 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutBox.h
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutBox.h
|
| @@ -75,8 +75,7 @@
|
| 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;
|
| @@ -332,10 +331,9 @@
|
| 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) {
|
| @@ -376,8 +374,7 @@
|
| 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());
|
| @@ -389,16 +386,13 @@
|
| 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(),
|
| @@ -418,20 +412,17 @@
|
| 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 {
|
| @@ -469,11 +460,10 @@
|
| 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;
|
|
|
| @@ -510,18 +500,16 @@
|
| : 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()
|
| @@ -549,11 +537,11 @@
|
| 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;
|
| @@ -652,11 +640,11 @@
|
| }
|
|
|
| // 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(); }
|
| @@ -671,8 +659,7 @@
|
| 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;
|
| @@ -685,10 +672,10 @@
|
| 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;
|
| @@ -756,9 +743,8 @@
|
| 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,
|
| @@ -773,26 +759,24 @@
|
|
|
| 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,
|
| @@ -804,10 +788,9 @@
|
| 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();
|
| @@ -818,16 +801,15 @@
|
| 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();
|
| }
|
| @@ -837,27 +819,25 @@
|
| 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,
|
| @@ -867,10 +847,9 @@
|
|
|
| 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;
|
| @@ -894,12 +873,10 @@
|
| 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;
|
| @@ -921,9 +898,8 @@
|
| 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,
|
| @@ -963,16 +939,14 @@
|
| 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()
|
| @@ -1037,8 +1011,8 @@
|
| 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;
|
| @@ -1048,12 +1022,9 @@
|
|
|
| // 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;
|
|
|
| @@ -1071,8 +1042,7 @@
|
| 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&,
|
| @@ -1093,8 +1063,7 @@
|
| 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(); }
|
|
|
| @@ -1146,8 +1115,7 @@
|
| 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;
|
| @@ -1214,10 +1182,10 @@
|
| 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,
|
| @@ -1322,10 +1290,8 @@
|
| 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;
|
| @@ -1458,12 +1424,10 @@
|
| 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).
|
| @@ -1604,10 +1568,9 @@
|
| 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();
|
|
|