Support forced layout.
Created attachment 453614 [details] Initial implementation Initial implementation
Created attachment 453656 [details] Improved patch Improved patch.
<rdar://problem/90032814>
Created attachment 458128 [details] Rebase Rebase
Created attachment 459542 [details] Remove ChangeLogs Remove ChangeLogs.
Comment on attachment 459542 [details] Remove ChangeLogs View in context: https://bugs.webkit.org/attachment.cgi?id=459542&action=review I wonder why Element::offsetTop doesn't need Document::ForceLayout::Yes? > Source/WebCore/dom/Element.cpp:1283 > + document().updateLayoutIgnorePendingStylesheets(Document::ForceLayout::Yes); I wonder why Element::offsetLeft doesn't need Document::ForceLayout::Yes? > Source/WebCore/dom/Element.cpp:1443 > + document().updateLayoutIgnorePendingStylesheets(Document::ForceLayout::Yes); And Element::scrollLeft?
Comment on attachment 459542 [details] Remove ChangeLogs View in context: https://bugs.webkit.org/attachment.cgi?id=459542&action=review >> Source/WebCore/dom/Element.cpp:1283 >> + document().updateLayoutIgnorePendingStylesheets(Document::ForceLayout::Yes); > > I wonder why Element::offsetLeft doesn't need Document::ForceLayout::Yes? It probably needs it as well, checking chromium. I just did the minimum amount to pass the tests. >> Source/WebCore/dom/Element.cpp:1443 >> + document().updateLayoutIgnorePendingStylesheets(Document::ForceLayout::Yes); > > And Element::scrollLeft? Dito.
Created attachment 460015 [details] Fixed-forced-layout-test-failures-wip.diff To address the forced layout issues, we need to make sure triggering layout when an element becomes a size containment or vice versa. Looks like there is no need to change isLayoutForced in layoutContext.
Created attachment 463345 [details] Patch
Created attachment 463361 [details] Patch
Created attachment 463668 [details] Patch
Created attachment 463692 [details] Patch
Comment on attachment 463692 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=463692&action=review > Source/WebCore/rendering/style/RenderStyle.cpp:811 > + if (first.contentVisibility != second.contentVisibility) // content-visibiliy: hidden enabled contain:size if ((static_cast<ContentVisibility>(first.contentVisibility) == ContentVisibility::Hidden) != (static_cast<ContentVisibility>(second.contentVisibility) == ContentVisibility::Hidden)) return true;
Created attachment 463695 [details] Patch
Created attachment 463718 [details] Patch
Created attachment 463723 [details] Patch
Created attachment 463727 [details] Patch
Created attachment 463734 [details] Patch
Created attachment 463827 [details] Patch
Created attachment 464073 [details] Patch
Created attachment 464513 [details] Patch
Created attachment 464514 [details] Patch
Created attachment 464524 [details] Patch
Created attachment 464527 [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 464535 [details] Patch
Pull request: https://github.com/WebKit/WebKit/pull/8763
Created attachment 464602 [details] Patch
Created attachment 464745 [details] Patch
Created attachment 464762 [details] Patch
Created attachment 464781 [details] Patch
Pull request: https://github.com/WebKit/WebKit/pull/9537
Created attachment 465087 [details] Patch
Created attachment 465094 [details] Patch
Created attachment 465106 [details] Patch
Pull Request: https://github.com/WebKit/WebKit/pull/8763
Committed 268310@main (faa0935aebd5): <https://commits.webkit.org/268310@main> Reviewed commits have been landed. Closing PR #8763 and removing active labels.