Dactyloidae/layout/forms
Moonchild b18a680d4f Issue #1970 - Part 7: Restore proper spacing in select for CJK/asian
The issue is that select elements may contain some non-Latin characters that
need extra block-size to display than the one line-height calculated by using a
Latin font spec in the style.
Before this patch, when a control has an unconstrained block-size, we set
the element's block-size to one line-height in Reflow(), which is intended to
properly initialize `BlockReflowInput::mMinLineHeight` since it uses
`line-height:-moz-block-height`.

However, this simply prevents the display from choosing a larger block-size
after the reflow occurs. Previously, this discrepancy was absorbed by the extra
padding present to make select elements the same intrinsic size as buttons, but
since we did away with that, we're losing the extra space and the font glyphs
get clipped.

This patch fixes the issue by carrying the computed line height over to the
element's display so that its computed block-size is still unconstrained.
This way it can accommodate taller characters in the display text.

After this patch, a <select><option> containing non-Latin characters should have
the same block-size as <button>, and no characters should be clipped.
2022-08-04 14:25:30 +08:00
..
crashtests import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
test Issue #1970 - Part 7: Restore proper spacing in select for CJK/asian 2022-08-04 14:25:30 +08:00
moz.build Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
nsButtonFrameRenderer.cpp Issue #1970 - Part 4: Don't overflow -moz-focus-inner border. 2022-08-04 14:24:41 +08:00
nsButtonFrameRenderer.h Issue #1970 - Part 2: Remove the extra padding on buttons 2022-08-04 14:24:10 +08:00
nsColorControlFrame.cpp Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time 2020-04-18 07:03:03 +08:00
nsColorControlFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsComboboxControlFrame.cpp Issue #1970 - Part 7: Restore proper spacing in select for CJK/asian 2022-08-04 14:25:30 +08:00
nsComboboxControlFrame.h Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsDateTimeControlFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsDateTimeControlFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsFieldSetFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsFieldSetFrame.h Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsFileControlFrame.cpp Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsFileControlFrame.h Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsFormControlFrame.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsFormControlFrame.h Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsGfxButtonControlFrame.cpp Bug 1334247 - Remove nsIAnonymousContentCreator::CreateFrameFor 2020-04-18 07:02:54 +08:00
nsGfxButtonControlFrame.h Bug 1334247 - Remove nsIAnonymousContentCreator::CreateFrameFor 2020-04-18 07:02:54 +08:00
nsGfxCheckboxControlFrame.cpp Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsGfxCheckboxControlFrame.h Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsGfxRadioControlFrame.cpp Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsGfxRadioControlFrame.h Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsHTMLButtonControlFrame.cpp Issue #1970 - Part 2: Remove the extra padding on buttons 2022-08-04 14:24:10 +08:00
nsHTMLButtonControlFrame.h Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsIComboboxControlFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsIFormControlFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsIListControlFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsImageControlFrame.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsISelectControlFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsITextControlFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsLegendFrame.cpp Issue #1641 - Implement CSS flow-root keyword 2020-09-04 22:31:00 +08:00
nsLegendFrame.h CSS: inline-block with a display:block <input> child element has a wrong baseline (HTML forms) 2019-02-15 23:36:15 +08:00
nsListControlFrame.cpp Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
nsListControlFrame.h Issue #1705 - Part 3: Rename ScrollbarStyles to ScrollStyles. 2021-01-14 22:19:53 +08:00
nsMeterFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsMeterFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsNumberControlFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsNumberControlFrame.h Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time 2020-04-18 07:03:03 +08:00
nsProgressFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsProgressFrame.h Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsRangeFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsRangeFrame.h Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsSelectsAreaFrame.cpp Issue #1355 - Preemptively fix build bustage for 1409114 2020-05-16 06:48:36 +08:00
nsSelectsAreaFrame.h Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00
nsTextControlFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsTextControlFrame.h Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList 2020-05-16 06:48:33 +08:00