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

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

Issue 1419813004: Remove the "horizontal-bt" value from -webkit-writing-mode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: TestExpectations Created 5 years, 1 month 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) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 LayoutUnit borderAndPadding = child.borderAndPaddingLogicalWidth(); 451 LayoutUnit borderAndPadding = child.borderAndPaddingLogicalWidth();
452 if (child.styleRef().logicalWidth().isAuto()) { 452 if (child.styleRef().logicalWidth().isAuto()) {
453 if (size.type() == MinContent) 453 if (size.type() == MinContent)
454 return child.minPreferredLogicalWidth() - borderAndPadding; 454 return child.minPreferredLogicalWidth() - borderAndPadding;
455 if (size.type() == MaxContent) 455 if (size.type() == MaxContent)
456 return child.maxPreferredLogicalWidth() - borderAndPadding; 456 return child.maxPreferredLogicalWidth() - borderAndPadding;
457 } 457 }
458 return child.computeLogicalWidthUsing(sizeType, size, contentLogicalWidth(), this) - borderAndPadding; 458 return child.computeLogicalWidthUsing(sizeType, size, contentLogicalWidth(), this) - borderAndPadding;
459 } 459 }
460 460
461 WritingMode LayoutFlexibleBox::transformedWritingMode() const 461 LayoutFlexibleBox::TransformedWritingMode LayoutFlexibleBox::transformedWritingM ode() const
462 { 462 {
463 WritingMode mode = style()->writingMode(); 463 WritingMode mode = style()->writingMode();
464 if (!isColumnFlow()) 464 if (!isColumnFlow())
465 return mode; 465 return static_cast<TransformedWritingMode>(mode);
cbiesinger 2015/10/30 19:11:02 That seems a little scary, maybe add some COMPILE_
kojii 2015/11/01 06:58:55 Added static_assert, thank you for the advice.
466 466
467 switch (mode) { 467 switch (mode) {
468 case TopToBottomWritingMode: 468 case TopToBottomWritingMode:
469 case BottomToTopWritingMode: 469 return style()->isLeftToRightDirection() ? TransformedWritingMode::LeftT oRightWritingMode : TransformedWritingMode::RightToLeftWritingMode;
470 return style()->isLeftToRightDirection() ? LeftToRightWritingMode : Righ tToLeftWritingMode;
471 case LeftToRightWritingMode: 470 case LeftToRightWritingMode:
472 case RightToLeftWritingMode: 471 case RightToLeftWritingMode:
473 return style()->isLeftToRightDirection() ? TopToBottomWritingMode : Bott omToTopWritingMode; 472 return style()->isLeftToRightDirection() ? TransformedWritingMode::TopTo BottomWritingMode : TransformedWritingMode::BottomToTopWritingMode;
474 } 473 }
475 ASSERT_NOT_REACHED(); 474 ASSERT_NOT_REACHED();
476 return TopToBottomWritingMode; 475 return TransformedWritingMode::TopToBottomWritingMode;
477 } 476 }
478 477
479 LayoutUnit LayoutFlexibleBox::flowAwareBorderStart() const 478 LayoutUnit LayoutFlexibleBox::flowAwareBorderStart() const
480 { 479 {
481 if (isHorizontalFlow()) 480 if (isHorizontalFlow())
482 return isLeftToRightFlow() ? borderLeft() : borderRight(); 481 return isLeftToRightFlow() ? borderLeft() : borderRight();
483 return isLeftToRightFlow() ? borderTop() : borderBottom(); 482 return isLeftToRightFlow() ? borderTop() : borderBottom();
484 } 483 }
485 484
486 LayoutUnit LayoutFlexibleBox::flowAwareBorderEnd() const 485 LayoutUnit LayoutFlexibleBox::flowAwareBorderEnd() const
487 { 486 {
488 if (isHorizontalFlow()) 487 if (isHorizontalFlow())
489 return isLeftToRightFlow() ? borderRight() : borderLeft(); 488 return isLeftToRightFlow() ? borderRight() : borderLeft();
490 return isLeftToRightFlow() ? borderBottom() : borderTop(); 489 return isLeftToRightFlow() ? borderBottom() : borderTop();
491 } 490 }
492 491
493 LayoutUnit LayoutFlexibleBox::flowAwareBorderBefore() const 492 LayoutUnit LayoutFlexibleBox::flowAwareBorderBefore() const
494 { 493 {
495 switch (transformedWritingMode()) { 494 switch (transformedWritingMode()) {
496 case TopToBottomWritingMode: 495 case TransformedWritingMode::TopToBottomWritingMode:
497 return borderTop(); 496 return borderTop();
498 case BottomToTopWritingMode: 497 case TransformedWritingMode::BottomToTopWritingMode:
499 return borderBottom(); 498 return borderBottom();
500 case LeftToRightWritingMode: 499 case TransformedWritingMode::LeftToRightWritingMode:
501 return borderLeft(); 500 return borderLeft();
502 case RightToLeftWritingMode: 501 case TransformedWritingMode::RightToLeftWritingMode:
503 return borderRight(); 502 return borderRight();
504 } 503 }
505 ASSERT_NOT_REACHED(); 504 ASSERT_NOT_REACHED();
506 return borderTop(); 505 return borderTop();
507 } 506 }
508 507
509 LayoutUnit LayoutFlexibleBox::flowAwareBorderAfter() const 508 LayoutUnit LayoutFlexibleBox::flowAwareBorderAfter() const
510 { 509 {
511 switch (transformedWritingMode()) { 510 switch (transformedWritingMode()) {
512 case TopToBottomWritingMode: 511 case TransformedWritingMode::TopToBottomWritingMode:
513 return borderBottom(); 512 return borderBottom();
514 case BottomToTopWritingMode: 513 case TransformedWritingMode::BottomToTopWritingMode:
515 return borderTop(); 514 return borderTop();
516 case LeftToRightWritingMode: 515 case TransformedWritingMode::LeftToRightWritingMode:
517 return borderRight(); 516 return borderRight();
518 case RightToLeftWritingMode: 517 case TransformedWritingMode::RightToLeftWritingMode:
519 return borderLeft(); 518 return borderLeft();
520 } 519 }
521 ASSERT_NOT_REACHED(); 520 ASSERT_NOT_REACHED();
522 return borderTop(); 521 return borderTop();
523 } 522 }
524 523
525 LayoutUnit LayoutFlexibleBox::flowAwarePaddingStart() const 524 LayoutUnit LayoutFlexibleBox::flowAwarePaddingStart() const
526 { 525 {
527 if (isHorizontalFlow()) 526 if (isHorizontalFlow())
528 return isLeftToRightFlow() ? paddingLeft() : paddingRight(); 527 return isLeftToRightFlow() ? paddingLeft() : paddingRight();
529 return isLeftToRightFlow() ? paddingTop() : paddingBottom(); 528 return isLeftToRightFlow() ? paddingTop() : paddingBottom();
530 } 529 }
531 530
532 LayoutUnit LayoutFlexibleBox::flowAwarePaddingEnd() const 531 LayoutUnit LayoutFlexibleBox::flowAwarePaddingEnd() const
533 { 532 {
534 if (isHorizontalFlow()) 533 if (isHorizontalFlow())
535 return isLeftToRightFlow() ? paddingRight() : paddingLeft(); 534 return isLeftToRightFlow() ? paddingRight() : paddingLeft();
536 return isLeftToRightFlow() ? paddingBottom() : paddingTop(); 535 return isLeftToRightFlow() ? paddingBottom() : paddingTop();
537 } 536 }
538 537
539 LayoutUnit LayoutFlexibleBox::flowAwarePaddingBefore() const 538 LayoutUnit LayoutFlexibleBox::flowAwarePaddingBefore() const
540 { 539 {
541 switch (transformedWritingMode()) { 540 switch (transformedWritingMode()) {
542 case TopToBottomWritingMode: 541 case TransformedWritingMode::TopToBottomWritingMode:
543 return paddingTop(); 542 return paddingTop();
544 case BottomToTopWritingMode: 543 case TransformedWritingMode::BottomToTopWritingMode:
545 return paddingBottom(); 544 return paddingBottom();
546 case LeftToRightWritingMode: 545 case TransformedWritingMode::LeftToRightWritingMode:
547 return paddingLeft(); 546 return paddingLeft();
548 case RightToLeftWritingMode: 547 case TransformedWritingMode::RightToLeftWritingMode:
549 return paddingRight(); 548 return paddingRight();
550 } 549 }
551 ASSERT_NOT_REACHED(); 550 ASSERT_NOT_REACHED();
552 return paddingTop(); 551 return paddingTop();
553 } 552 }
554 553
555 LayoutUnit LayoutFlexibleBox::flowAwarePaddingAfter() const 554 LayoutUnit LayoutFlexibleBox::flowAwarePaddingAfter() const
556 { 555 {
557 switch (transformedWritingMode()) { 556 switch (transformedWritingMode()) {
558 case TopToBottomWritingMode: 557 case TransformedWritingMode::TopToBottomWritingMode:
559 return paddingBottom(); 558 return paddingBottom();
560 case BottomToTopWritingMode: 559 case TransformedWritingMode::BottomToTopWritingMode:
561 return paddingTop(); 560 return paddingTop();
562 case LeftToRightWritingMode: 561 case TransformedWritingMode::LeftToRightWritingMode:
563 return paddingRight(); 562 return paddingRight();
564 case RightToLeftWritingMode: 563 case TransformedWritingMode::RightToLeftWritingMode:
565 return paddingLeft(); 564 return paddingLeft();
566 } 565 }
567 ASSERT_NOT_REACHED(); 566 ASSERT_NOT_REACHED();
568 return paddingTop(); 567 return paddingTop();
569 } 568 }
570 569
571 LayoutUnit LayoutFlexibleBox::flowAwareMarginStartForChild(const LayoutBox& chil d) const 570 LayoutUnit LayoutFlexibleBox::flowAwareMarginStartForChild(const LayoutBox& chil d) const
572 { 571 {
573 if (isHorizontalFlow()) 572 if (isHorizontalFlow())
574 return isLeftToRightFlow() ? child.marginLeft() : child.marginRight(); 573 return isLeftToRightFlow() ? child.marginLeft() : child.marginRight();
575 return isLeftToRightFlow() ? child.marginTop() : child.marginBottom(); 574 return isLeftToRightFlow() ? child.marginTop() : child.marginBottom();
576 } 575 }
577 576
578 LayoutUnit LayoutFlexibleBox::flowAwareMarginEndForChild(const LayoutBox& child) const 577 LayoutUnit LayoutFlexibleBox::flowAwareMarginEndForChild(const LayoutBox& child) const
579 { 578 {
580 if (isHorizontalFlow()) 579 if (isHorizontalFlow())
581 return isLeftToRightFlow() ? child.marginRight() : child.marginLeft(); 580 return isLeftToRightFlow() ? child.marginRight() : child.marginLeft();
582 return isLeftToRightFlow() ? child.marginBottom() : child.marginTop(); 581 return isLeftToRightFlow() ? child.marginBottom() : child.marginTop();
583 } 582 }
584 583
585 LayoutUnit LayoutFlexibleBox::flowAwareMarginBeforeForChild(const LayoutBox& chi ld) const 584 LayoutUnit LayoutFlexibleBox::flowAwareMarginBeforeForChild(const LayoutBox& chi ld) const
586 { 585 {
587 switch (transformedWritingMode()) { 586 switch (transformedWritingMode()) {
588 case TopToBottomWritingMode: 587 case TransformedWritingMode::TopToBottomWritingMode:
589 return child.marginTop(); 588 return child.marginTop();
590 case BottomToTopWritingMode: 589 case TransformedWritingMode::BottomToTopWritingMode:
591 return child.marginBottom(); 590 return child.marginBottom();
592 case LeftToRightWritingMode: 591 case TransformedWritingMode::LeftToRightWritingMode:
593 return child.marginLeft(); 592 return child.marginLeft();
594 case RightToLeftWritingMode: 593 case TransformedWritingMode::RightToLeftWritingMode:
595 return child.marginRight(); 594 return child.marginRight();
596 } 595 }
597 ASSERT_NOT_REACHED(); 596 ASSERT_NOT_REACHED();
598 return marginTop(); 597 return marginTop();
599 } 598 }
600 599
601 LayoutUnit LayoutFlexibleBox::crossAxisMarginExtentForChild(const LayoutBox& chi ld) const 600 LayoutUnit LayoutFlexibleBox::crossAxisMarginExtentForChild(const LayoutBox& chi ld) const
602 { 601 {
603 return isHorizontalFlow() ? child.marginHeight() : child.marginWidth(); 602 return isHorizontalFlow() ? child.marginHeight() : child.marginWidth();
604 } 603 }
(...skipping 913 matching lines...) Expand 10 before | Expand all | Expand 10 after
1518 ASSERT(child); 1517 ASSERT(child);
1519 LayoutUnit lineCrossAxisExtent = lineContexts[lineNumber].crossAxisE xtent; 1518 LayoutUnit lineCrossAxisExtent = lineContexts[lineNumber].crossAxisE xtent;
1520 LayoutUnit originalOffset = lineContexts[lineNumber].crossAxisOffset - crossAxisStartEdge; 1519 LayoutUnit originalOffset = lineContexts[lineNumber].crossAxisOffset - crossAxisStartEdge;
1521 LayoutUnit newOffset = contentExtent - originalOffset - lineCrossAxi sExtent; 1520 LayoutUnit newOffset = contentExtent - originalOffset - lineCrossAxi sExtent;
1522 adjustAlignmentForChild(*child, newOffset - originalOffset); 1521 adjustAlignmentForChild(*child, newOffset - originalOffset);
1523 } 1522 }
1524 } 1523 }
1525 } 1524 }
1526 1525
1527 } 1526 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698