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

Side by Side Diff: Source/core/layout/LayoutFieldset.cpp

Issue 1173853005: LayoutFieldSet::computePreferredLogicalWidths uses marginLeft for marginRight by mistake Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Adding Layout Tests after removing the functions Created 5 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
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) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. 5 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 24 matching lines...) Expand all
35 35
36 namespace blink { 36 namespace blink {
37 37
38 using namespace HTMLNames; 38 using namespace HTMLNames;
39 39
40 LayoutFieldset::LayoutFieldset(Element* element) 40 LayoutFieldset::LayoutFieldset(Element* element)
41 : LayoutBlockFlow(element) 41 : LayoutBlockFlow(element)
42 { 42 {
43 } 43 }
44 44
45 void LayoutFieldset::computePreferredLogicalWidths()
46 {
47 LayoutBlockFlow::computePreferredLogicalWidths();
48 if (LayoutBox* legend = findLegend()) {
49 int legendMinWidth = legend->minPreferredLogicalWidth();
50
51 Length legendMarginLeft = legend->style()->marginLeft();
52 Length legendMarginRight = legend->style()->marginLeft();
53
54 if (legendMarginLeft.isFixed())
55 legendMinWidth += legendMarginLeft.value();
56
57 if (legendMarginRight.isFixed())
58 legendMinWidth += legendMarginRight.value();
59
60 m_minPreferredLogicalWidth = max(m_minPreferredLogicalWidth, legendMinWi dth + borderAndPaddingWidth());
61 }
62 }
63
64 LayoutObject* LayoutFieldset::layoutSpecialExcludedChild(bool relayoutChildren, SubtreeLayoutScope&) 45 LayoutObject* LayoutFieldset::layoutSpecialExcludedChild(bool relayoutChildren, SubtreeLayoutScope&)
65 { 46 {
66 LayoutBox* legend = findLegend(); 47 LayoutBox* legend = findLegend();
67 if (legend) { 48 if (legend) {
68 if (relayoutChildren) 49 if (relayoutChildren)
69 legend->setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationRea son::FieldsetChanged); 50 legend->setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationRea son::FieldsetChanged);
70 legend->layoutIfNeeded(); 51 legend->layoutIfNeeded();
71 52
72 LayoutUnit logicalLeft; 53 LayoutUnit logicalLeft;
73 if (style()->isLeftToRightDirection()) { 54 if (style()->isLeftToRightDirection()) {
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 { 122 {
142 FieldsetPainter(*this).paintBoxDecorationBackground(paintInfo, paintOffset); 123 FieldsetPainter(*this).paintBoxDecorationBackground(paintInfo, paintOffset);
143 } 124 }
144 125
145 void LayoutFieldset::paintMask(const PaintInfo& paintInfo, const LayoutPoint& pa intOffset) 126 void LayoutFieldset::paintMask(const PaintInfo& paintInfo, const LayoutPoint& pa intOffset)
146 { 127 {
147 FieldsetPainter(*this).paintMask(paintInfo, paintOffset); 128 FieldsetPainter(*this).paintMask(paintInfo, paintOffset);
148 } 129 }
149 130
150 } // namespace blink 131 } // namespace blink
OLDNEW
« Source/core/layout/LayoutFieldset.h ('K') | « Source/core/layout/LayoutFieldset.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698