Closed Bug 1603088 Opened 2 years ago Closed 2 years ago

max-block-size:100% on anonymous column layout boxes makes no sense

Categories

(Core :: Layout: Columns, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla74
Tracking Status
firefox74 --- fixed

People

(Reporter: MatsPalmgren_bugz, Assigned: TYLin)

References

Details

Attachments

(2 files)

Follow-up from bug 1602430 comment 3.

This needs to be removed:
https://searchfox.org/mozilla-central/rev/d24696b5abaf9fb75f7985952eab50d5f4ed52ac/layout/style/res/ua.css#264

I'm adding wallpaper in that bug to workaround this for now...

Simply remove "max-block-size: 100%" for -moz-column-set and
-moz-column-content breaks abspos-breaking-dynamic-{001,002,003}.html.
We need to reflow ColumnSetWrapper's children whenever
ColumnSetWrapper's block-size or max-block-size is changed because both
size affect the available block-size for ColumnSetWrapper's children.

We set NS_FRAME_CONTAINS_RELATIVE_BSIZE for ColumnSetWrapperFrame so
that it will set itself dirty in selfDirty in
nsBlockFrame::ReflowDirtyLines, and mark its lines dirty if
aState.mReflowInput.IsBResize() is true.

Nowadays, ColumnSetFrame is an inner frame under ColumnSetWrapperFrame.
It always has "block-size: auto", so aReflowInput.ComputedBSize()
always equals to NS_UNCONSTRAINEDSIZE.

Also, -moz-column-content no longer has "max-block-size: 100%", so
NS_FRAME_CONTAINS_RELATIVE_BSIZE can never be set on ColumnSetFrame when
constructing ReflowInputs for ColumnSetFrame's children in
ReflowInput::InitResizeFlags. Removing the bit is not needed, either.

Depends on D58731

Assignee: nobody → aethanyc
Status: NEW → ASSIGNED
Pushed by aethanyc@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/d4cc66fb7593
Part 1 - Remove "max-block-size: 100%" for -moz-column-set and -moz-column-content. r=dbaron
https://hg.mozilla.org/integration/autoland/rev/2bd2d03f3c45
Part 2 - Delete NS_FRAME_CONTAINS_RELATIVE_BSIZE manipulation in nsColumnSetFrame::Reflow(). r=dbaron

Backed out 2 changesets (Bug 1603088) for android crashtest failures on 1015844.html

Push with failure: https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=android%2C7.0%2Cx86-64%2Cdebug%2Creftests%2Ctest-android-em-7.0-x86_64%2Fdebug-geckoview-crashtest-e10s%2Cr%28c%29&fromchange=58f20c97d78f59fcd81f78de698a9a912e74b76e&tochange=5045bdc8b3d4100c2cdecab58f23ba50b7e2521b&selectedJob=283901316

Backout link: https://hg.mozilla.org/integration/autoland/rev/5045bdc8b3d4100c2cdecab58f23ba50b7e2521b

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=283901316&repo=autoland&lineNumber=12036

[task 2020-01-07T23:24:40.616Z] 23:24:40 INFO - REFTEST TEST-START | http://10.0.2.2:8854/tests/layout/generic/crashtests/1015844.html
[task 2020-01-07T23:24:40.616Z] 23:24:40 INFO - REFTEST TEST-LOAD | http://10.0.2.2:8854/tests/layout/generic/crashtests/1015844.html | 2569 / 3750 (68%)
[task 2020-01-07T23:24:40.617Z] 23:24:40 INFO - REFTEST TEST-PASS | http://10.0.2.2:8854/tests/layout/generic/crashtests/1015844.html | (LOAD ONLY)
[task 2020-01-07T23:24:40.617Z] 23:24:40 INFO - REFTEST TEST-END | http://10.0.2.2:8854/tests/layout/generic/crashtests/1015844.html
[task 2020-01-07T23:24:40.617Z] 23:24:40 WARNING - REFTEST TEST-UNEXPECTED-FAIL | http://10.0.2.2:8854/tests/layout/generic/crashtests/1015844.html | assertion count 21 is more than expected 18 assertions
[task 2020-01-07T23:24:40.617Z] 23:24:40 INFO - REFTEST TEST-START | http://10.0.2.2:8854/tests/layout/generic/crashtests/1032450.html
[task 2020-01-07T23:24:40.618Z] 23:24:40 INFO - REFTEST INFO | SET PREFERENCE pref(font.size.inflation.minTwips,200)
[task 2020-01-07T23:24:40.618Z] 23:24:40 INFO - REFTEST TEST-LOAD | http://10.0.2.2:8854/tests/layout/generic/crashtests/1032450.html | 2570 / 3750 (68%)
[task 2020-01-07T23:24:40.619Z] 23:24:40 INFO - REFTEST TEST-PASS | http://10.0.2.2:8854/tests/layout/generic/crashtests/1032450.html | (LOAD ONLY)
[task 2020-01-07T23:24:40.619Z] 23:24:40 INFO - REFTEST TEST-END | http://10.0.2.2:8854/tests/layout/generic/crashtests/1032450.html

Flags: needinfo?(aethanyc)
Pushed by aethanyc@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/969b70e25960
Part 1 - Remove "max-block-size: 100%" for -moz-column-set and -moz-column-content. r=dbaron
https://hg.mozilla.org/integration/autoland/rev/fce0d0696080
Part 2 - Delete NS_FRAME_CONTAINS_RELATIVE_BSIZE manipulation in nsColumnSetFrame::Reflow(). r=dbaron

Relanded the patches by changing the assertion count from 18 to 21 for 1015844.html on Android in Part 1.

Flags: needinfo?(aethanyc)
Regressions: 1607620
No longer regressions: 1607620
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
Regressions: 1614101
You need to log in before you can comment on or make changes to this bug.