Dactyloidae/layout/generic
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 Issue #1838 - Part 1: Remove CSS grid preference 2022-04-19 21:55:49 +08:00
test Issue #1053 - Part 2a: Remove android from /layout (partial) 2021-01-01 10:01:05 +08:00
AspectRatio.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
AsyncScrollBase.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
AsyncScrollBase.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
BlockReflowInput.cpp Issue #1970 - Part 6: Rename CalcLineHeight(), and cache used line height 2022-08-04 14:25:13 +08:00
BlockReflowInput.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
broken-image.png import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
CSSAlignUtils.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
CSSAlignUtils.h Issue #80 - De-unify layout/PITA... I mean layout/generic 2020-05-02 08:28:25 +08:00
DetailsFrame.cpp Bug 1377648 - Fix HTMLSummaryElement::IsSummary() on removing the element 2020-04-18 07:04:35 +08:00
DetailsFrame.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
folder.png import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
frame-graph.py import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
FrameChildList.cpp Issue #1656 - Part 3: Nuke more vim config lines in the tree. 2020-09-25 22:04:17 +08:00
FrameChildList.h Issue #1656 - Part 3: Nuke more vim config lines in the tree. 2020-09-25 22:04:17 +08:00
jar.mn import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
JustificationUtils.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
loading-image.png import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
MathMLTextRunFactory.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
MathMLTextRunFactory.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
moz.build Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
nsAbsoluteContainingBlock.cpp issue #1575 - Fix the wrong position when we calculate the position for position:absolute child and add reftests 2020-06-06 07:21:30 +08:00
nsAbsoluteContainingBlock.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsAtomicContainerFrame.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsAutoCopyListener.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsBackdropFrame.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
nsBackdropFrame.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
nsBlockDebugFlags.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsBlockFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsBlockFrame.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
nsBlockReflowContext.cpp Issue #1916 - Part 2: Add a flag to allow FinishReflowChild to handle relative positioning, and convert the caller for which this makes sense. 2022-06-22 09:01:41 +08:00
nsBlockReflowContext.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsBRFrame.cpp Issue #1970 - Part 6: Rename CalcLineHeight(), and cache used line height 2022-08-04 14:25:13 +08:00
nsBulletFrame.cpp Issue #21 - Remove use counters telemetry 2022-04-28 10:43:09 +08:00
nsBulletFrame.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
nsCanvasFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsCanvasFrame.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
nsColumnSetFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsColumnSetFrame.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
nsContainerFrame.cpp Issue #1916 - Part 2: Add a flag to allow FinishReflowChild to handle relative positioning, and convert the caller for which this makes sense. 2022-06-22 09:01:41 +08:00
nsContainerFrame.h Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsDirection.h Issue #1656 - Part 3: Nuke more vim config lines in the tree. 2020-09-25 22:04:17 +08:00
nsFirstLetterFrame.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
nsFirstLetterFrame.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
nsFlexContainerFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsFlexContainerFrame.h Issue #1838 - Part 4: Implement flexbox layout for (column|row)-gap properties 2022-04-19 21:56:01 +08:00
nsFloatManager.cpp Attach FrameProperties to each frame instead of using a shared hashtable 2019-07-05 21:32:14 +08:00
nsFloatManager.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsFontInflationData.cpp Issue #1656 - Part 4: Manual cleanup 2020-09-25 22:04:20 +08:00
nsFontInflationData.h Issue #1656 - Part 4: Manual cleanup 2020-09-25 22:04:20 +08:00
nsFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsFrame.h Issue #1370 - Part 4: Treat flex-basis: content as max-content 2022-04-19 21:56:39 +08:00
nsFrameIdList.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsFrameList.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsFrameList.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsFrameSelection.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsFrameSetFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsFrameSetFrame.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
nsFrameState.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsFrameState.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsFrameStateBits.h Issue #1641 - Implement CSS flow-root keyword 2020-09-04 22:31:00 +08:00
nsFrameUtil.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsGfxScrollFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsGfxScrollFrame.h Issue #1705 - Part 3: Rename ScrollbarStyles to ScrollStyles. 2021-01-14 22:19:53 +08:00
nsGridContainerFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsGridContainerFrame.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsHTMLCanvasFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsHTMLCanvasFrame.h Issue #1619 - Convert Intrinsic Ratio to Float 2020-08-06 10:23:07 +08:00
nsHTMLParts.h Issue #1641 - Implement CSS flow-root keyword 2020-09-04 22:31:00 +08:00
nsIAnonymousContentCreator.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
nsIFrame.h Issue #1805 - Improve stack size limits for all targets. 2022-07-26 22:26:38 +08:00
nsIFrameInlines.h Issue #1656 - Part 3: Nuke more vim config lines in the tree. 2020-09-25 22:04:17 +08:00
nsIFrameUtil.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsILineIterator.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsImageFrame.cpp Issue #1620 - Remove Development Comments 2020-08-14 08:59:35 +08:00
nsImageFrame.h Issue #1620 - Use Intrinsic Aspect Ratio for Images 2020-08-14 08:59:33 +08:00
nsImageMap.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsImageMap.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsInlineFrame.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
nsInlineFrame.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
nsIntervalSet.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsIntervalSet.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsIObjectFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsIPageSequenceFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsIScrollableFrame.h Issue #1705 - Part 3: Rename ScrollbarStyles to ScrollStyles. 2021-01-14 22:19:53 +08:00
nsIScrollPositionListener.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsIStatefulFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsLeafFrame.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsLeafFrame.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
nsLineBox.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsLineBox.h Remove 18 yo OS/2 and AIX bustage workaround. 2019-04-04 20:26:32 +08:00
nsLineLayout.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsLineLayout.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsPageContentFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsPageContentFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsPageFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsPageFrame.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
nsPlaceholderFrame.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
nsPlaceholderFrame.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
nsPluginFrame.cpp Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
nsPluginFrame.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
nsQueryFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsRubyBaseContainerFrame.cpp Issue #1970 - Part 6: Rename CalcLineHeight(), and cache used line height 2022-08-04 14:25:13 +08:00
nsRubyBaseContainerFrame.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsRubyBaseFrame.cpp Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsRubyBaseFrame.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsRubyContentFrame.cpp Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsRubyContentFrame.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsRubyFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsRubyFrame.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsRubyTextContainerFrame.cpp Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsRubyTextContainerFrame.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsRubyTextFrame.cpp Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsRubyTextFrame.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
nsSelection.cpp Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
nsSimplePageSequenceFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsSimplePageSequenceFrame.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
nsSplittableFrame.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsSplittableFrame.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsSubDocumentFrame.cpp Issue #1619 - Convert Intrinsic Ratio to Float 2020-08-06 10:23:07 +08:00
nsSubDocumentFrame.h Issue #1619 - Convert Intrinsic Ratio to Float 2020-08-06 10:23:07 +08:00
nsTextFrame.cpp Issue #1914 - Implement white-space: break-spaces 2022-06-13 09:10:57 +08:00
nsTextFrame.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
nsTextFrameUtils.cpp Issue #80 - De-unify layout/PITA... I mean layout/generic 2020-05-02 08:28:25 +08:00
nsTextFrameUtils.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsTextRunTransformations.cpp Issue #80 - De-unify layout/PITA... I mean layout/generic 2020-05-02 08:28:25 +08:00
nsTextRunTransformations.h Issue #80 - De-unify layout/PITA... I mean layout/generic 2020-05-02 08:28:25 +08:00
nsVideoFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsVideoFrame.h Issue #1619 - Convert Intrinsic Ratio to Float 2020-08-06 10:23:07 +08:00
nsViewportFrame.cpp Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class. 2022-06-22 09:01:25 +08:00
nsViewportFrame.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
ReflowInput.cpp Issue #1970 - Part 7: Restore proper spacing in select for CJK/asian 2022-08-04 14:25:30 +08:00
ReflowInput.h Issue #1970 - Part 7: Restore proper spacing in select for CJK/asian 2022-08-04 14:25:30 +08:00
ReflowOutput.cpp Issue #1656 - Part 4: Manual cleanup 2020-09-25 22:04:20 +08:00
ReflowOutput.h Issue #1916 - Part 2: Add a flag to allow FinishReflowChild to handle relative positioning, and convert the caller for which this makes sense. 2022-06-22 09:01:41 +08:00
RubyUtils.cpp Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
RubyUtils.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
ScrollbarActivity.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
ScrollbarActivity.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
ScrollSnap.cpp import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
ScrollSnap.h Issue #80 - De-unify layout/PITA... I mean layout/generic 2020-05-02 08:28:25 +08:00
ScrollVelocityQueue.cpp Issue #1656 - Part 3: Nuke more vim config lines in the tree. 2020-09-25 22:04:17 +08:00
ScrollVelocityQueue.h Issue #1656 - Part 3: Nuke more vim config lines in the tree. 2020-09-25 22:04:17 +08:00
Selection.h Issue #3059 - Implement Selection.setBaseAndExtent() 2022-03-22 23:08:04 +08:00
SelectionChangeListener.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
StickyScrollContainer.cpp Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
StickyScrollContainer.h Issue #1656 - Part 1: Nuke most vim config lines in the tree. 2020-09-25 22:04:12 +08:00
TextOverflow.cpp Issue #1705 - Part 3: Rename ScrollbarStyles to ScrollStyles. 2021-01-14 22:19:53 +08:00
TextOverflow.h Issue #1656 - Part 3: Nuke more vim config lines in the tree. 2020-09-25 22:04:17 +08:00
Visibility.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
WritingModes.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00