Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(162)

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBlock.cpp

Issue 2098223002: Update composited layer size if overflow from children requires it (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@617443-4
Patch Set: bug 621612 Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/repaint/overflow-changed-on-child-of-composited-layer-expected.txt ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 * (C) 2007 David Smith (catfish.man@gmail.com) 4 * (C) 2007 David Smith (catfish.man@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 if (isHorizontalWritingMode()) 431 if (isHorizontalWritingMode())
432 rectToApply = LayoutRect(clientRect.x(), clientRect.y(), LayoutUnit( 1), (oldClientAfterEdge - clientRect.y()).clampNegativeToZero()); 432 rectToApply = LayoutRect(clientRect.x(), clientRect.y(), LayoutUnit( 1), (oldClientAfterEdge - clientRect.y()).clampNegativeToZero());
433 else 433 else
434 rectToApply = LayoutRect(clientRect.x(), clientRect.y(), (oldClientA fterEdge - clientRect.x()).clampNegativeToZero(), LayoutUnit(1)); 434 rectToApply = LayoutRect(clientRect.x(), clientRect.y(), (oldClientA fterEdge - clientRect.x()).clampNegativeToZero(), LayoutUnit(1));
435 addLayoutOverflow(rectToApply); 435 addLayoutOverflow(rectToApply);
436 if (hasOverflowModel()) 436 if (hasOverflowModel())
437 m_overflow->setLayoutClientAfterEdge(oldClientAfterEdge); 437 m_overflow->setLayoutClientAfterEdge(oldClientAfterEdge);
438 } 438 }
439 439
440 addVisualEffectOverflow(); 440 addVisualEffectOverflow();
441 addVisualOverflowFromTheme();
441 442
442 addVisualOverflowFromTheme(); 443 // An enclosing composited layer will need to update its bounds if we now ov erflow it.
444 PaintLayer* layer = enclosingLayer();
445 if (!needsLayout() && layer->hasCompositedLayerMapping() && !layer->visualRe ct().contains(visualOverflowRect()))
446 layer->setNeedsCompositingInputsUpdate();
443 } 447 }
444 448
445 void LayoutBlock::addOverflowFromBlockChildren() 449 void LayoutBlock::addOverflowFromBlockChildren()
446 { 450 {
447 for (LayoutBox* child = firstChildBox(); child; child = child->nextSiblingBo x()) { 451 for (LayoutBox* child = firstChildBox(); child; child = child->nextSiblingBo x()) {
448 if (!child->isFloatingOrOutOfFlowPositioned() && !child->isColumnSpanAll ()) 452 if (!child->isFloatingOrOutOfFlowPositioned() && !child->isColumnSpanAll ())
449 addOverflowFromChild(child); 453 addOverflowFromChild(child);
450 } 454 }
451 } 455 }
452 456
(...skipping 1395 matching lines...) Expand 10 before | Expand all | Expand 10 after
1848 for (TrackedLayoutBoxListHashSet::const_iterator it = positionedDescenda ntSet->begin(); it != end; ++it) { 1852 for (TrackedLayoutBoxListHashSet::const_iterator it = positionedDescenda ntSet->begin(); it != end; ++it) {
1849 LayoutBox* currBox = *it; 1853 LayoutBox* currBox = *it;
1850 ASSERT(!currBox->needsLayout()); 1854 ASSERT(!currBox->needsLayout());
1851 } 1855 }
1852 } 1856 }
1853 } 1857 }
1854 1858
1855 #endif 1859 #endif
1856 1860
1857 } // namespace blink 1861 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/repaint/overflow-changed-on-child-of-composited-layer-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698