Bug 1874874 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

# Summary

That is enable `layout.css.content-visibility.enabled`

I'm providing details of Igalia's analysis below, but the TL;DR conclusion of talking with Mozilla folks is that only bug 1765615 is a blocker. Hopefully the main patch to fix that bug will land soon.

I'm proposing next Monday as a target date, so that it happens after the soft code freeze for Firefox 123 ( https://groups.google.com/a/mozilla.org/g/dev-platform/c/X7zK5k7-LOE ), and we have time to finish bug 1765615 and address other minor issues.

# Details

* [Handle changes to CSS `contain` and `content-visibility` without needing to reconstruct frames](https://bugzilla.mozilla.org/show_bug.cgi?id=1765615) 

* Intermittent failures:
   * [content-visibility-auto-state-changed-first-observation.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1806930) => recent bot reports (2024-01-09), reproducible locally.
   * [content-visibility-030.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1785541) => recent bot report (2024-01-14), not reproducible locally.
   * [content-visibility-animation-in-auto-subtree.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1873315) => recent bot report (2024-01-06).
   * [content-visibility-with-top-layer-005.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1870781) marked as flaky on all platforms.
   * [content-visibility-with-popover-top-layer-005.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1870781) marked as flaky on all platforms.

* WPT failures:
    - content-visibility-with-popover-top-layer-006.html => fail on all platforms, fixed by [waiting proximity to the viewport](https://phabricator.services.mozilla.com/D198601)
    - content-visibility-with-top-layer-in-auto-subtree-removal.html => this passes, but has a max-assert: 2. The assertion: "Out-of-flow frame got reflowed before its placeholder" is a known bug which is not related to c-v, see https://bugzilla.mozilla.org/show_bug.cgi?id=1828898 and https://bugzilla.mozilla.org/show_bug.cgi?id=1863402
    - [content-visibility-095.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1874569) => a rendering bug with full effect of `contain: layout` not applied to `content-visibility: hidden`.
    - [content-visibility-size-containment-001.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1874859) => a minor existing invalidation bug for size containment when switching relevancy of content-visibility auto elements. present in other browsers too.

* WPT failures due to feature we don't implement (won't block shipping `content-visibility`)
  * content-visibility-animation-with-scroll-timeline-in-auto-subtree.html and content-visibility-animation-with-scroll-timeline-in-hidden-subtree.html: 
    - These depend on [CSS scroll-driven animations](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_scroll-driven_animations), which is currently [disabled by default](https://searchfox.org/mozilla-central/rev/23e7e940337d0e0b29aabe0080e4992d3860c940/modules/libpref/init/StaticPrefList.yaml#8746)
  * [css/css-view-transitions/ `[3d-transform-incoming.html, content-visibility-auto-shared-element.html, css-tags-paint-order-with-entry.html, and 39 others`](https://bugzilla.mozilla.org/show_bug.cgi?id=1819697)
      - [view transitions](https://github.com/WICG/view-transitions) isn't supported
  * [content-visibility-048.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1822694) and [content-visibility-auto-text-fragment.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1865064)
      - [url-scroll-to-text-fragment](https://wicg.github.io/scroll-to-text-fragment/#the-fragment-directive) isn't supported
  * content-visibility-080.html
    - `caretRangeFromPoint` is not supported, https://caniuse.com/?search=caretRangeFromPoint
  * content-visibility-svg-path.html
    - `checkIntersection`, `checkEnclosure`, `getIntersectionList` and `getEnclosureList`, these svg functions are [not supported](https://bugzilla.mozilla.org/show_bug.cgi?id=501421)
  
* Bugs with proposed enhancements (won't block shipping `content-visibility`)
    * [Update details/summary to use "content-visibility:hidden" for hiding](https://bugzilla.mozilla.org/show_bug.cgi?id=1789166)
      - This is a proposal to make the implementation of these elements rely on content-visibility. It cannot be done until we ship content-visibility, but shouldn't be a prerequisite to ship it. 
    * [[css-contain-2] filter effects and "relevant to the user" (for content-visibility:auto)](https://bugzilla.mozilla.org/show_bug.cgi?id=1798813)
      - This is a proposal to refine when a content-visibility:auto element becomes relevant, by taking into account possible filter effects. There is no WPT test for that and the added text is quite generic, probably shouldn't be a blocker?
# Summary

That is enable `layout.css.content-visibility.enabled`

I'm providing details of Igalia's analysis below, but the TL;DR conclusion of talking with Mozilla folks is that only bug 1765615 is a blocker. Hopefully the main patch to fix that bug will land soon.

I'm proposing next Monday as a target date, so that it happens after the soft code freeze for Firefox 123 ( https://groups.google.com/a/mozilla.org/g/dev-platform/c/X7zK5k7-LOE ), and we have time to finish bug 1765615 and address other minor issues.

# Details

* Intermittent failures:
   * [content-visibility-auto-state-changed-first-observation.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1806930) => recent bot reports (2024-01-09), reproducible locally.
   * [content-visibility-030.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1785541) => recent bot report (2024-01-14), not reproducible locally.
   * [content-visibility-animation-in-auto-subtree.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1873315) => recent bot report (2024-01-06).
   * [content-visibility-with-top-layer-005.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1870781) marked as flaky on all platforms.
   * [content-visibility-with-popover-top-layer-005.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1870781) marked as flaky on all platforms.

* WPT failures:
    - content-visibility-with-top-layer-in-auto-subtree-removal.html => this passes, but has a max-assert: 2. The assertion: "Out-of-flow frame got reflowed before its placeholder" is a known bug which is not related to c-v, see https://bugzilla.mozilla.org/show_bug.cgi?id=1828898 and https://bugzilla.mozilla.org/show_bug.cgi?id=1863402
    - [content-visibility-095.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1874569) => a rendering bug with full effect of `contain: layout` not applied to `content-visibility: hidden`.
    - [content-visibility-size-containment-001.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1874859) => a minor existing invalidation bug for size containment when switching relevancy of content-visibility auto elements. present in other browsers too.

* WPT failures due to feature we don't implement (won't block shipping `content-visibility`)
  * content-visibility-animation-with-scroll-timeline-in-auto-subtree.html and content-visibility-animation-with-scroll-timeline-in-hidden-subtree.html: 
    - These depend on [CSS scroll-driven animations](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_scroll-driven_animations), which is currently [disabled by default](https://searchfox.org/mozilla-central/rev/23e7e940337d0e0b29aabe0080e4992d3860c940/modules/libpref/init/StaticPrefList.yaml#8746)
  * [css/css-view-transitions/ `[3d-transform-incoming.html, content-visibility-auto-shared-element.html, css-tags-paint-order-with-entry.html, and 39 others`](https://bugzilla.mozilla.org/show_bug.cgi?id=1819697)
      - [view transitions](https://github.com/WICG/view-transitions) isn't supported
  * [content-visibility-048.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1822694) and [content-visibility-auto-text-fragment.html](https://bugzilla.mozilla.org/show_bug.cgi?id=1865064)
      - [url-scroll-to-text-fragment](https://wicg.github.io/scroll-to-text-fragment/#the-fragment-directive) isn't supported
  * content-visibility-080.html
    - `caretRangeFromPoint` is not supported, https://caniuse.com/?search=caretRangeFromPoint
  * content-visibility-svg-path.html
    - `checkIntersection`, `checkEnclosure`, `getIntersectionList` and `getEnclosureList`, these svg functions are [not supported](https://bugzilla.mozilla.org/show_bug.cgi?id=501421)
  
* Bugs with proposed enhancements (won't block shipping `content-visibility`)
    * [Update details/summary to use "content-visibility:hidden" for hiding](https://bugzilla.mozilla.org/show_bug.cgi?id=1789166)
      - This is a proposal to make the implementation of these elements rely on content-visibility. It cannot be done until we ship content-visibility, but shouldn't be a prerequisite to ship it. 
    * [[css-contain-2] filter effects and "relevant to the user" (for content-visibility:auto)](https://bugzilla.mozilla.org/show_bug.cgi?id=1798813)
      - This is a proposal to refine when a content-visibility:auto element becomes relevant, by taking into account possible filter effects. There is no WPT test for that and the added text is quite generic, probably shouldn't be a blocker?

Back to Bug 1874874 Comment 0