| Index: third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
|
| index a7c3fbaa3f3f668b9194863b73863c28d45eef99..8872d9016e7e66048e593dad232b9c7db6ef8038 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
|
| @@ -58,7 +58,6 @@ bool LayoutBlockFlow::s_canPropagateFloatIntoSibling = false;
|
|
|
| struct SameSizeAsLayoutBlockFlow : public LayoutBlock {
|
| LineBoxList lineBoxes;
|
| - LayoutUnit m_paintInvalidationLogicalTopAndBottom[2];
|
| void* pointers[2];
|
| };
|
|
|
| @@ -397,17 +396,6 @@ void LayoutBlockFlow::layoutBlock(bool relayoutChildren)
|
|
|
| updateAfterLayout();
|
|
|
| - if (m_paintInvalidationLogicalTop != m_paintInvalidationLogicalBottom) {
|
| - bool hasVisibleContent = style()->visibility() == VISIBLE;
|
| - if (!hasVisibleContent) {
|
| - PaintLayer* layer = enclosingLayer();
|
| - layer->updateDescendantDependentFlags();
|
| - hasVisibleContent = layer->hasVisibleContent();
|
| - }
|
| - if (hasVisibleContent)
|
| - setShouldInvalidateOverflowForPaint();
|
| - }
|
| -
|
| if (isHTMLDialogElement(node()) && isOutOfFlowPositioned())
|
| positionDialog();
|
|
|
| @@ -467,8 +455,6 @@ inline bool LayoutBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit &
|
| LayoutUnit previousHeight = logicalHeight();
|
| setLogicalHeight(beforeEdge);
|
|
|
| - m_paintInvalidationLogicalTop = LayoutUnit();
|
| - m_paintInvalidationLogicalBottom = LayoutUnit();
|
| if (!firstChild() && !isAnonymousBlock())
|
| setChildrenInline(true);
|
|
|
| @@ -480,7 +466,7 @@ inline bool LayoutBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit &
|
| // all inline children are removed from this block.
|
| setContainsInlineWithOutlineAndContinuation(false);
|
| if (childrenInline())
|
| - layoutInlineChildren(relayoutChildren, m_paintInvalidationLogicalTop, m_paintInvalidationLogicalBottom, afterEdge);
|
| + layoutInlineChildren(relayoutChildren, afterEdge);
|
| else
|
| layoutBlockChildren(relayoutChildren, layoutScope, beforeEdge, afterEdge);
|
|
|
| @@ -2789,48 +2775,6 @@ void LayoutBlockFlow::invalidatePaintForOverhangingFloats(bool paintAllDescendan
|
| }
|
| }
|
|
|
| -void LayoutBlockFlow::invalidatePaintForOverflow()
|
| -{
|
| - // FIXME: We could tighten up the left and right invalidation points if we let layoutInlineChildren fill them in based off the particular lines
|
| - // it had to lay out. We wouldn't need the hasOverflowClip() hack in that case either.
|
| - LayoutUnit paintInvalidationLogicalLeft = logicalLeftVisualOverflow();
|
| - LayoutUnit paintInvalidationLogicalRight = logicalRightVisualOverflow();
|
| - if (hasOverflowClip()) {
|
| - // If we have clipped overflow, we should use layout overflow as well, since visual overflow from lines didn't propagate to our block's overflow.
|
| - // Note the old code did this as well but even for overflow:visible. The addition of hasOverflowClip() at least tightens up the hack a bit.
|
| - // layoutInlineChildren should be patched to compute the entire paint invalidation rect.
|
| - paintInvalidationLogicalLeft = std::min(paintInvalidationLogicalLeft, logicalLeftLayoutOverflow());
|
| - paintInvalidationLogicalRight = std::max(paintInvalidationLogicalRight, logicalRightLayoutOverflow());
|
| - }
|
| -
|
| - LayoutRect paintInvalidationRect;
|
| - if (isHorizontalWritingMode())
|
| - paintInvalidationRect = LayoutRect(paintInvalidationLogicalLeft, m_paintInvalidationLogicalTop, paintInvalidationLogicalRight - paintInvalidationLogicalLeft, m_paintInvalidationLogicalBottom - m_paintInvalidationLogicalTop);
|
| - else
|
| - paintInvalidationRect = LayoutRect(m_paintInvalidationLogicalTop, paintInvalidationLogicalLeft, m_paintInvalidationLogicalBottom - m_paintInvalidationLogicalTop, paintInvalidationLogicalRight - paintInvalidationLogicalLeft);
|
| -
|
| - if (hasOverflowClip()) {
|
| - // Adjust the paint invalidation rect for scroll offset
|
| - paintInvalidationRect.move(-scrolledContentOffset());
|
| -
|
| - // Don't allow this rect to spill out of our overflow box.
|
| - paintInvalidationRect.intersect(LayoutRect(LayoutPoint(), size()));
|
| - }
|
| -
|
| - // Make sure the rect is still non-empty after intersecting for overflow above
|
| - if (!paintInvalidationRect.isEmpty()) {
|
| - // Hits in media/event-attributes.html
|
| - DisableCompositingQueryAsserts disabler;
|
| -
|
| - invalidatePaintRectangle(paintInvalidationRect); // We need to do a partial paint invalidation of our content.
|
| - if (hasReflection())
|
| - invalidatePaintRectangle(reflectedRect(paintInvalidationRect));
|
| - }
|
| -
|
| - m_paintInvalidationLogicalTop = LayoutUnit();
|
| - m_paintInvalidationLogicalBottom = LayoutUnit();
|
| -}
|
| -
|
| void LayoutBlockFlow::invalidateDisplayItemClients(PaintInvalidationReason invalidationReason) const
|
| {
|
| LayoutBlock::invalidateDisplayItemClients(invalidationReason);
|
|
|