diff --git a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp index 4084874b67220a..9d659ad898c1da 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp @@ -406,6 +406,7 @@ bool LayoutBlock::widthAvailableToChildrenHasChanged() return widthAvailableToChildrenHasChanged; } +DISABLE_CFI_PERF bool LayoutBlock::updateLogicalWidthAndColumnWidth() { LayoutUnit oldWidth = logicalWidth(); @@ -427,6 +428,7 @@ void LayoutBlock::addOverflowFromChildren() addOverflowFromBlockChildren(); } +DISABLE_CFI_PERF void LayoutBlock::computeOverflow(LayoutUnit oldClientAfterEdge, bool) { m_overflow.reset(); @@ -492,6 +494,7 @@ void LayoutBlock::addVisualOverflowFromTheme() addSelfVisualOverflow(LayoutRect(inflatedRect)); } +DISABLE_CFI_PERF bool LayoutBlock::createsNewFormattingContext() const { return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || isFlexItemIncludingDeprecated() @@ -1265,6 +1268,7 @@ void LayoutBlock::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Lay minLogicalWidth += scrollbarWidth; } +DISABLE_CFI_PERF void LayoutBlock::computePreferredLogicalWidths() { ASSERT(preferredLogicalWidthsDirty()); @@ -1396,6 +1400,7 @@ void LayoutBlock::computeBlockPreferredLogicalWidths(LayoutUnit& minLogicalWidth maxLogicalWidth = std::max(floatLeftWidth + floatRightWidth, maxLogicalWidth); } +DISABLE_CFI_PERF void LayoutBlock::computeChildPreferredLogicalWidths(LayoutObject& child, LayoutUnit& minPreferredLogicalWidth, LayoutUnit& maxPreferredLogicalWidth) const { if (child.isBox() && child.isHorizontalWritingMode() != isHorizontalWritingMode()) { diff --git a/third_party/WebKit/Source/core/layout/LayoutBlock.h b/third_party/WebKit/Source/core/layout/LayoutBlock.h index c923f3e9c6b86b..aa12959ddda6dc 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBlock.h +++ b/third_party/WebKit/Source/core/layout/LayoutBlock.h @@ -200,9 +200,9 @@ class CORE_EXPORT LayoutBlock : public LayoutBox { LayoutUnit logicalHeightForChild(const LayoutBox& child) const { return isHorizontalWritingMode() ? child.size().height() : child.size().width(); } LayoutSize logicalSizeForChild(const LayoutBox& child) const { return isHorizontalWritingMode() ? child.size() : child.size().transposedSize(); } LayoutUnit logicalTopForChild(const LayoutBox& child) const { return isHorizontalWritingMode() ? child.location().y() : child.location().x(); } - LayoutUnit marginBeforeForChild(const LayoutBoxModelObject& child) const { return child.marginBefore(style()); } - LayoutUnit marginAfterForChild(const LayoutBoxModelObject& child) const { return child.marginAfter(style()); } - LayoutUnit marginStartForChild(const LayoutBoxModelObject& child) const { return child.marginStart(style()); } + DISABLE_CFI_PERF LayoutUnit marginBeforeForChild(const LayoutBoxModelObject& child) const { return child.marginBefore(style()); } + DISABLE_CFI_PERF LayoutUnit marginAfterForChild(const LayoutBoxModelObject& child) const { return child.marginAfter(style()); } + DISABLE_CFI_PERF LayoutUnit marginStartForChild(const LayoutBoxModelObject& child) const { return child.marginStart(style()); } LayoutUnit marginEndForChild(const LayoutBoxModelObject& child) const { return child.marginEnd(style()); } void setMarginStartForChild(LayoutBox& child, LayoutUnit value) const { child.setMarginStart(value, style()); } void setMarginEndForChild(LayoutBox& child, LayoutUnit value) const { child.setMarginEnd(value, style()); } @@ -214,7 +214,7 @@ class CORE_EXPORT LayoutBlock : public LayoutBox { virtual void scrollbarsChanged(bool /*horizontalScrollbarChanged*/, bool /*verticalScrollbarChanged*/); LayoutUnit availableLogicalWidthForContent() const { return (logicalRightOffsetForContent() - logicalLeftOffsetForContent()).clampNegativeToZero(); } - LayoutUnit logicalLeftOffsetForContent() const { return isHorizontalWritingMode() ? borderLeft() + paddingLeft() : borderTop() + paddingTop(); } + DISABLE_CFI_PERF LayoutUnit logicalLeftOffsetForContent() const { return isHorizontalWritingMode() ? borderLeft() + paddingLeft() : borderTop() + paddingTop(); } LayoutUnit logicalRightOffsetForContent() const { return logicalLeftOffsetForContent() + availableLogicalWidth(); } LayoutUnit startOffsetForContent() const { return style()->isLeftToRightDirection() ? logicalLeftOffsetForContent() : logicalWidth() - logicalRightOffsetForContent(); } LayoutUnit endOffsetForContent() const { return !style()->isLeftToRightDirection() ? logicalLeftOffsetForContent() : logicalWidth() - logicalRightOffsetForContent(); } diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp index 401063cbed26bd..414cd3fac966de 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp @@ -415,6 +415,7 @@ void LayoutBlockFlow::layoutBlock(bool relayoutChildren) m_isSelfCollapsing = checkIfIsSelfCollapsingBlock(); } +DISABLE_CFI_PERF inline bool LayoutBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit &pageLogicalHeight, SubtreeLayoutScope& layoutScope) { LayoutUnit oldLeft = logicalLeft(); @@ -564,6 +565,7 @@ void LayoutBlockFlow::addLowestFloatFromChildren(LayoutBlockFlow* block) newFloatingObject->setIsLowestNonOverhangingFloatInChild(true); } +DISABLE_CFI_PERF void LayoutBlockFlow::determineLogicalLeftPositionForChild(LayoutBox& child) { LayoutUnit startPosition = borderStart() + paddingStart(); @@ -1019,6 +1021,7 @@ LayoutUnit LayoutBlockFlow::adjustForUnsplittableChild(LayoutBox& child, LayoutU return logicalOffset + paginationStrut; } +DISABLE_CFI_PERF void LayoutBlockFlow::rebuildFloatsFromIntruding() { if (m_floatingObjects) @@ -1576,6 +1579,7 @@ void LayoutBlockFlow::setCollapsedBottomMargin(const MarginInfo& marginInfo) } } +DISABLE_CFI_PERF void LayoutBlockFlow::marginBeforeEstimateForChild(LayoutBox& child, LayoutUnit& positiveMarginBefore, LayoutUnit& negativeMarginBefore, bool& discardMarginBefore) const { // Give up if in quirks mode and we're a body/table cell and the top margin of the child box is quirky. @@ -2261,6 +2265,7 @@ void LayoutBlockFlow::styleWillChange(StyleDifference diff, const ComputedStyle& LayoutBlock::styleWillChange(diff, newStyle); } +DISABLE_CFI_PERF void LayoutBlockFlow::styleDidChange(StyleDifference diff, const ComputedStyle* oldStyle) { bool hadSelfPaintingLayer = hasSelfPaintingLayer(); diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h index 4c806724f6b650..d21aa2f7054c50 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h +++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h @@ -262,6 +262,7 @@ class CORE_EXPORT LayoutBlockFlow : public LayoutBlock { return child.x() + marginBeforeForChild(*child.layoutObject()); } + DISABLE_CFI_PERF LayoutUnit yPositionForFloatIncludingMargin(const FloatingObject& child) const { if (isHorizontalWritingMode()) diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp index 495ccd553791c6..584ed5dfc66ee4 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp @@ -1284,6 +1284,7 @@ static inline void adjustMarginForInlineReplaced(LayoutObject* child, // FIXME: This function should be broken into something less monolithic. // FIXME: The main loop here is very similar to LineBreaker::nextSegmentBreak. They can probably reuse code. +DISABLE_CFI_PERF void LayoutBlockFlow::computeInlinePreferredLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit& maxLogicalWidth) { LayoutUnit inlineMax; @@ -1585,6 +1586,7 @@ static inline bool shouldTruncateOverflowingText(const LayoutBlockFlow* block) return objectToCheck->hasOverflowClip() && objectToCheck->style()->getTextOverflow(); } +DISABLE_CFI_PERF void LayoutBlockFlow::layoutInlineChildren(bool relayoutChildren, LayoutUnit afterEdge) { // Figure out if we should clear out our line boxes. diff --git a/third_party/WebKit/Source/core/layout/line/InlineBox.cpp b/third_party/WebKit/Source/core/layout/line/InlineBox.cpp index d280a6520c214c..7e6ab4e348eeb1 100644 --- a/third_party/WebKit/Source/core/layout/line/InlineBox.cpp +++ b/third_party/WebKit/Source/core/layout/line/InlineBox.cpp @@ -60,6 +60,7 @@ InlineBox::~InlineBox() #endif +DISABLE_CFI_PERF void InlineBox::destroy() { // We do not need to issue invalidations if the page is being destroyed diff --git a/third_party/WebKit/Source/core/layout/line/InlineBox.h b/third_party/WebKit/Source/core/layout/line/InlineBox.h index 02f7e63b1905fc..e25f757d2ee923 100644 --- a/third_party/WebKit/Source/core/layout/line/InlineBox.h +++ b/third_party/WebKit/Source/core/layout/line/InlineBox.h @@ -83,7 +83,7 @@ class CORE_EXPORT InlineBox : public DisplayItemClient { // The implementation should update the position of the whole subtree (e.g. position of descendants and overflow etc. // should also be moved accordingly). virtual void move(const LayoutSize& delta); - void moveInLogicalDirection(const LayoutSize& deltaInLogicalDirection) { move(isHorizontal() ? deltaInLogicalDirection : deltaInLogicalDirection.transposedSize()); } + DISABLE_CFI_PERF void moveInLogicalDirection(const LayoutSize& deltaInLogicalDirection) { move(isHorizontal() ? deltaInLogicalDirection : deltaInLogicalDirection.transposedSize()); } void moveInInlineDirection(LayoutUnit delta) { moveInLogicalDirection(LayoutSize(delta, LayoutUnit())); } void moveInBlockDirection(LayoutUnit delta) { moveInLogicalDirection(LayoutSize(LayoutUnit(), delta)); } diff --git a/third_party/WebKit/Source/core/layout/line/InlineFlowBox.h b/third_party/WebKit/Source/core/layout/line/InlineFlowBox.h index b2a866d113169c..dad3f424db8427 100644 --- a/third_party/WebKit/Source/core/layout/line/InlineFlowBox.h +++ b/third_party/WebKit/Source/core/layout/line/InlineFlowBox.h @@ -96,6 +96,7 @@ class InlineFlowBox : public InlineBox { typedef void (*CustomInlineBoxRangeReverse)(Vector::iterator first, Vector::iterator last); void collectLeafBoxesInLogicalOrder(Vector&, CustomInlineBoxRangeReverse customReverseImplementation = 0) const; + DISABLE_CFI_PERF void setConstructed() final { InlineBox::setConstructed(); diff --git a/tools/cfi/blacklist.txt b/tools/cfi/blacklist.txt index 7cd0b411d0d5e8..fee115d8be5c39 100644 --- a/tools/cfi/blacklist.txt +++ b/tools/cfi/blacklist.txt @@ -133,26 +133,6 @@ fun:*LayoutTreeBuilderForElement*shouldCreateLayoutObject* fun:*LayoutTreeBuilderForElement*createLayoutObject* fun:*EventTarget*hasEventListeners* fun:*HTMLCollection*invalidateCacheForAttribute* -fun:*InlineBox*destroy* -fun:*InlineBox*moveInLogicalDirection* -fun:*InlineFlowBox*setConstructed* -fun:*LayoutBlock*createsNewFormattingContext* -fun:*LayoutBlock*computeChildPreferredLogicalWidth* -fun:*LayoutBlock*computePreferredLogicalWidths* -fun:*LayoutBlock*computeOverflow* -fun:*LayoutBlock*logicalLeftOffsetForContent* -fun:*LayoutBlock*marginAfterForChild* -fun:*LayoutBlock*marginBeforeForChild* -fun:*LayoutBlock*marginStartForChild* -fun:*LayoutBlock*updateLogicalWidthAndColumnWidth* -fun:*LayoutBlockFlow*computeInlinePreferredLogicalWidths* -fun:*LayoutBlockFlow*determineLogicalLeftPositionForChild* -fun:*LayoutBlockFlow*layoutBlockFlow* -fun:*LayoutBlockFlow*layoutInlineChildren* -fun:*LayoutBlockFlow*marginBeforeEstimateForChild* -fun:*LayoutBlockFlow*rebuildFloatsFromIntruding* -fun:*LayoutBlockFlow*yPositionForFloatIncludingMargin* -fun:*LayoutBlockFlow*styleDidChange* fun:*LayoutBoxModelObject*borderAndPaddingHeight* fun:*LayoutBoxModelObject*borderAndPaddingWidth* fun:*LayoutBoxModelObject*borderAndPaddingBefore*