Title: [179883] trunk
Revision
179883
Author
[email protected]
Date
2015-02-10 14:35:54 -0800 (Tue, 10 Feb 2015)

Log 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.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (179882 => 179883)


--- trunk/LayoutTests/ChangeLog	2015-02-10 21:59:54 UTC (rev 179882)
+++ trunk/LayoutTests/ChangeLog	2015-02-10 22:35:54 UTC (rev 179883)
@@ -1,3 +1,14 @@
+2015-02-09  David Hyatt  <[email protected]>
+
+        text-underline-position: under is broken
+        https://bugs.webkit.org/show_bug.cgi?id=141400
+        <rdar://problem/18569583>
+
+        Reviewed by Simon Fraser.
+
+        * fast/text/text-underline-position-under-expected.html: Added.
+        * fast/text/text-underline-position-under.html: Added.
+
 2015-02-07  Zalan Bujtas  <[email protected]>
 
         REGRESSION (r168046): Crash in WebCore::InlineBox::renderer / WebCore::RenderFlowThread::checkLinesConsistency

Added: trunk/LayoutTests/fast/text/text-underline-position-under-expected.html (0 => 179883)


--- trunk/LayoutTests/fast/text/text-underline-position-under-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/text/text-underline-position-under-expected.html	2015-02-10 22:35:54 UTC (rev 179883)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ibooks="http://apple.com/ibooks/html-extensions" xmlns:epub="http://www.idpf.org/2007/ops">
+<head>
+<style>
+p{
+text-decoration: underline;
+-webkit-text-underline-position: under;
+float:left;
+margin:10px;
+background-color: #ddd;
+line-height:3.0;
+}
+.rl{
+-webkit-writing-mode:vertical-rl;
+}
+.lr{
+-webkit-writing-mode:vertical-lr;
+}
+</style>
+</head>
+<body>
+<p class="rl">「向見論治道書,其間欲仿井田之意,而科條州郡財賦之類<br/>
+,此固為治之具。然施之當有次第。今日先務,恐當啟迪主心</p>
+
+<p class="lr">「向見論治道書,其間欲仿井田之意,而科條州郡財賦之類<br/>
+,此固為治之具。然施之當有次第。今日先務,恐當啟迪主心</p>
+
+</body>
+</html>
+

Added: trunk/LayoutTests/fast/text/text-underline-position-under.html (0 => 179883)


--- trunk/LayoutTests/fast/text/text-underline-position-under.html	                        (rev 0)
+++ trunk/LayoutTests/fast/text/text-underline-position-under.html	2015-02-10 22:35:54 UTC (rev 179883)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ibooks="http://apple.com/ibooks/html-extensions" xmlns:epub="http://www.idpf.org/2007/ops">
+<head>
+<style>
+p{
+text-decoration: underline;
+-webkit-text-underline-position: under;
+float:left;
+margin:10px;
+background-color: #ddd;
+line-height:3.0;
+}
+.rl{
+-webkit-writing-mode:vertical-rl;
+}
+.lr{
+-webkit-writing-mode:vertical-lr;
+}
+</style>
+</head>
+<body>
+<p class="rl">「向見論治道書,<span>其間欲仿井田之意</span>,而科條州郡財賦之類<br/>
+,此固為治之具。然施之當有次第。今日先務,恐當啟迪主心</p>
+
+<p class="lr">「向見論治道書,<span>其間欲仿井田之意</span>,而科條州郡財賦之類<br/>
+,此固為治之具。然施之當有次第。今日先務,恐當啟迪主心</p>
+
+</body>
+</html>
+

Modified: trunk/Source/WebCore/ChangeLog (179882 => 179883)


--- trunk/Source/WebCore/ChangeLog	2015-02-10 21:59:54 UTC (rev 179882)
+++ trunk/Source/WebCore/ChangeLog	2015-02-10 22:35:54 UTC (rev 179883)
@@ -1,3 +1,34 @@
+2015-02-09  David Hyatt  <[email protected]>
+
+        text-underline-position: under is broken
+        https://bugs.webkit.org/show_bug.cgi?id=141400
+        <rdar://problem/18569583>
+
+        Reviewed by Simon Fraser.
+
+        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.
+
 2015-02-10  Chris Dumez  <[email protected]>
 
         Add assertion to help track down WebCore::DocumentLoader::stopLoadingForPolicyChange() crash

Modified: trunk/Source/WebCore/rendering/InlineFlowBox.cpp (179882 => 179883)


--- trunk/Source/WebCore/rendering/InlineFlowBox.cpp	2015-02-10 21:59:54 UTC (rev 179882)
+++ trunk/Source/WebCore/rendering/InlineFlowBox.cpp	2015-02-10 22:35:54 UTC (rev 179883)
@@ -748,7 +748,7 @@
     }
 }
 
-void InlineFlowBox::computeMaxLogicalTop(float& maxLogicalTop) const
+void InlineFlowBox::computeMaxLogicalBottom(float& maxLogicalBottom) const
 {
     for (InlineBox* child = firstChild(); child; child = child->nextOnLine()) {
         if (child->renderer().isOutOfFlowPositioned())
@@ -757,11 +757,9 @@
         if (descendantsHaveSameLineHeightAndBaseline())
             continue;
 
-        maxLogicalTop = std::max<float>(maxLogicalTop, child->y());
-        float localMaxLogicalTop = 0;
+        maxLogicalBottom = std::max<float>(maxLogicalBottom, child->logicalBottom());
         if (is<InlineFlowBox>(*child))
-            downcast<InlineFlowBox>(*child).computeMaxLogicalTop(localMaxLogicalTop);
-        maxLogicalTop = std::max<float>(maxLogicalTop, localMaxLogicalTop);
+            downcast<InlineFlowBox>(*child).computeMaxLogicalBottom(maxLogicalBottom);
     }
 }
 

Modified: trunk/Source/WebCore/rendering/InlineFlowBox.h (179882 => 179883)


--- trunk/Source/WebCore/rendering/InlineFlowBox.h	2015-02-10 21:59:54 UTC (rev 179882)
+++ trunk/Source/WebCore/rendering/InlineFlowBox.h	2015-02-10 22:35:54 UTC (rev 179883)
@@ -312,9 +312,9 @@
     InlineFlowBox* m_prevLineBox; // The previous box that also uses our RenderObject
     InlineFlowBox* m_nextLineBox; // The next box that also uses our RenderObject
 
-    // Maximum logicalTop among all children of an InlineFlowBox. Used to
+    // Maximum logicalBottom among all children of an InlineFlowBox. Used to
     // calculate the offset for TextUnderlinePositionUnder.
-    void computeMaxLogicalTop(float& maxLogicalTop) const;
+    void computeMaxLogicalBottom(float& maxLogicalBottom) const;
 private:
     unsigned m_includeLogicalLeftEdge : 1;
     unsigned m_includeLogicalRightEdge : 1;

Modified: trunk/Source/WebCore/rendering/RootInlineBox.cpp (179882 => 179883)


--- trunk/Source/WebCore/rendering/RootInlineBox.cpp	2015-02-10 21:59:54 UTC (rev 179882)
+++ trunk/Source/WebCore/rendering/RootInlineBox.cpp	2015-02-10 22:35:54 UTC (rev 179883)
@@ -314,11 +314,11 @@
     return heightOfBlock + maxHeight;
 }
 
-float RootInlineBox::maxLogicalTop() const
+float RootInlineBox::maxLogicalBottom() const
 {
-    float maxLogicalTop = 0;
-    computeMaxLogicalTop(maxLogicalTop);
-    return maxLogicalTop;
+    float maxLogicalBottom = logicalBottom();
+    computeMaxLogicalBottom(maxLogicalBottom);
+    return maxLogicalBottom;
 }
 
 LayoutUnit RootInlineBox::beforeAnnotationsAdjustment() const

Modified: trunk/Source/WebCore/rendering/RootInlineBox.h (179882 => 179883)


--- trunk/Source/WebCore/rendering/RootInlineBox.h	2015-02-10 21:59:54 UTC (rev 179882)
+++ trunk/Source/WebCore/rendering/RootInlineBox.h	2015-02-10 22:35:54 UTC (rev 179883)
@@ -188,7 +188,7 @@
     }
 
     // Used to calculate the underline offset for TextUnderlinePositionUnder.
-    float maxLogicalTop() const;
+    float maxLogicalBottom() const;
 
     Node* getLogicalStartBoxWithNode(InlineBox*&) const;
     Node* getLogicalEndBoxWithNode(InlineBox*&) const;

Modified: trunk/Source/WebCore/style/InlineTextBoxStyle.cpp (179882 => 179883)


--- trunk/Source/WebCore/style/InlineTextBoxStyle.cpp	2015-02-10 21:59:54 UTC (rev 179882)
+++ trunk/Source/WebCore/style/InlineTextBoxStyle.cpp	2015-02-10 22:35:54 UTC (rev 179883)
@@ -46,7 +46,7 @@
     case TextUnderlinePositionUnder: {
         ASSERT(inlineTextBox);
         // Position underline relative to the bottom edge of the lowest element's content box.
-        float offset = inlineTextBox->root().maxLogicalTop() - inlineTextBox->logicalTop();
+        float offset = inlineTextBox->root().maxLogicalBottom() - inlineTextBox->logicalBottom();
         return inlineTextBox->logicalHeight() + gap + std::max<float>(offset, 0);
     }
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to