Dactyloidae/layout
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
..
base Issue #1829 - Readd code cleanup that is not Mac related that got clobbered by reverting Issue #1751 2022-05-04 10:01:23 +08:00
build Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
doc import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
forms Issue #1970 - Part 7: Restore proper spacing in select for CJK/asian 2022-08-04 14:25:30 +08:00
generic Issue #1970 - Part 7: Restore proper spacing in select for CJK/asian 2022-08-04 14:25:30 +08:00
inspector Issue #1053 - Part 2a: Remove android from /layout (partial) 2021-01-01 10:01:05 +08:00
ipc Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
mathml Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
media Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
printing Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
reftests Issue #1970 - Part 5: Move combobox/select padding to the select rule. 2022-08-04 14:24:57 +08:00
style Issue #1970 - Part 5: Move combobox/select padding to the select rule. 2022-08-04 14:24:57 +08:00
svg Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
tables Issue #1916 - Part 3: Sticky/relative position fixes in nsTableWrapperFrame. 2022-06-22 09:01:54 +08:00
tools Issue #21 - Remove remaining telemetry structs, callers and flags. 2022-04-28 10:33:44 +08:00
xul Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
moz.build Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00