RESOLVED FIXED237369
[content-visibility] Lazily layout children
https://bugs.webkit.org/show_bug.cgi?id=237369
Summary [content-visibility] Lazily layout children
Rob Buis
Reported 2022-03-02 08:18:38 PST
Support forced layout.
Attachments
Initial implementation (14.45 KB, patch)
2022-03-02 08:20 PST, Rob Buis
no flags
Improved patch (19.28 KB, patch)
2022-03-02 13:56 PST, Rob Buis
no flags
Rebase (17.69 KB, patch)
2022-04-22 03:10 PDT, Rob Buis
no flags
Remove ChangeLogs (15.58 KB, patch)
2022-05-18 07:25 PDT, Rob Buis
no flags
Fixed-forced-layout-test-failures-wip.diff (2.73 KB, patch)
2022-06-03 08:29 PDT, cathiechen
no flags
Patch (20.69 KB, patch)
2022-11-01 07:51 PDT, Rob Buis
no flags
Patch (5.81 KB, patch)
2022-11-02 07:24 PDT, Rob Buis
no flags
Patch (20.40 KB, patch)
2022-11-22 07:36 PST, Rob Buis
no flags
Patch (19.02 KB, patch)
2022-11-23 07:31 PST, Rob Buis
no flags
Patch (24.00 KB, patch)
2022-11-23 11:06 PST, Rob Buis
no flags
Patch (24.49 KB, patch)
2022-11-24 13:57 PST, Rob Buis
no flags
Patch (23.25 KB, patch)
2022-11-25 01:58 PST, Rob Buis
no flags
Patch (23.81 KB, patch)
2022-11-25 03:36 PST, Rob Buis
no flags
Patch (21.98 KB, patch)
2022-11-25 10:20 PST, Rob Buis
no flags
Patch (21.43 KB, patch)
2022-12-01 03:10 PST, Rob Buis
no flags
Patch (14.39 KB, patch)
2022-12-16 01:47 PST, Rob Buis
no flags
Patch (13.80 KB, patch)
2023-01-16 03:33 PST, Rob Buis
no flags
Patch (13.67 KB, patch)
2023-01-16 06:47 PST, Rob Buis
no flags
Patch (15.08 KB, patch)
2023-01-17 02:18 PST, Rob Buis
no flags
Patch (15.56 KB, patch)
2023-01-17 12:24 PST, Rob Buis
no flags
Patch (13.11 KB, patch)
2023-01-18 04:19 PST, Rob Buis
no flags
Patch (16.42 KB, patch)
2023-01-23 01:47 PST, Rob Buis
no flags
Patch (5.80 KB, patch)
2023-01-29 11:54 PST, Rob Buis
no flags
Patch (7.02 KB, patch)
2023-01-30 13:45 PST, Rob Buis
no flags
Patch (7.21 KB, patch)
2023-01-31 09:19 PST, Rob Buis
no flags
Patch (20.90 KB, patch)
2023-02-20 09:34 PST, Rob Buis
no flags
Patch (21.60 KB, patch)
2023-02-20 13:31 PST, Rob Buis
no flags
Patch (24.74 KB, patch)
2023-02-21 02:17 PST, Rob Buis
ews-feeder: commit-queue-
Rob Buis
Comment 1 2022-03-02 08:20:38 PST
Created attachment 453614 [details] Initial implementation Initial implementation
Rob Buis
Comment 2 2022-03-02 13:56:51 PST
Created attachment 453656 [details] Improved patch Improved patch.
Radar WebKit Bug Importer
Comment 3 2022-03-09 08:19:16 PST
Rob Buis
Comment 4 2022-04-22 03:10:31 PDT
Created attachment 458128 [details] Rebase Rebase
Rob Buis
Comment 5 2022-05-18 07:25:04 PDT
Created attachment 459542 [details] Remove ChangeLogs Remove ChangeLogs.
cathiechen
Comment 6 2022-05-26 09:50:51 PDT
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?
Rob Buis
Comment 7 2022-05-26 09:57:33 PDT
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.
cathiechen
Comment 8 2022-06-03 08:29:07 PDT
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.
Rob Buis
Comment 9 2022-11-01 07:51:11 PDT
Rob Buis
Comment 10 2022-11-02 07:24:49 PDT
Rob Buis
Comment 11 2022-11-22 07:36:51 PST
Rob Buis
Comment 12 2022-11-23 07:31:05 PST
cathiechen
Comment 13 2022-11-23 08:44:20 PST
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;
Rob Buis
Comment 14 2022-11-23 11:06:51 PST
Rob Buis
Comment 15 2022-11-24 13:57:44 PST
Rob Buis
Comment 16 2022-11-25 01:58:40 PST
Rob Buis
Comment 17 2022-11-25 03:36:08 PST
Rob Buis
Comment 18 2022-11-25 10:20:09 PST
Rob Buis
Comment 19 2022-12-01 03:10:37 PST
Rob Buis
Comment 20 2022-12-16 01:47:52 PST
Rob Buis
Comment 21 2023-01-16 03:33:25 PST
Rob Buis
Comment 22 2023-01-16 06:47:01 PST
Rob Buis
Comment 23 2023-01-17 02:18:05 PST
Rob Buis
Comment 24 2023-01-17 12:24:04 PST
EWS Watchlist
Comment 25 2023-01-17 12:38:52 PST
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
Rob Buis
Comment 26 2023-01-18 04:19:59 PST
Rob Buis
Comment 27 2023-01-18 06:37:10 PST
Rob Buis
Comment 28 2023-01-23 01:47:25 PST
Rob Buis
Comment 29 2023-01-29 11:54:24 PST
Rob Buis
Comment 30 2023-01-30 13:45:39 PST
Rob Buis
Comment 31 2023-01-31 09:19:25 PST
Rob Buis
Comment 32 2023-02-02 10:39:03 PST
Rob Buis
Comment 33 2023-02-20 09:34:48 PST
Rob Buis
Comment 34 2023-02-20 13:31:42 PST
Rob Buis
Comment 35 2023-02-21 02:17:58 PST
Tim Nguyen (:ntim)
Comment 36 2023-09-21 10:26:44 PDT
EWS
Comment 37 2023-09-22 06:47:25 PDT
Committed 268310@main (faa0935aebd5): <https://commits.webkit.org/268310@main> Reviewed commits have been landed. Closing PR #8763 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.