Changeset 179883 in webkit


Ignore:
Timestamp:
Feb 10, 2015 2:35:54 PM (9 years ago)
Author:
hyatt@apple.com
Message:

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.
Location:
trunk
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r179877 r179883  
     12015-02-09  David Hyatt  <hyatt@apple.com>
     2
     3        text-underline-position: under is broken
     4        https://bugs.webkit.org/show_bug.cgi?id=141400
     5        <rdar://problem/18569583>
     6
     7        Reviewed by Simon Fraser.
     8
     9        * fast/text/text-underline-position-under-expected.html: Added.
     10        * fast/text/text-underline-position-under.html: Added.
     11
    1122015-02-07  Zalan Bujtas  <zalan@apple.com>
    213
  • trunk/Source/WebCore/ChangeLog

    r179880 r179883  
     12015-02-09  David Hyatt  <hyatt@apple.com>
     2
     3        text-underline-position: under is broken
     4        https://bugs.webkit.org/show_bug.cgi?id=141400
     5        <rdar://problem/18569583>
     6
     7        Reviewed by Simon Fraser.
     8
     9        Added fast/text/text-underline-position-under.html
     10
     11        * rendering/InlineFlowBox.cpp:
     12        (WebCore::InlineFlowBox::computeMaxLogicalBottom):
     13        (WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.
     14        * rendering/InlineFlowBox.h:
     15        Switch to using the bottom to compute the offset. Using the top is incorrect, since
     16        the heights of boxes can vary.
     17
     18        Fix a bug where the y() of the box was being used instead of the logical value, making the result
     19        wrong for vertical text.
     20
     21        * rendering/RootInlineBox.cpp:
     22        (WebCore::RootInlineBox::maxLogicalBottom):
     23        (WebCore::RootInlineBox::maxLogicalTop): Deleted.
     24        Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
     25        since the old code just ignored the root's placement.
     26
     27        * rendering/RootInlineBox.h:
     28        * style/InlineTextBoxStyle.cpp:
     29        (WebCore::computeUnderlineOffset):
     30        Call the bottom function now instead of the top.
     31
    1322015-02-10  Chris Dumez  <cdumez@apple.com>
    233
  • trunk/Source/WebCore/rendering/InlineFlowBox.cpp

    r178940 r179883  
    749749}
    750750
    751 void InlineFlowBox::computeMaxLogicalTop(float& maxLogicalTop) const
     751void InlineFlowBox::computeMaxLogicalBottom(float& maxLogicalBottom) const
    752752{
    753753    for (InlineBox* child = firstChild(); child; child = child->nextOnLine()) {
     
    758758            continue;
    759759
    760         maxLogicalTop = std::max<float>(maxLogicalTop, child->y());
    761         float localMaxLogicalTop = 0;
     760        maxLogicalBottom = std::max<float>(maxLogicalBottom, child->logicalBottom());
    762761        if (is<InlineFlowBox>(*child))
    763             downcast<InlineFlowBox>(*child).computeMaxLogicalTop(localMaxLogicalTop);
    764         maxLogicalTop = std::max<float>(maxLogicalTop, localMaxLogicalTop);
     762            downcast<InlineFlowBox>(*child).computeMaxLogicalBottom(maxLogicalBottom);
    765763    }
    766764}
  • trunk/Source/WebCore/rendering/InlineFlowBox.h

    r178940 r179883  
    313313    InlineFlowBox* m_nextLineBox; // The next box that also uses our RenderObject
    314314
    315     // Maximum logicalTop among all children of an InlineFlowBox. Used to
     315    // Maximum logicalBottom among all children of an InlineFlowBox. Used to
    316316    // calculate the offset for TextUnderlinePositionUnder.
    317     void computeMaxLogicalTop(float& maxLogicalTop) const;
     317    void computeMaxLogicalBottom(float& maxLogicalBottom) const;
    318318private:
    319319    unsigned m_includeLogicalLeftEdge : 1;
  • trunk/Source/WebCore/rendering/RootInlineBox.cpp

    r178940 r179883  
    315315}
    316316
    317 float RootInlineBox::maxLogicalTop() const
    318 {
    319     float maxLogicalTop = 0;
    320     computeMaxLogicalTop(maxLogicalTop);
    321     return maxLogicalTop;
     317float RootInlineBox::maxLogicalBottom() const
     318{
     319    float maxLogicalBottom = logicalBottom();
     320    computeMaxLogicalBottom(maxLogicalBottom);
     321    return maxLogicalBottom;
    322322}
    323323
  • trunk/Source/WebCore/rendering/RootInlineBox.h

    r175345 r179883  
    189189
    190190    // Used to calculate the underline offset for TextUnderlinePositionUnder.
    191     float maxLogicalTop() const;
     191    float maxLogicalBottom() const;
    192192
    193193    Node* getLogicalStartBoxWithNode(InlineBox*&) const;
  • trunk/Source/WebCore/style/InlineTextBoxStyle.cpp

    r178510 r179883  
    4747        ASSERT(inlineTextBox);
    4848        // Position underline relative to the bottom edge of the lowest element's content box.
    49         float offset = inlineTextBox->root().maxLogicalTop() - inlineTextBox->logicalTop();
     49        float offset = inlineTextBox->root().maxLogicalBottom() - inlineTextBox->logicalBottom();
    5050        return inlineTextBox->logicalHeight() + gap + std::max<float>(offset, 0);
    5151    }
Note: See TracChangeset for help on using the changeset viewer.