gecko-dev/layout/reftests/font-inflation
Jan Henning a231c232c9 Bug 1540176 - Ensure input elements don't become font inflation containers. r=emilio
Previously, text input controls weren't font inflation containers simply by
virtue of being "display:inline" by default, which automatically makes them in-
eligible for becoming an inflation container.
As of bug 1539469 this has changed however - those <input> elements are now
"display:inline-block" by default, which with the current font inflation logic
turns them into font inflation containers.

This leads to a few problems:
1. The logic from bug 708175 (stop inflation if there is a size-constrained non-
   inline frame in the chain from the current frame to their font inflation
   container) is built on the assumption that the (possibly size-constrained)
   form control itself isn't a font inflation container.
2. When form controls end up as font inflation containers themselves, they no
   longer size themselves properly to match the size of their inflated
   contents, because they are now subject to the AutoMaybeDisableFontInflation/
   mInflationDisabledForShrinkWrap logic which ends up disabling font inflation
   during the size calculation of the form control.

1.) means that we now inflate some text inputs that we didn't use to inflate
previously and 2.) means that every time we attempt to inflate a text input, we
end up with the text content being inflated, but the containig box being not and
therefore too small.

Because of this, as well as because
1. The introductory comment in nsFrame::IsFontSizeInflationContainer itself
   mentions that form controls aren't expected to be inflation containers.
2. There is the precedent from bug 786946, where <select> elements were
   specifically excluded from becoming font inflation containers when their
   default display style was changed from "inline" to "inline-block".

all of this points towards having to specifically preclude <input> elements
from becoming font inflation containers as well.

Differential Revision: https://phabricator.services.mozilla.com/D64908

--HG--
extra : moz-landing-system : lando
2020-03-03 21:47:21 +00:00
..
bug707855-innerFrame-ref.html
bug707855-innerFrame.html
bug707855-ref.html
bug707855.html
bullet-1-ref.html
bullet-1.html
consecutive-inline-ref.html
consecutive-inline.html
container-with-clamping-innerFrame-ref.html
container-with-clamping-innerFrame.html
container-with-clamping-ref.html
container-with-clamping.html
css-transform-1-ref.html
css-transform-1.html
css-transform-2-ref.html
css-transform-2.html
decoration-1-ref.html
decoration-1.html
disable-fontinfl-on-mobile-2.html
disable-fontinfl-on-mobile-3.html
disable-fontinfl-on-mobile-5.html
disable-fontinfl-on-mobile-ref.html
disable-fontinfl-on-mobile.html
fixed-height-body-child-ref.html
fixed-height-body-child.html
fixed-height-body-ref.html
fixed-height-body.html
fixed-width-body-viewport-ref.html Bug 1428670 - Part 1: Add reftest. r=dbaron 2018-10-02 15:23:10 +00:00
fixed-width-body-viewport.html Bug 1428670 - Part 1: Add reftest. r=dbaron 2018-10-02 15:23:10 +00:00
height-constraint-percent-1-ref.html
height-constraint-percent-1.html
height-constraint-percent-2-ref.html
height-constraint-percent-2.html
height-constraint-percent-3-ref.html
height-constraint-percent-3.html
height-constraint-percent-4-ref.html
height-constraint-percent-4.html
height-constraint-percent-5-ref.html
height-constraint-percent-5.html
height-constraint-percent-6-ref.html
height-constraint-percent-6.html
height-constraint-percent-7-ref.html
height-constraint-percent-7.html
height-constraint-percent-8-ref.html
height-constraint-percent-8.html
input-checkbox.html
input-radio.html
input-text-1-height-ref.html
input-text-1-height.html
input-text-1-noheight-ref.html
input-text-1-noheight.html
input-text-2-height-ref.html
input-text-2-height.html
input-text-2-noheight-ref.html
input-text-2-noheight.html
input-text-3-height-ref.html
input-text-3-height.html
input-text-3-noheight-ref.html
input-text-3-noheight.html
intrinsic-fit-1a-ref.html
intrinsic-fit-1a.html
intrinsic-fit-1b-ref.html
intrinsic-fit-1b.html
intrinsic-fit-1c-ref.html
intrinsic-fit-1c.html
intrinsic-fit-2a.html
intrinsic-fit-2b.html
intrinsic-fit-2c.html
intrinsic-max-1-ref.html
intrinsic-max-1.html Bug 1322780 - Part 2: Support unprefixed min-content and max-content. r=mats,emilio 2018-12-18 18:47:37 +00:00
intrinsic-min-1-ref.html
intrinsic-min-1.html Bug 1322780 - Part 2: Support unprefixed min-content and max-content. r=mats,emilio 2018-12-18 18:47:37 +00:00
list-1-ref.html
list-1.html Bug 1500815 - Drop unnecessary Ahem-font styling. r=jfkthame 2018-10-21 23:33:53 +00:00
maxRatio-1-ref.html
maxRatio-1.html
min-width-passes-1-ref.html
min-width-passes-1.html
preformatted-text-ref.html
preformatted-text.html
reftest.list Bug 1540176 - Ensure input elements don't become font inflation containers. r=emilio 2020-03-03 21:47:21 +00:00
relevant-width-1-ref.html
relevant-width-1.html
relevant-width-overflow-1-ref.html
relevant-width-overflow-1.html
select-combobox-1-ref.html
select-combobox-1.html
select-combobox-2-ref.html
select-combobox-2.html
select-combobox-3-ref.html
select-combobox-3.html
select-listbox-1-ref.html
select-listbox-1.html
select-listbox-2-ref.html
select-listbox-2.html
text-1-ref.html
text-1.html
text-2-ref.html
text-2.html
text-3-ref.html
text-3.html
text-4-ref.html
text-4.html
textarea-1-ref.html
textarea-1.html
textarea-2-ref.html
textarea-2.html
textarea-3-ref.html
textarea-3.html
threshold-1a.html
threshold-1b-ref.html
threshold-1b.html
threshold-1c-ref.html
threshold-1c.html
threshold-2-ref.html
threshold-2.html
threshold-3-ref.html
threshold-3.html
threshold-input-text-contents-at-1-ref.html
threshold-input-text-contents-at-1.html
threshold-input-text-contents-at-2-ref.html
threshold-input-text-contents-at-2.html
threshold-input-text-contents-under-1.html
threshold-input-text-contents-under-2.html
threshold-scope-cell-1-ref.html
threshold-scope-cell-1.html
threshold-scope-cell-2-ref.html
threshold-scope-cell-2.html
threshold-scope-cell-3-ref.html
threshold-scope-cell-3.html
threshold-scope-flex-container-1.html Bug 1552781 - Part 1: Add reftests for flexbox/grid font inflation scope. r=dbaron 2019-06-26 21:11:14 +00:00
threshold-scope-flex-container-2.html Bug 1552781 - Part 1: Add reftests for flexbox/grid font inflation scope. r=dbaron 2019-06-26 21:11:14 +00:00
threshold-scope-flex-container-items-1.html Bug 1552781 - Part 1: Add reftests for flexbox/grid font inflation scope. r=dbaron 2019-06-26 21:11:14 +00:00
threshold-scope-flex-container-items-2.html Bug 1552781 - Part 1: Add reftests for flexbox/grid font inflation scope. r=dbaron 2019-06-26 21:11:14 +00:00
threshold-scope-float-1-ref.html
threshold-scope-float-1.html
threshold-scope-float-2-ref.html
threshold-scope-float-2.html
threshold-scope-float-overflow-1-ref.html
threshold-scope-float-overflow-1.html
threshold-scope-float-overflow-2-ref.html
threshold-scope-float-overflow-2.html
threshold-scope-grid-container-1.html Bug 1552781 - Part 1: Add reftests for flexbox/grid font inflation scope. r=dbaron 2019-06-26 21:11:14 +00:00
threshold-scope-grid-container-items-1.html Bug 1552781 - Part 1: Add reftests for flexbox/grid font inflation scope. r=dbaron 2019-06-26 21:11:14 +00:00
threshold-select-combobox-contents-at-1-ref.html
threshold-select-combobox-contents-at-1.html
threshold-select-combobox-contents-at-2-ref.html
threshold-select-combobox-contents-at-2.html
threshold-select-combobox-contents-under-1.html
threshold-select-combobox-contents-under-2.html
threshold-select-listbox-contents-at-1-ref.html
threshold-select-listbox-contents-at-1.html
threshold-select-listbox-contents-at-2-ref.html
threshold-select-listbox-contents-at-2.html
threshold-select-listbox-contents-under-1.html
threshold-select-listbox-contents-under-2.html
threshold-textarea-contents-at-1-ref.html
threshold-textarea-contents-at-1.html
threshold-textarea-contents-at-2-ref.html
threshold-textarea-contents-at-2.html
threshold-textarea-contents-under-1.html
threshold-textarea-contents-under-2.html
video-1.html
xul-reflow-1-ref.html
xul-reflow-1.html