OLD | NEW |
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_length_utils.h" | 5 #include "core/layout/ng/ng_length_utils.h" |
6 | 6 |
7 #include "core/layout/ng/ng_constraint_space.h" | 7 #include "core/layout/ng/ng_constraint_space.h" |
8 #include "core/layout/ng/ng_fragment.h" | 8 #include "core/layout/ng/ng_fragment.h" |
9 #include "core/layout/ng/ng_fragment_builder.h" | 9 #include "core/layout/ng/ng_fragment_builder.h" |
10 #include "core/layout/ng/ng_physical_fragment.h" | 10 #include "core/layout/ng/ng_physical_fragment.h" |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 | 282 |
283 NGFragmentBuilder builder(NGPhysicalFragmentBase::FragmentBox); | 283 NGFragmentBuilder builder(NGPhysicalFragmentBase::FragmentBox); |
284 builder.SetInlineSize(LayoutUnit(150)); | 284 builder.SetInlineSize(LayoutUnit(150)); |
285 NGPhysicalFragment* physical_fragment = builder.ToFragment(); | 285 NGPhysicalFragment* physical_fragment = builder.ToFragment(); |
286 NGFragment* fragment = | 286 NGFragment* fragment = |
287 new NGFragment(HorizontalTopBottom, LeftToRight, physical_fragment); | 287 new NGFragment(HorizontalTopBottom, LeftToRight, physical_fragment); |
288 | 288 |
289 NGConstraintSpace* constraint_space(ConstructConstraintSpace(200, 300)); | 289 NGConstraintSpace* constraint_space(ConstructConstraintSpace(200, 300)); |
290 | 290 |
291 NGBoxStrut margins; | 291 NGBoxStrut margins; |
292 ApplyAutoMargins(*constraint_space, *style_, *fragment, margins); | 292 ApplyAutoMargins(*constraint_space, *style_, *fragment, &margins); |
293 | 293 |
294 EXPECT_EQ(LayoutUnit(), margins.block_start); | 294 EXPECT_EQ(LayoutUnit(), margins.block_start); |
295 EXPECT_EQ(LayoutUnit(), margins.block_end); | 295 EXPECT_EQ(LayoutUnit(), margins.block_end); |
296 EXPECT_EQ(LayoutUnit(25), margins.inline_start); | 296 EXPECT_EQ(LayoutUnit(25), margins.inline_start); |
297 EXPECT_EQ(LayoutUnit(25), margins.inline_end); | 297 EXPECT_EQ(LayoutUnit(25), margins.inline_end); |
298 | 298 |
299 style_->setMarginLeft(Length(0, Fixed)); | 299 style_->setMarginLeft(Length(0, Fixed)); |
300 margins = NGBoxStrut(); | 300 margins = NGBoxStrut(); |
301 ApplyAutoMargins(*constraint_space, *style_, *fragment, margins); | 301 ApplyAutoMargins(*constraint_space, *style_, *fragment, &margins); |
302 EXPECT_EQ(LayoutUnit(0), margins.inline_start); | 302 EXPECT_EQ(LayoutUnit(0), margins.inline_start); |
303 EXPECT_EQ(LayoutUnit(50), margins.inline_end); | 303 EXPECT_EQ(LayoutUnit(50), margins.inline_end); |
304 | 304 |
305 style_->setMarginLeft(Length(Auto)); | 305 style_->setMarginLeft(Length(Auto)); |
306 style_->setMarginRight(Length(0, Fixed)); | 306 style_->setMarginRight(Length(0, Fixed)); |
307 margins = NGBoxStrut(); | 307 margins = NGBoxStrut(); |
308 ApplyAutoMargins(*constraint_space, *style_, *fragment, margins); | 308 ApplyAutoMargins(*constraint_space, *style_, *fragment, &margins); |
309 EXPECT_EQ(LayoutUnit(50), margins.inline_start); | 309 EXPECT_EQ(LayoutUnit(50), margins.inline_start); |
310 EXPECT_EQ(LayoutUnit(0), margins.inline_end); | 310 EXPECT_EQ(LayoutUnit(0), margins.inline_end); |
311 | 311 |
312 // Test that we don't end up with negative "auto" margins when the box is too | 312 // Test that we don't end up with negative "auto" margins when the box is too |
313 // big. | 313 // big. |
314 style_->setMarginLeft(Length(Auto)); | 314 style_->setMarginLeft(Length(Auto)); |
315 style_->setMarginRight(Length(5000, Fixed)); | 315 style_->setMarginRight(Length(5000, Fixed)); |
316 margins = NGBoxStrut(); | 316 margins = NGBoxStrut(); |
317 margins.inline_end = LayoutUnit(5000); | 317 margins.inline_end = LayoutUnit(5000); |
318 ApplyAutoMargins(*constraint_space, *style_, *fragment, margins); | 318 ApplyAutoMargins(*constraint_space, *style_, *fragment, &margins); |
319 EXPECT_EQ(LayoutUnit(0), margins.inline_start); | 319 EXPECT_EQ(LayoutUnit(0), margins.inline_start); |
320 EXPECT_EQ(LayoutUnit(5000), margins.inline_end); | 320 EXPECT_EQ(LayoutUnit(5000), margins.inline_end); |
321 } | 321 } |
322 | 322 |
323 } // namespace | 323 } // namespace |
324 } // namespace blink | 324 } // namespace blink |
OLD | NEW |