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 Bug 708175: Disable font inflation for fixed-width or fixed-height input controls. [r=dbaron] 2012-04-13 02:21:39 -05:00
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 Make scroll frames (i.e., overflow != visible) no longer be font size inflation flow roots. This fixes phoronix.com/reddit.com/others at the expense of youtube.com. This reverts b64bfa138619890a01826bde8974cc974b45a6f5 (bug 760098) which in turn reverted 9620f50be9fa8be44931decf1e57ce25f51da812 (Bug 747720, patch 7) which in turn reverted part of 9499f6b28addcbcd9c480eb80cfe6c4c63a4a3a1 (Bug 706193, patch 2). (Bug 747720) r=backout 2012-06-12 12:43:09 -07:00
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 Add tests for font.size.inflation.lineThreshold preference and the associated threshold behavior. (Bug 706193, patch 5) r=roc 2012-04-16 15:32:12 -07:00
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