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

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

Issue 2897883002: Make RubyPosition an enum class. (Closed)
Patch Set: Rebase 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 /* 1 /*
2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc.
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 curr->SetLogicalTop(new_logical_top); 787 curr->SetLogicalTop(new_logical_top);
788 788
789 if (child_affects_top_bottom_pos) { 789 if (child_affects_top_bottom_pos) {
790 if (curr->GetLineLayoutItem().IsRubyRun()) { 790 if (curr->GetLineLayoutItem().IsRubyRun()) {
791 // Treat the leading on the first and last lines of ruby runs as not 791 // Treat the leading on the first and last lines of ruby runs as not
792 // being part of the overall lineTop/lineBottom. 792 // being part of the overall lineTop/lineBottom.
793 // Really this is a workaround hack for the fact that ruby should have 793 // Really this is a workaround hack for the fact that ruby should have
794 // been done as line layout and not done using inline-block. 794 // been done as line layout and not done using inline-block.
795 if (GetLineLayoutItem().Style()->IsFlippedLinesWritingMode() == 795 if (GetLineLayoutItem().Style()->IsFlippedLinesWritingMode() ==
796 (curr->GetLineLayoutItem().Style()->GetRubyPosition() == 796 (curr->GetLineLayoutItem().Style()->GetRubyPosition() ==
797 kRubyPositionAfter)) 797 RubyPosition::kAfter))
798 has_annotations_before = true; 798 has_annotations_before = true;
799 else 799 else
800 has_annotations_after = true; 800 has_annotations_after = true;
801 801
802 LineLayoutRubyRun ruby_run = 802 LineLayoutRubyRun ruby_run =
803 LineLayoutRubyRun(curr->GetLineLayoutItem()); 803 LineLayoutRubyRun(curr->GetLineLayoutItem());
804 if (LineLayoutRubyBase ruby_base = ruby_run.RubyBase()) { 804 if (LineLayoutRubyBase ruby_base = ruby_run.RubyBase()) {
805 LayoutUnit bottom_ruby_base_leading = 805 LayoutUnit bottom_ruby_base_leading =
806 (curr->LogicalHeight() - ruby_base.LogicalBottom()) + 806 (curr->LogicalHeight() - ruby_base.LogicalBottom()) +
807 ruby_base.LogicalHeight() - 807 ruby_base.LogicalHeight() -
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after
1506 continue; // Positioned placeholders don't affect calculations. 1506 continue; // Positioned placeholders don't affect calculations.
1507 1507
1508 if (curr->IsInlineFlowBox()) 1508 if (curr->IsInlineFlowBox())
1509 result = std::max(result, 1509 result = std::max(result,
1510 ToInlineFlowBox(curr)->ComputeOverAnnotationAdjustment( 1510 ToInlineFlowBox(curr)->ComputeOverAnnotationAdjustment(
1511 allowed_position)); 1511 allowed_position));
1512 1512
1513 if (curr->GetLineLayoutItem().IsAtomicInlineLevel() && 1513 if (curr->GetLineLayoutItem().IsAtomicInlineLevel() &&
1514 curr->GetLineLayoutItem().IsRubyRun() && 1514 curr->GetLineLayoutItem().IsRubyRun() &&
1515 curr->GetLineLayoutItem().Style()->GetRubyPosition() == 1515 curr->GetLineLayoutItem().Style()->GetRubyPosition() ==
1516 kRubyPositionBefore) { 1516 RubyPosition::kBefore) {
1517 LineLayoutRubyRun ruby_run = LineLayoutRubyRun(curr->GetLineLayoutItem()); 1517 LineLayoutRubyRun ruby_run = LineLayoutRubyRun(curr->GetLineLayoutItem());
1518 LineLayoutRubyText ruby_text = ruby_run.RubyText(); 1518 LineLayoutRubyText ruby_text = ruby_run.RubyText();
1519 if (!ruby_text) 1519 if (!ruby_text)
1520 continue; 1520 continue;
1521 1521
1522 if (!ruby_run.Style()->IsFlippedLinesWritingMode()) { 1522 if (!ruby_run.Style()->IsFlippedLinesWritingMode()) {
1523 LayoutUnit top_of_first_ruby_text_line = 1523 LayoutUnit top_of_first_ruby_text_line =
1524 ruby_text.LogicalTop() + (ruby_text.FirstRootBox() 1524 ruby_text.LogicalTop() + (ruby_text.FirstRootBox()
1525 ? ruby_text.FirstRootBox()->LineTop() 1525 ? ruby_text.FirstRootBox()->LineTop()
1526 : LayoutUnit()); 1526 : LayoutUnit());
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1577 continue; // Positioned placeholders don't affect calculations. 1577 continue; // Positioned placeholders don't affect calculations.
1578 1578
1579 if (curr->IsInlineFlowBox()) 1579 if (curr->IsInlineFlowBox())
1580 result = std::max(result, 1580 result = std::max(result,
1581 ToInlineFlowBox(curr)->ComputeUnderAnnotationAdjustment( 1581 ToInlineFlowBox(curr)->ComputeUnderAnnotationAdjustment(
1582 allowed_position)); 1582 allowed_position));
1583 1583
1584 if (curr->GetLineLayoutItem().IsAtomicInlineLevel() && 1584 if (curr->GetLineLayoutItem().IsAtomicInlineLevel() &&
1585 curr->GetLineLayoutItem().IsRubyRun() && 1585 curr->GetLineLayoutItem().IsRubyRun() &&
1586 curr->GetLineLayoutItem().Style()->GetRubyPosition() == 1586 curr->GetLineLayoutItem().Style()->GetRubyPosition() ==
1587 kRubyPositionAfter) { 1587 RubyPosition::kAfter) {
1588 LineLayoutRubyRun ruby_run = LineLayoutRubyRun(curr->GetLineLayoutItem()); 1588 LineLayoutRubyRun ruby_run = LineLayoutRubyRun(curr->GetLineLayoutItem());
1589 LineLayoutRubyText ruby_text = ruby_run.RubyText(); 1589 LineLayoutRubyText ruby_text = ruby_run.RubyText();
1590 if (!ruby_text) 1590 if (!ruby_text)
1591 continue; 1591 continue;
1592 1592
1593 if (ruby_run.Style()->IsFlippedLinesWritingMode()) { 1593 if (ruby_run.Style()->IsFlippedLinesWritingMode()) {
1594 LayoutUnit top_of_first_ruby_text_line = 1594 LayoutUnit top_of_first_ruby_text_line =
1595 ruby_text.LogicalTop() + (ruby_text.FirstRootBox() 1595 ruby_text.LogicalTop() + (ruby_text.FirstRootBox()
1596 ? ruby_text.FirstRootBox()->LineTop() 1596 ? ruby_text.FirstRootBox()->LineTop()
1597 : LayoutUnit()); 1597 : LayoutUnit());
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1707 InlineBox::ShowLineTreeAndMark(marked_box1, marked_label1, marked_box2, 1707 InlineBox::ShowLineTreeAndMark(marked_box1, marked_label1, marked_box2,
1708 marked_label2, obj, depth); 1708 marked_label2, obj, depth);
1709 for (const InlineBox* box = FirstChild(); box; box = box->NextOnLine()) 1709 for (const InlineBox* box = FirstChild(); box; box = box->NextOnLine())
1710 box->ShowLineTreeAndMark(marked_box1, marked_label1, marked_box2, 1710 box->ShowLineTreeAndMark(marked_box1, marked_label1, marked_box2,
1711 marked_label2, obj, depth + 1); 1711 marked_label2, obj, depth + 1);
1712 } 1712 }
1713 1713
1714 #endif 1714 #endif
1715 1715
1716 } // namespace blink 1716 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutRubyRun.cpp ('k') | third_party/WebKit/Source/core/style/ComputedStyle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698