gecko-dev/layout/forms
Ting-Yu Lin 8b74ff00e0 Bug 1716212 Part 2 - Carry nsComboboxControlFrame's line-height to nsComboboxDisplayFrame when it has auto block-size. r=emilio
The issue is that combobox display may contain some non-Latin characters
that need extra block-size to display than the one line-height
calculate by using a Latin font spec in combobox control's style.

Before this patch, when a combobox control has unconstrained block-size,
we set combobox display's block-size to combobox control's one
line-height in Reflow(), which is intended to properly initialize
`BlockReflowInput::mMinLineHeight` since combobox display has
`line-height:-moz-block-height`. However, this simply prevents the
combobox display from choosing a larger block-size after the reflow. See
bug 1716212 comment 11 for an analysis.

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

After this patch, <select><option> containing non-Latin characters
should have the same block-size as <button>, and no characters should be
clipped. Modified test_unstyled_control_height.html to test this.

Differential Revision: https://phabricator.services.mozilla.com/D120877
2021-07-28 18:41:19 +00:00
..
crashtests Bug 1690166 - Don't report BreakBefore reflow status if the <fieldset> is an abs/fixed positioned out-of-flow. r=TYLin 2021-02-03 21:21:40 +00:00
test Bug 1716212 Part 2 - Carry nsComboboxControlFrame's line-height to nsComboboxDisplayFrame when it has auto block-size. r=emilio 2021-07-28 18:41:19 +00:00
moz.build Bug 1683748 - Support Grid/Flex/Table/Column layout for the rendered legend of a fieldset. r=emilio 2021-01-30 13:47:10 +00:00
nsButtonFrameRenderer.cpp Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow 2021-07-19 11:28:20 +00:00
nsButtonFrameRenderer.h Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow 2021-07-19 11:28:20 +00:00
nsCheckboxRadioFrame.cpp Bug 1693688 - Make the non-native theme not return minimum sizes for checkboxes (and most other widgets). r=spohl,mstange 2021-02-20 00:13:10 +00:00
nsCheckboxRadioFrame.h Bug 1693688 - Make the non-native theme not return minimum sizes for checkboxes (and most other widgets). r=spohl,mstange 2021-02-20 00:13:10 +00:00
nsColorControlFrame.cpp Bug 1715134 - Make form control type an enum class. r=masayuki 2021-06-08 09:43:59 +00:00
nsColorControlFrame.h
nsComboboxControlFrame.cpp Bug 1716212 Part 2 - Carry nsComboboxControlFrame's line-height to nsComboboxDisplayFrame when it has auto block-size. r=emilio 2021-07-28 18:41:19 +00:00
nsComboboxControlFrame.h Bug 1719555 Part 3 - Replace virtual & override specifier with final for combobox frames. r=hiro 2021-07-08 17:58:42 +00:00
nsDateTimeControlFrame.cpp Bug 1698606 - Remove stray printf. DONTBUILD 2021-03-31 21:53:09 +02:00
nsDateTimeControlFrame.h Bug 1698606 - Ensure baseline for text and date controls matches. r=jwatt 2021-03-31 12:21:17 +00:00
nsFieldSetFrame.cpp Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow 2021-07-19 11:28:20 +00:00
nsFieldSetFrame.h Bug 1694459 - Deal with 'display:contents' style changes on <fieldset> descendants better where it affects which <legend> is the rendered legend. r=emilio 2021-03-01 03:42:41 +00:00
nsFileControlFrame.cpp Bug 1676702 - part 2: Make `TextControlState` initialize `TextEditor` with `PasswordMaskData` r=m_kato 2021-06-28 04:37:54 +00:00
nsFileControlFrame.h
nsGfxButtonControlFrame.cpp Bug 1715134 - Make form control type an enum class. r=masayuki 2021-06-08 09:43:59 +00:00
nsGfxButtonControlFrame.h
nsHTMLButtonControlFrame.cpp Bug 1686395 - Remove [Un]RegisterAccessKey calls in frame code (idempotent change). r=emilio 2021-01-29 20:48:02 +00:00
nsHTMLButtonControlFrame.h Bug 1686395 - Remove [Un]RegisterAccessKey calls in frame code (idempotent change). r=emilio 2021-01-29 20:48:02 +00:00
nsIFormControlFrame.h
nsISelectControlFrame.h
nsITextControlFrame.h
nsImageControlFrame.cpp Bug 1686395 - Remove [Un]RegisterAccessKey calls in frame code (idempotent change). r=emilio 2021-01-29 20:48:02 +00:00
nsListControlFrame.cpp Bug 1494330 Part 1 - Make NS_NewListControlFrame() return nsListControlFrame*. r=layout-reviewers,boris 2021-07-07 03:11:06 +00:00
nsListControlFrame.h Bug 1494330 Part 1 - Make NS_NewListControlFrame() return nsListControlFrame*. r=layout-reviewers,boris 2021-07-07 03:11:06 +00:00
nsMeterFrame.cpp Bug 1686395 - Remove [Un]RegisterAccessKey calls in frame code (idempotent change). r=emilio 2021-01-29 20:48:02 +00:00
nsMeterFrame.h Bug 1686603 Part 2 - Add StyleSizeOverrides parameter to ReflowInput's constructor & co. to override data from style system data. r=dholbert 2021-01-26 02:47:40 +00:00
nsNumberControlFrame.cpp Bug 1715134 - Make form control type an enum class. r=masayuki 2021-06-08 09:43:59 +00:00
nsNumberControlFrame.h Bug 1698821 - Remove dead GetNumberControlFrameForTextField. r=dholbert 2021-03-16 21:53:20 +00:00
nsProgressFrame.cpp Bug 1686395 - Remove [Un]RegisterAccessKey calls in frame code (idempotent change). r=emilio 2021-01-29 20:48:02 +00:00
nsProgressFrame.h Bug 1686603 Part 2 - Add StyleSizeOverrides parameter to ReflowInput's constructor & co. to override data from style system data. r=dholbert 2021-01-26 02:47:40 +00:00
nsRangeFrame.cpp Bug 1715134 - Make form control type an enum class. r=masayuki 2021-06-08 09:43:59 +00:00
nsRangeFrame.h Bug 1686603 Part 2 - Add StyleSizeOverrides parameter to ReflowInput's constructor & co. to override data from style system data. r=dholbert 2021-01-26 02:47:40 +00:00
nsSearchControlFrame.cpp Bug 1707070 - Tweak text/number/search control anonymous tree DOM / paint order. r=dholbert 2021-04-26 16:55:32 +00:00
nsSearchControlFrame.h Bug 1698043 - Simplify <input type=number/search> layout to fix this bug and make ::-moz-complex-control-wrapper unnecessary. r=dholbert 2021-03-14 07:53:13 +00:00
nsSelectsAreaFrame.cpp Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow 2021-07-19 11:28:20 +00:00
nsSelectsAreaFrame.h
nsTextControlFrame.cpp Bug 1665550 - part 4: Make `EventStateManager` update `mGestureDownFrameOwner` when anonymous nodes in `<input>` or `<textarea>` are replaced r=smaug 2021-07-14 01:20:20 +00:00
nsTextControlFrame.h Bug 1698606 - Ensure baseline for text and date controls matches. r=jwatt 2021-03-31 12:21:17 +00:00