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

Side by Side Diff: third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc

Issue 2242893003: [LayoutNG] Switch NGConstraintSpace to NGLogicalSize (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/layout/ng/ng_constraint_space.h" 5 #include "core/layout/ng/ng_constraint_space.h"
6 6
7 #include "core/layout/LayoutBox.h" 7 #include "core/layout/LayoutBox.h"
8 #include "core/style/ComputedStyle.h" 8 #include "core/style/ComputedStyle.h"
9 9
10 namespace blink { 10 namespace blink {
11 11
12 NGConstraintSpace::NGConstraintSpace(LayoutUnit inlineContainerSize, 12 NGConstraintSpace::NGConstraintSpace(NGLogicalSize size) {
cbiesinger 2016/08/12 17:32:24 size -> container_size?
13 LayoutUnit blockContainerSize) { 13 container_size_ = size;
14 m_inlineContainerSize = inlineContainerSize;
15 m_blockContainerSize = blockContainerSize;
16 m_inlineTriggersScrollbar = 0; 14 m_inlineTriggersScrollbar = 0;
17 m_blockTriggersScrollbar = 0; 15 m_blockTriggersScrollbar = 0;
18 m_fixedInlineSize = 0; 16 m_fixedInlineSize = 0;
19 m_fixedBlockSize = 0; 17 m_fixedBlockSize = 0;
20 m_blockFragmentationType = FragmentNone; 18 m_blockFragmentationType = FragmentNone;
21 } 19 }
22 20
23 NGConstraintSpace NGConstraintSpace::fromLayoutObject(const LayoutBox& child) { 21 NGConstraintSpace NGConstraintSpace::fromLayoutObject(const LayoutBox& child) {
24 bool fixedInline = false, fixedBlock = false; 22 bool fixedInline = false, fixedBlock = false;
25 // XXX for orthogonal writing mode this is not right 23 // XXX for orthogonal writing mode this is not right
26 LayoutUnit containerLogicalWidth = 24 LayoutUnit containerLogicalWidth =
27 std::max(LayoutUnit(), child.containingBlockLogicalWidthForContent()); 25 std::max(LayoutUnit(), child.containingBlockLogicalWidthForContent());
28 // XXX Make sure this height is correct 26 // XXX Make sure this height is correct
29 LayoutUnit containerLogicalHeight = 27 LayoutUnit containerLogicalHeight =
30 child.containingBlockLogicalHeightForContent(ExcludeMarginBorderPadding); 28 child.containingBlockLogicalHeightForContent(ExcludeMarginBorderPadding);
31 if (child.hasOverrideLogicalContentWidth()) { 29 if (child.hasOverrideLogicalContentWidth()) {
32 containerLogicalWidth = child.overrideLogicalContentWidth(); 30 containerLogicalWidth = child.overrideLogicalContentWidth();
33 fixedInline = true; 31 fixedInline = true;
34 } 32 }
35 if (child.hasOverrideLogicalContentHeight()) { 33 if (child.hasOverrideLogicalContentHeight()) {
36 containerLogicalWidth = child.overrideLogicalContentHeight(); 34 containerLogicalWidth = child.overrideLogicalContentHeight();
37 fixedBlock = true; 35 fixedBlock = true;
38 } 36 }
39 NGConstraintSpace space(containerLogicalWidth, containerLogicalHeight); 37 NGLogicalSize size;
38 size.inlineSize = containerLogicalWidth;
39 size.blockSize = containerLogicalHeight;
40 NGConstraintSpace space(size);
40 space.setOverflowTriggersScrollbar( 41 space.setOverflowTriggersScrollbar(
41 child.styleRef().overflowInlineDirection() == OverflowAuto, 42 child.styleRef().overflowInlineDirection() == OverflowAuto,
42 child.styleRef().overflowBlockDirection() == OverflowAuto); 43 child.styleRef().overflowBlockDirection() == OverflowAuto);
43 space.setFixedSize(fixedInline, fixedBlock); 44 space.setFixedSize(fixedInline, fixedBlock);
44 return space; 45 return space;
45 } 46 }
46 47
47 void NGConstraintSpace::addExclusion(const NGExclusion exclusion, 48 void NGConstraintSpace::addExclusion(const NGExclusion exclusion,
48 unsigned options) {} 49 unsigned options) {}
49 50
(...skipping 21 matching lines...) Expand all
71 72
72 NGLayoutOpportunityIterator NGConstraintSpace::layoutOpportunities( 73 NGLayoutOpportunityIterator NGConstraintSpace::layoutOpportunities(
73 unsigned clear, 74 unsigned clear,
74 NGExclusionFlowType avoid) const { 75 NGExclusionFlowType avoid) const {
75 // TODO(eae): Implement. 76 // TODO(eae): Implement.
76 NGLayoutOpportunityIterator iterator(this, clear, avoid); 77 NGLayoutOpportunityIterator iterator(this, clear, avoid);
77 return iterator; 78 return iterator;
78 } 79 }
79 80
80 } // namespace blink 81 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698