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

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

Issue 2921463004: [LayoutNG] PODify NGLayoutInputNode and sub-classes. (Closed)
Patch Set: new ng-bot expectations Created 3 years, 6 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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_out_of_flow_layout_part.h" 5 #include "core/layout/ng/ng_out_of_flow_layout_part.h"
6 6
7 #include "core/layout/LayoutTestHelper.h" 7 #include "core/layout/LayoutTestHelper.h"
8 #include "core/layout/ng/layout_ng_block_flow.h" 8 #include "core/layout/ng/layout_ng_block_flow.h"
9 #include "core/layout/ng/ng_layout_result.h" 9 #include "core/layout/ng/ng_layout_result.h"
10 10
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 </div> 60 </div>
61 </div> 61 </div>
62 </div> 62 </div>
63 )HTML"); 63 )HTML");
64 64
65 // Test whether the oof fragments have been collected at NG->Legacy boundary. 65 // Test whether the oof fragments have been collected at NG->Legacy boundary.
66 Element* rel = GetDocument().getElementById("rel"); 66 Element* rel = GetDocument().getElementById("rel");
67 LayoutNGBlockFlow* block_flow = ToLayoutNGBlockFlow(rel->GetLayoutObject()); 67 LayoutNGBlockFlow* block_flow = ToLayoutNGBlockFlow(rel->GetLayoutObject());
68 RefPtr<NGConstraintSpace> space = 68 RefPtr<NGConstraintSpace> space =
69 NGConstraintSpace::CreateFromLayoutObject(*block_flow); 69 NGConstraintSpace::CreateFromLayoutObject(*block_flow);
70 NGBlockNode* node = new NGBlockNode(block_flow); 70 NGBlockNode node(block_flow);
71 RefPtr<NGLayoutResult> result = node->Layout(space.Get()); 71 RefPtr<NGLayoutResult> result = node.Layout(space.Get());
72 EXPECT_EQ(result->OutOfFlowDescendants().size(), (size_t)2); 72 EXPECT_EQ(result->OutOfFlowDescendants().size(), (size_t)2);
73 73
74 // Test the final result. 74 // Test the final result.
75 Element* fixed_1 = GetDocument().getElementById("fixed1"); 75 Element* fixed_1 = GetDocument().getElementById("fixed1");
76 Element* fixed_2 = GetDocument().getElementById("fixed2"); 76 Element* fixed_2 = GetDocument().getElementById("fixed2");
77 // fixed1 top is static: #abs.top + #pad.height 77 // fixed1 top is static: #abs.top + #pad.height
78 EXPECT_EQ(fixed_1->OffsetTop(), LayoutUnit(99)); 78 EXPECT_EQ(fixed_1->OffsetTop(), LayoutUnit(99));
79 // fixed2 top is positioned: #fixed2.top 79 // fixed2 top is positioned: #fixed2.top
80 EXPECT_EQ(fixed_2->OffsetTop(), LayoutUnit(9)); 80 EXPECT_EQ(fixed_2->OffsetTop(), LayoutUnit(9));
81 }; 81 };
(...skipping 16 matching lines...) Expand all
98 height: 30px; 98 height: 30px;
99 } 99 }
100 </style> 100 </style>
101 <div id="container"> 101 <div id="container">
102 <div id="abs-child"></div> 102 <div id="abs-child"></div>
103 </div> 103 </div>
104 )HTML"); 104 )HTML");
105 105
106 LayoutNGBlockFlow* block_flow = 106 LayoutNGBlockFlow* block_flow =
107 ToLayoutNGBlockFlow(GetLayoutObjectByElementId("container")); 107 ToLayoutNGBlockFlow(GetLayoutObjectByElementId("container"));
108 auto* node = new NGBlockNode(block_flow); 108 NGBlockNode node(block_flow);
109 RefPtr<NGConstraintSpace> space = 109 RefPtr<NGConstraintSpace> space =
110 NGConstraintSpace::CreateFromLayoutObject(*block_flow); 110 NGConstraintSpace::CreateFromLayoutObject(*block_flow);
111 111
112 RefPtr<const NGPhysicalFragment> fragment = 112 RefPtr<const NGPhysicalFragment> fragment =
113 node->Layout(space.Get())->PhysicalFragment(); 113 node.Layout(space.Get())->PhysicalFragment();
114 EXPECT_EQ(NGPhysicalSize(LayoutUnit(200), LayoutUnit(400)), fragment->Size()); 114 EXPECT_EQ(NGPhysicalSize(LayoutUnit(200), LayoutUnit(400)), fragment->Size());
115 115
116 fragment = ToNGPhysicalBoxFragment(fragment.Get())->Children()[0]; 116 fragment = ToNGPhysicalBoxFragment(fragment.Get())->Children()[0];
117 EXPECT_EQ(NGPhysicalSize(LayoutUnit(0), LayoutUnit(30)), fragment->Size()); 117 EXPECT_EQ(NGPhysicalSize(LayoutUnit(0), LayoutUnit(30)), fragment->Size());
118 EXPECT_EQ(NGPhysicalOffset(LayoutUnit(0), LayoutUnit(10)), 118 EXPECT_EQ(NGPhysicalOffset(LayoutUnit(0), LayoutUnit(10)),
119 fragment->Offset()); 119 fragment->Offset());
120 }; 120 };
121 121
122 TEST_F(NGOutOfFlowLayoutPartTest, OrthogonalWritingMode2) { 122 TEST_F(NGOutOfFlowLayoutPartTest, OrthogonalWritingMode2) {
123 SetBodyInnerHTML( 123 SetBodyInnerHTML(
(...skipping 13 matching lines...) Expand all
137 height: 30px; 137 height: 30px;
138 } 138 }
139 </style> 139 </style>
140 <div id="container"> 140 <div id="container">
141 <div id="abs-child"></div> 141 <div id="abs-child"></div>
142 </div> 142 </div>
143 )HTML"); 143 )HTML");
144 144
145 LayoutNGBlockFlow* block_flow = 145 LayoutNGBlockFlow* block_flow =
146 ToLayoutNGBlockFlow(GetLayoutObjectByElementId("container")); 146 ToLayoutNGBlockFlow(GetLayoutObjectByElementId("container"));
147 auto* node = new NGBlockNode(block_flow); 147 NGBlockNode node(block_flow);
148 RefPtr<NGConstraintSpace> space = 148 RefPtr<NGConstraintSpace> space =
149 NGConstraintSpace::CreateFromLayoutObject(*block_flow); 149 NGConstraintSpace::CreateFromLayoutObject(*block_flow);
150 150
151 RefPtr<const NGPhysicalFragment> fragment = 151 RefPtr<const NGPhysicalFragment> fragment =
152 node->Layout(space.Get())->PhysicalFragment(); 152 node.Layout(space.Get())->PhysicalFragment();
153 EXPECT_EQ(NGPhysicalSize(LayoutUnit(200), LayoutUnit(400)), fragment->Size()); 153 EXPECT_EQ(NGPhysicalSize(LayoutUnit(200), LayoutUnit(400)), fragment->Size());
154 154
155 fragment = ToNGPhysicalBoxFragment(fragment.Get())->Children()[0]; 155 fragment = ToNGPhysicalBoxFragment(fragment.Get())->Children()[0];
156 EXPECT_EQ(NGPhysicalSize(LayoutUnit(40), LayoutUnit(30)), fragment->Size()); 156 EXPECT_EQ(NGPhysicalSize(LayoutUnit(40), LayoutUnit(30)), fragment->Size());
157 EXPECT_EQ(NGPhysicalOffset(LayoutUnit(0), LayoutUnit(10)), 157 EXPECT_EQ(NGPhysicalOffset(LayoutUnit(0), LayoutUnit(10)),
158 fragment->Offset()); 158 fragment->Offset());
159 }; 159 };
160 160
161 } // namespace 161 } // namespace
162 } // namespace blink 162 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698