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

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

Issue 1819603003: Shift flowthread-to-visual coordinate space conversion one level up in the tree. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update unit tests. Created 4 years, 9 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/LayoutInline.h" 5 #include "core/layout/LayoutInline.h"
6 #include "core/layout/LayoutTestHelper.h" 6 #include "core/layout/LayoutTestHelper.h"
7 #include "core/layout/LayoutView.h" 7 #include "core/layout/LayoutView.h"
8 #include "platform/geometry/TransformState.h" 8 #include "platform/geometry/TransformState.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 " text" 483 " text"
484 "</div>"); 484 "</div>");
485 485
486 LayoutObject* target = getLayoutObjectByElementId("sibling")->nextSibling(); 486 LayoutObject* target = getLayoutObjectByElementId("sibling")->nextSibling();
487 ASSERT_TRUE(target->isText()); 487 ASSERT_TRUE(target->isText());
488 LayoutBox* flowThread = toLayoutBox(target->parent()); 488 LayoutBox* flowThread = toLayoutBox(target->parent());
489 ASSERT_TRUE(flowThread->isLayoutFlowThread()); 489 ASSERT_TRUE(flowThread->isLayoutFlowThread());
490 LayoutBox* multicol = toLayoutBox(getLayoutObjectByElementId("multicol")); 490 LayoutBox* multicol = toLayoutBox(getLayoutObjectByElementId("multicol"));
491 491
492 FloatPoint mappedPoint = mapLocalToAncestor(target, flowThread, FloatPoint(1 0, 70)); 492 FloatPoint mappedPoint = mapLocalToAncestor(target, flowThread, FloatPoint(1 0, 70));
493 EXPECT_EQ(FloatPoint(220, 20), mappedPoint); 493 EXPECT_EQ(FloatPoint(10, 70), mappedPoint);
494 494
495 mappedPoint = mapLocalToAncestor(flowThread, multicol, mappedPoint); 495 mappedPoint = mapLocalToAncestor(flowThread, multicol, mappedPoint);
496 EXPECT_EQ(FloatPoint(225, 25), mappedPoint); 496 EXPECT_EQ(FloatPoint(225, 25), mappedPoint);
497 497
498 mappedPoint = mapAncestorToLocal(flowThread, multicol, mappedPoint); 498 mappedPoint = mapAncestorToLocal(flowThread, multicol, mappedPoint);
499 EXPECT_EQ(FloatPoint(220, 20), mappedPoint); 499 EXPECT_EQ(FloatPoint(220, 20), mappedPoint);
500 500
501 mappedPoint = mapAncestorToLocal(target, flowThread, mappedPoint); 501 mappedPoint = mapAncestorToLocal(target, flowThread, mappedPoint);
502 EXPECT_EQ(FloatPoint(10, 70), mappedPoint); 502 EXPECT_EQ(FloatPoint(10, 70), mappedPoint);
503 } 503 }
504 504
505 TEST_F(MapCoordinatesTest, MulticolWithInline) 505 TEST_F(MapCoordinatesTest, MulticolWithInline)
506 { 506 {
507 setBodyInnerHTML( 507 setBodyInnerHTML(
508 "<div id='multicol' style='-webkit-columns:2; -webkit-column-gap:20px; w idth:400px; line-height:50px; padding:5px;'>" 508 "<div id='multicol' style='-webkit-columns:2; -webkit-column-gap:20px; w idth:400px; line-height:50px; padding:5px;'>"
509 " <span id='target'><br>text</span>" 509 " <span id='target'><br>text</span>"
510 "</div>"); 510 "</div>");
511 511
512 LayoutObject* target = getLayoutObjectByElementId("target"); 512 LayoutObject* target = getLayoutObjectByElementId("target");
513 LayoutBox* flowThread = toLayoutBox(target->parent()); 513 LayoutBox* flowThread = toLayoutBox(target->parent());
514 ASSERT_TRUE(flowThread->isLayoutFlowThread()); 514 ASSERT_TRUE(flowThread->isLayoutFlowThread());
515 LayoutBox* multicol = toLayoutBox(getLayoutObjectByElementId("multicol")); 515 LayoutBox* multicol = toLayoutBox(getLayoutObjectByElementId("multicol"));
516 516
517 FloatPoint mappedPoint = mapLocalToAncestor(target, flowThread, FloatPoint(1 0, 70)); 517 FloatPoint mappedPoint = mapLocalToAncestor(target, flowThread, FloatPoint(1 0, 70));
518 EXPECT_EQ(FloatPoint(220, 20), mappedPoint); 518 EXPECT_EQ(FloatPoint(10, 70), mappedPoint);
519 519
520 mappedPoint = mapLocalToAncestor(flowThread, multicol, mappedPoint); 520 mappedPoint = mapLocalToAncestor(flowThread, multicol, mappedPoint);
521 EXPECT_EQ(FloatPoint(225, 25), mappedPoint); 521 EXPECT_EQ(FloatPoint(225, 25), mappedPoint);
522 522
523 mappedPoint = mapAncestorToLocal(flowThread, multicol, mappedPoint); 523 mappedPoint = mapAncestorToLocal(flowThread, multicol, mappedPoint);
524 EXPECT_EQ(FloatPoint(220, 20), mappedPoint); 524 EXPECT_EQ(FloatPoint(220, 20), mappedPoint);
525 525
526 mappedPoint = mapAncestorToLocal(target, flowThread, mappedPoint); 526 mappedPoint = mapAncestorToLocal(target, flowThread, mappedPoint);
527 EXPECT_EQ(FloatPoint(10, 70), mappedPoint); 527 EXPECT_EQ(FloatPoint(10, 70), mappedPoint);
528 } 528 }
(...skipping 12 matching lines...) Expand all
541 FloatPoint mappedPoint = mapLocalToAncestor(target, container, FloatPoint()) ; 541 FloatPoint mappedPoint = mapLocalToAncestor(target, container, FloatPoint()) ;
542 EXPECT_EQ(FloatPoint(125, 35), mappedPoint); 542 EXPECT_EQ(FloatPoint(125, 35), mappedPoint);
543 mappedPoint = mapAncestorToLocal(target, container, mappedPoint); 543 mappedPoint = mapAncestorToLocal(target, container, mappedPoint);
544 EXPECT_EQ(FloatPoint(), mappedPoint); 544 EXPECT_EQ(FloatPoint(), mappedPoint);
545 545
546 // Walk each ancestor in the chain separately, to verify each step on the wa y. 546 // Walk each ancestor in the chain separately, to verify each step on the wa y.
547 LayoutBox* flowThread = target->parentBox(); 547 LayoutBox* flowThread = target->parentBox();
548 ASSERT_TRUE(flowThread->isLayoutFlowThread()); 548 ASSERT_TRUE(flowThread->isLayoutFlowThread());
549 549
550 mappedPoint = mapLocalToAncestor(target, flowThread, FloatPoint()); 550 mappedPoint = mapLocalToAncestor(target, flowThread, FloatPoint());
551 EXPECT_EQ(FloatPoint(110, 20), mappedPoint); 551 EXPECT_EQ(FloatPoint(10, 120), mappedPoint);
552 552
553 mappedPoint = mapLocalToAncestor(flowThread, container, mappedPoint); 553 mappedPoint = mapLocalToAncestor(flowThread, container, mappedPoint);
554 EXPECT_EQ(FloatPoint(125, 35), mappedPoint); 554 EXPECT_EQ(FloatPoint(125, 35), mappedPoint);
555 555
556 mappedPoint = mapAncestorToLocal(flowThread, container, mappedPoint); 556 mappedPoint = mapAncestorToLocal(flowThread, container, mappedPoint);
557 EXPECT_EQ(FloatPoint(110, 20), mappedPoint); 557 EXPECT_EQ(FloatPoint(110, 20), mappedPoint);
558 558
559 mappedPoint = mapAncestorToLocal(target, flowThread, mappedPoint); 559 mappedPoint = mapAncestorToLocal(target, flowThread, mappedPoint);
560 EXPECT_EQ(FloatPoint(), mappedPoint); 560 EXPECT_EQ(FloatPoint(), mappedPoint);
561 } 561 }
(...skipping 18 matching lines...) Expand all
580 580
581 // Walk each ancestor in the chain separately, to verify each step on the wa y. 581 // Walk each ancestor in the chain separately, to verify each step on the wa y.
582 LayoutBox* relpos = toLayoutBox(getLayoutObjectByElementId("relpos")); 582 LayoutBox* relpos = toLayoutBox(getLayoutObjectByElementId("relpos"));
583 LayoutBox* flowThread = relpos->parentBox(); 583 LayoutBox* flowThread = relpos->parentBox();
584 ASSERT_TRUE(flowThread->isLayoutFlowThread()); 584 ASSERT_TRUE(flowThread->isLayoutFlowThread());
585 585
586 mappedPoint = mapLocalToAncestor(target, relpos, FloatPoint()); 586 mappedPoint = mapLocalToAncestor(target, relpos, FloatPoint());
587 EXPECT_EQ(FloatPoint(25, 25), mappedPoint); 587 EXPECT_EQ(FloatPoint(25, 25), mappedPoint);
588 588
589 mappedPoint = mapLocalToAncestor(relpos, flowThread, mappedPoint); 589 mappedPoint = mapLocalToAncestor(relpos, flowThread, mappedPoint);
590 EXPECT_EQ(FloatPoint(129, 39), mappedPoint); 590 EXPECT_EQ(FloatPoint(29, 139), mappedPoint);
591 591
592 mappedPoint = mapLocalToAncestor(flowThread, multicol, mappedPoint); 592 mappedPoint = mapLocalToAncestor(flowThread, multicol, mappedPoint);
593 EXPECT_EQ(FloatPoint(144, 54), mappedPoint); 593 EXPECT_EQ(FloatPoint(144, 54), mappedPoint);
594 594
595 mappedPoint = mapAncestorToLocal(flowThread, multicol, mappedPoint); 595 mappedPoint = mapAncestorToLocal(flowThread, multicol, mappedPoint);
596 EXPECT_EQ(FloatPoint(129, 39), mappedPoint); 596 EXPECT_EQ(FloatPoint(129, 39), mappedPoint);
597 597
598 mappedPoint = mapAncestorToLocal(relpos, flowThread, mappedPoint); 598 mappedPoint = mapAncestorToLocal(relpos, flowThread, mappedPoint);
599 EXPECT_EQ(FloatPoint(25, 25), mappedPoint); 599 EXPECT_EQ(FloatPoint(25, 25), mappedPoint);
600 600
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
1131 1131
1132 // With child2, each rotation gets flattened and the end result is approxima tely a 90-degree rotation. 1132 // With child2, each rotation gets flattened and the end result is approxima tely a 90-degree rotation.
1133 matrix = child2->localToAbsoluteTransform(); 1133 matrix = child2->localToAbsoluteTransform();
1134 EXPECT_NEAR(50.0, matrix.projectPoint(FloatPoint(100.0, 50.0)).x(), LayoutUn it::epsilon()); 1134 EXPECT_NEAR(50.0, matrix.projectPoint(FloatPoint(100.0, 50.0)).x(), LayoutUn it::epsilon());
1135 EXPECT_NEAR(50.0, matrix.projectPoint(FloatPoint(100.0, 50.0)).y(), LayoutUn it::epsilon()); 1135 EXPECT_NEAR(50.0, matrix.projectPoint(FloatPoint(100.0, 50.0)).y(), LayoutUn it::epsilon());
1136 EXPECT_NEAR(25.0, matrix.projectPoint(FloatPoint(50.0, 100.0)).x(), LayoutUn it::epsilon()); 1136 EXPECT_NEAR(25.0, matrix.projectPoint(FloatPoint(50.0, 100.0)).x(), LayoutUn it::epsilon());
1137 EXPECT_NEAR(100.0, matrix.projectPoint(FloatPoint(50.0, 100.0)).y(), LayoutU nit::epsilon()); 1137 EXPECT_NEAR(100.0, matrix.projectPoint(FloatPoint(50.0, 100.0)).y(), LayoutU nit::epsilon());
1138 } 1138 }
1139 1139
1140 } // namespace blink 1140 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutObject.cpp ('k') | third_party/WebKit/Source/core/layout/api/LayoutItem.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698