https://www.w3.org/TR/css-contain-2/#using-cv-auto
<rdar://problem/89360404>
Created attachment 454239 [details] Initial patch Initial patch.
Created attachment 454485 [details] Better ChangeLog. Better ChangeLog.
Created attachment 454822 [details] Compute intersections synchronously Compute intersections synchronously.
Created attachment 454844 [details] Fix intersection computation Fix intersection computation, previous patch did the sync call before registration.
Created attachment 454866 [details] Properly fix intersections Properly fix intersections
Created attachment 455647 [details] Rebase Rebase.
Created attachment 456817 [details] Handle selection Handle selection.
Comment on attachment 456817 [details] Handle selection View in context: https://bugs.webkit.org/attachment.cgi?id=456817&action=review > Source/WebCore/rendering/style/RenderStyle.h:543 > + bool containsSize() const { return effectiveContainment().contains(Containment::Size) || skipsContents(); } Maybe we can also move `skipsContents()` inside `effectiveContainment()`? Not sure why `containsLayout`, `containsStyle`, and `containsPaint` do not check `skipsContents()` like `containsSize`?
Comment on attachment 456817 [details] Handle selection View in context: https://bugs.webkit.org/attachment.cgi?id=456817&action=review >>> Source/WebCore/rendering/style/RenderStyle.h:543 >>> + bool containsSize() const { return effectiveContainment().contains(Containment::Size) || skipsContents(); } >> >> Maybe we can also move `skipsContents()` inside `effectiveContainment()`? Not sure why `containsLayout`, `containsStyle`, and `containsPaint` do not check `skipsContents()` like `containsSize`? > > Maybe we can also move `skipsContents()` inside `effectiveContainment()`? Not sure why `containsLayout`, `containsStyle`, and `containsPaint` do not check `skipsContents()` like `containsSize`? See https://drafts.csswg.org/css-contain/#valdef-content-visibility-auto: "Turns on layout containment, style containment, and paint containment for the element." For c-v: hidden all containment is enabled. But actually, I am not sure in our patches c-v: hidden always enables size containment unconditionally....
Created attachment 459488 [details] c_v-auto-based-on-contain-intrinsic-size The test results in this patch is based on the contain-intrinsic-size implementation patch.
Created attachment 459571 [details] Remove ChangeLog
Created attachment 460087 [details] Rebase
Created attachment 464351 [details] Rebase
Created attachment 464444 [details] Patch
Created attachment 464468 [details] Patch
This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess
Created attachment 464480 [details] Patch
Created attachment 464485 [details] Patch
Created attachment 464526 [details] Patch
Created attachment 464533 [details] Patch
Created attachment 464534 [details] Patch
Created attachment 464536 [details] Patch
Created attachment 464561 [details] Patch
Created attachment 464565 [details] Patch
Created attachment 464578 [details] Patch
Pull request: https://github.com/WebKit/WebKit/pull/9096
Committed 266084@main (b39fee5ba22e): <https://commits.webkit.org/266084@main> Reviewed commits have been landed. Closing PR #9096 and removing active labels.
Re-opening for pull request https://github.com/WebKit/WebKit/pull/15879
Committed 267130@main (6f118d4b6dd0): <https://commits.webkit.org/267130@main> Reviewed commits have been landed. Closing PR #15879 and removing active labels.