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

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

Issue 1876123002: Absolute positioned child with percent should include containing block padding (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Modify commit message Created 4 years, 7 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
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) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 1634 matching lines...) Expand 10 before | Expand all | Expand 10 after
1645 height -= cb->paddingLogicalHeight(); 1645 height -= cb->paddingLogicalHeight();
1646 return height; 1646 return height;
1647 } 1647 }
1648 1648
1649 LayoutUnit LayoutBox::containingBlockLogicalWidthForContent() const 1649 LayoutUnit LayoutBox::containingBlockLogicalWidthForContent() const
1650 { 1650 {
1651 if (hasOverrideContainingBlockLogicalWidth()) 1651 if (hasOverrideContainingBlockLogicalWidth())
1652 return overrideContainingBlockContentLogicalWidth(); 1652 return overrideContainingBlockContentLogicalWidth();
1653 1653
1654 LayoutBlock* cb = containingBlock(); 1654 LayoutBlock* cb = containingBlock();
1655 if (isOutOfFlowPositioned())
1656 return cb->clientLogicalWidth();
1655 return cb->availableLogicalWidth(); 1657 return cb->availableLogicalWidth();
1656 } 1658 }
1657 1659
1658 LayoutUnit LayoutBox::containingBlockLogicalHeightForContent(AvailableLogicalHei ghtType heightType) const 1660 LayoutUnit LayoutBox::containingBlockLogicalHeightForContent(AvailableLogicalHei ghtType heightType) const
1659 { 1661 {
1660 if (hasOverrideContainingBlockLogicalHeight()) 1662 if (hasOverrideContainingBlockLogicalHeight())
1661 return overrideContainingBlockContentLogicalHeight(); 1663 return overrideContainingBlockContentLogicalHeight();
1662 1664
1663 LayoutBlock* cb = containingBlock(); 1665 LayoutBlock* cb = containingBlock();
1664 return cb->availableLogicalHeight(heightType); 1666 return cb->availableLogicalHeight(heightType);
(...skipping 3185 matching lines...) Expand 10 before | Expand all | Expand 10 after
4850 if (!flowThread) { 4852 if (!flowThread) {
4851 // If there's no flow thread, we're not nested. All pages have the same height. Give up. 4853 // If there's no flow thread, we're not nested. All pages have the same height. Give up.
4852 return strutToNextPage; 4854 return strutToNextPage;
4853 } 4855 }
4854 // Start searching for a suitable offset at the top of the next page or colu mn. 4856 // Start searching for a suitable offset at the top of the next page or colu mn.
4855 LayoutUnit flowThreadOffset = offsetFromLogicalTopOfFirstPage() + nextPageLo gicalTop; 4857 LayoutUnit flowThreadOffset = offsetFromLogicalTopOfFirstPage() + nextPageLo gicalTop;
4856 return strutToNextPage + flowThread->nextLogicalTopForUnbreakableContent(flo wThreadOffset, contentLogicalHeight) - flowThreadOffset; 4858 return strutToNextPage + flowThread->nextLogicalTopForUnbreakableContent(flo wThreadOffset, contentLogicalHeight) - flowThreadOffset;
4857 } 4859 }
4858 4860
4859 } // namespace blink 4861 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698