Closed Bug 1463594 (css-contain-size) Opened 6 years ago Closed 5 years ago

[meta] Implement CSS "contain: size"

Categories

(Core :: Layout, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED

People

(Reporter: dholbert, Unassigned)

References

(Depends on 3 open bugs, )

Details

(Keywords: dev-doc-complete, meta, Whiteboard: [layout:p1])

See https://drafts.csswg.org/css-contain/#containment-size
This bug is on making our layout/reflow code react appropriately to "contain: size".

Historical note: the behavior for "contain:size" was lumped in with layout containment in an earlier version of the spec, so I think part of this was included in the work-in-progress patch stack on bug 1178895.  But it's now been split out into its own keyword, which can be specified independently from (or together with) "contain:layout".

(Note that bug 1463589 will add CSS Parser support for "contain:size".)
Assignee: nobody → mreschenberg
Depends on: 1467209
5 'inline-block' with 'contain: size' tests:

http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-006.xht

http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-007.xht

http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-008.xht

http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-009.xht

http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-010.xht

More tests will come. 
Right now, Chromium 66.0.3359.117 and Chrome 68.0.3438.3 pass those 5 tests. 
Firefox 62.0a1 buildID=20180613220131 with layout.css.contain.enabled set to true fails those 5 tests.
Thanks, Gérard!
Visit

http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/

for inline-block tests (8 tests: from contain-size-006 to 013) and 

for inline-table tests (expecting 8 tests: from contain-size-021 to 028).



Reference files:

http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-006-ref.xht

http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-007-ref.xht
> http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/
> 
> for inline-block tests (8 tests: from contain-size-006 to 013) and 
> 
> for inline-table tests (expecting 8 tests: from contain-size-021 to 028).


Those tests' filename numbers will unfortunately have to be changed because tests in

https://bugs.chromium.org/p/chromium/issues/detail?id=843329#c6

are already using those filename numbers.
Tests with *new* filename numbers
- - - - - - - - - - - - - - - - -


http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/



for inline-block tests (8 tests: from contain-size-021 to 028)

New reference files:

http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-021-ref.xht

http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-022-ref.xht



for inline-table tests (expecting 8 tests: from contain-size-031 to 038)
(I must reconsider those tests based on the fact that 'contain: size' does not apply to table elements and presumably redo these tests.)



for inline replaced element tests: contain-size-041 and contain-size-042



for table-cell tests: contain-size-051 and contain-size-052


for block box tests: 1 test for now: contain-size-061
Depends on: 1470176
Depends on: 1470462
Depends on: 1471267
Depends on: 1471274
Depends on: 1474663
Depends on: 1476127
(In reply to Gérard Talbot from comment #5)
> Tests with *new* filename numbers
> - - - - - - - - - - - - - - - - -
> 
> 
> http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/
> 
> 
> 
> for inline-block tests (8 tests: from contain-size-021 to 028)
> 
> New reference files:
> 
> http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-021-ref.
> xht
> 
> http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-022-ref.
> xht

Now at:

http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-021-ref.html
 
http://www.gtalbot.org/BrowserBugsSection/CSS3Contain/contain-size-022-ref.html


I must keep only 1 copy of tests and reference files on my site. I'm dropping XHTML and switching to HTML5 for tests. 
The links given in 1st, 3rd and 5th comments of this bug report will be broken.
Depends on: 1482173
Blocks: 1487493
Depends on: 1488878
Depends on: 1491235
Whiteboard: [layout:p1]
Depends on: 1508441
Depends on: 1514843
Depends on: 1544121
Depends on: 1494100
Depends on: 1548709
Depends on: 1562057
Depends on: 1562312
Depends on: 1575560
Assignee: mreschenberg → nobody
Status: ASSIGNED → NEW

This feature shipped in Firefox 69 (with the implementation work happening in dependent bugs), so let's call this [meta] and close it out.

(yay!)

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Summary: Implement CSS "contain: size" → [meta] Implement CSS "contain: size"
Depends on: 1588212
You need to log in before you can comment on or make changes to this bug.