## 1. Results

### 1.1. Summary

The test suite contains 162 tests for mandatory requirements (i.e. RFC2119 “MUST”, and equivalents), and 0 tests for optional requirements (i.e. RFC2119 “SHOULD” or “MAY”, and equivalents).

147 of 162 tests for mandatory requirements pass in two or more browser implementations; 15 do not. None of the 15 failing tests are needed to meet CR exit criteria for CSS Containment Level 1 (see “1.2. Detailed Analysis” for why).

The Candidate Recommendation exit criteria are therefore fulfilled.

### 1.2. Detailed Analysis

The following tests depend on other less mature specifications, and therefore are not required to pass in order to meet CR exit criteria for CSS Containment Module Level 1.

Test | Browsers
--- | ---
Chrome | Firefox
Dependency on CSS Ruby
contain-layout-005 | Pass | Fail
contain-paint-021 | Fail | Pass
Dependency on CSS Grid
contain-size-grid-002 | Pass | Fail
contain-size-grid-003 | Pass | Fail

The following tests check the `contain: style` feature, which is marked at-risk, and therefore are not required to pass in order to meet CR exit criteria for CSS Containment Module Level 1.

Test | Browsers
--- | ---
Chrome | Firefox
contain-style-counters-001 | Pass | Fail
contain-style-counters-002 | Pass | Fail
contain-style-counters-003 | Pass | Fail
contain-style-counters-004 | Pass | Fail
counter-scoping-001 | Pass | Fail
counter-scoping-002 | Fail | Fail
counter-scoping-003 | Fail | Fail
quote-scoping-001 | Pass | Fail
quote-scoping-002 | Pass | Fail
quote-scoping-003 | Pass | Fail
quote-scoping-004 | Pass | Fail

## 2. Methodology

This implementation report was prepared to document the passing of the Candidate Recommendation exit criteria by the CSS Containment Module Level 1.

The test suite is considered to be complete with no known or suspected bugs at the time of its publication. To document the coverage, a copy of the Editor's Draft annotated after each paragraph with links to the tests that cover it as of 2019-09-05 is available. If you find any errors, would like to contribute additional tests, or have other feedback, please report it on the web-platform-tests project or to the archived public discussion mailing list for CSS test suites, public-css-testsuite@w3.org.

A continuously updated version of the test suite is available. This report was prepared using the tests and their results as of 13 September 2019.

This report was prepared on the basis of testing 2 browser engines:

- Firefox (engine: Gecko, version 70; exception: Gecko 71 was used for contain-size-select-001 and contain-size-select-002)
- Chrome (engine: Blink, version 78)

At the time of writing this report, there are no other known implementation of this specification.

## 3. Raw Results

The following table gives the results for browser implementations for all tests in the test suite, as of the 13 September 2019.

Testcase | Chrome | Firefox
--- | --- | ---
contain-content-001 | Pass | Pass
contain-content-002 | Pass | Pass
contain-content-004 | Pass | Pass
contain-layout-001 | Pass | Pass
contain-layout-002 | Pass | Pass
contain-layout-003 | Pass | Pass
contain-layout-004 | Pass | Pass
contain-layout-005 | Pass | Fail
contain-layout-006 | Pass | Pass
contain-layout-007 | Pass | Pass
contain-layout-009 | Pass | Pass
contain-layout-010 | Pass | Pass
contain-layout-011 | Pass | Pass
contain-layout-012 | Pass | Pass
contain-layout-013 | Pass | Pass
contain-layout-014 | Pass | Pass
contain-layout-016 | Pass | Pass
contain-layout-017 | Pass | Pass
contain-layout-018 | Pass | Pass
contain-layout-baseline-001 | Pass | Pass
contain-layout-baseline-002 | Pass | Pass
contain-layout-baseline-003 | Pass | Pass
contain-layout-baseline-004 | Pass | Pass
contain-layout-baseline-005 | Pass | Pass
contain-layout-breaks-001 | Pass | Pass
contain-layout-breaks-002 | Pass | Pass
contain-layout-button-001 | Pass | Pass
contain-layout-cell-001 | Pass | Pass
contain-layout-cell-002 | Pass | Pass
contain-layout-containing-block-absolute-001 | Pass | Pass
contain-layout-containing-block-fixed-001 | Pass | Pass
contain-layout-flexbox-001 | Pass | Pass
contain-layout-grid-001 | Pass | Pass
contain-layout-ifc-022 | Pass | Pass
contain-layout-ignored-cases-no-principal-box-002 | Pass | Pass
contain-layout-ignored-cases-no-principal-box-003 | Pass | Pass
contain-layout-independent-formatting-context-001 | Pass | Pass
contain-layout-independent-formatting-context-002 | Pass | Pass
contain-layout-independent-formatting-context-003 | Pass | Pass
contain-layout-ink-overflow-013 | Pass | Pass
contain-layout-ink-overflow-014 | Pass | Pass
contain-layout-ink-overflow-015 | Pass | Pass
contain-layout-ink-overflow-016 | Pass | Pass
contain-layout-ink-overflow-017 | Pass | Pass
contain-layout-ink-overflow-018 | Pass | Pass
contain-layout-ink-overflow-019 | Pass | Pass
contain-layout-ink-overflow-020 | Pass | Pass
contain-layout-size-003 | Pass | Pass
contain-paint-001 | Pass | Pass
contain-paint-002 | Pass | Pass
contain-paint-004 | Pass | Pass
contain-paint-005 | Pass | Pass
contain-paint-006 | Pass | Pass
contain-paint-007 | Pass | Pass
contain-paint-008 | Pass | Pass
contain-paint-009 | Pass | Pass
contain-paint-010 | Pass | Pass
contain-paint-011 | Pass | Pass
contain-paint-012 | Pass | Pass
contain-paint-014 | Pass | Pass
contain-paint-015 | Pass | Pass
contain-paint-016 | Pass | Pass
contain-paint-017 | Pass | Pass
contain-paint-018 | Pass | Pass
contain-paint-019 | Pass | Pass
contain-paint-020 | Pass | Pass
contain-paint-021 | Fail | Pass
contain-paint-022 | Pass | Pass
contain-paint-023 | Pass | Pass
contain-paint-024 | Pass | Pass
contain-paint-025 | Pass | Pass
contain-paint-047 | Pass | Pass
contain-paint-048 | Pass | Pass
contain-paint-baseline-001 | Pass | Pass
contain-paint-cell-001 | Pass | Pass
contain-paint-cell-002 | Pass | Pass
contain-paint-clip-011 | Pass | Pass
contain-paint-clip-012 | Pass | Pass
contain-paint-clip-013 | Pass | Pass
contain-paint-clip-014 | Pass | Pass
contain-paint-clip-015 | Pass | Pass
contain-paint-clip-016 | Pass | Pass
contain-paint-clip-017 | Pass | Pass
contain-paint-clip-018 | Pass | Pass
contain-paint-clip-019 | Pass | Pass
contain-paint-ifc-011 | Pass | Pass
contain-paint-independent-formatting-context-001 | Pass | Pass
contain-paint-independent-formatting-context-002 | Pass | Pass
contain-paint-independent-formatting-context-003 | Pass | Pass
contain-paint-size-001 | Pass | Pass
contain-paint-size-002 | Pass | Pass
contain-paint-size-003 | Pass | Pass
contain-paint-table-001 | Pass | Pass
contain-paint-table-002 | Pass | Pass
contain-size-001 | Pass | Pass
contain-size-002 | Pass | Pass
contain-size-003 | Pass | Pass
contain-size-004 | Pass | Pass
contain-size-005 | Pass | Pass
contain-size-006 | Pass | Pass
contain-size-007 | Pass | Pass
contain-size-008 | Pass | Pass
contain-size-009 | Pass | Pass
contain-size-010 | Pass | Pass
contain-size-011 | Pass | Pass
contain-size-012 | Pass | Pass
contain-size-012b | Pass | Pass
contain-size-013 | Pass | Pass
contain-size-021 | Pass | Pass
contain-size-023 | Pass | Pass
contain-size-025 | Pass | Pass
contain-size-027 | Pass | Pass
contain-size-041 | Pass | Pass
contain-size-042 | Pass | Pass
contain-size-051 | Pass | Pass
contain-size-052 | Pass | Pass
contain-size-056 | Pass | Pass
contain-size-061 | Pass | Pass
contain-size-062 | Pass | Pass
contain-size-baseline-001 | Pass | Pass
contain-size-borders | Pass | Pass
contain-size-breaks-001 | Pass | Pass
contain-size-button-001 | Pass | Pass
contain-size-fieldset-001 | Pass | Pass
contain-size-fieldset-002 | Pass | Pass
contain-size-flexbox-001 | Pass | Pass
contain-size-flexbox-002 | Pass | Pass
contain-size-grid-001 | Pass | Pass
contain-size-grid-002 | Pass | Fail
contain-size-grid-003 | Pass | Fail
contain-size-monolithic-001 | Pass | Pass
contain-size-multicol-001 | Pass | Pass
contain-size-replaced-001 | Pass | Pass
contain-size-replaced-002 | Pass | Pass
contain-size-replaced-004 | Pass | Pass
contain-size-replaced-005 | Pass | Pass
contain-size-replaced-006 | Pass | Pass
contain-size-scrollbars-001 | Pass | Pass
contain-size-scrollbars-002 | Pass | Pass
contain-size-scrollbars-003 | Pass | Pass
contain-size-select-001 | Pass | Pass
contain-size-select-002 | Pass | Pass
contain-strict-001 | Pass | Pass
contain-strict-002 | Pass | Pass
contain-strict-003 | Pass | Pass
contain-style-baseline-001 | Pass | Pass
contain-style-breaks-001 | Pass | Pass
contain-style-breaks-002 | Pass | Pass
contain-style-breaks-003 | Pass | Pass
contain-style-breaks-004 | Pass | Pass
contain-style-breaks-005 | Pass | Pass
contain-style-counters-001 | Pass | Fail
contain-style-counters-002 | Pass | Fail
contain-style-counters-003 | Pass | Fail
contain-style-counters-004 | Pass | Fail
counter-scoping-001 | Pass | Fail
counter-scoping-002 | Fail | Fail
counter-scoping-003 | Fail | Fail
quote-scoping-001 | Pass | Fail
quote-scoping-002 | Fail | Fail
quote-scoping-003 | Pass | Fail
quote-scoping-004 | Pass | Fail
Passed | 97.53% | 91.36%
Coverage | 100% | 100%