Bug 165781
| Summary: | Merge m_setNeedsLayoutWasDeferred with the viewport unit resolving infinite recursion logic. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | alan <zalan> |
| Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | ahmad.saleem792, karlcow, mattwoodrow, simon.fraser, vitor.roriz |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
alan
bug 165775
and even better, use the layout phase (adjustViewSize) instead of the deferred flag.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Ahmad Saleem
Blink removed this code in this commit - https://chromium.googlesource.com/chromium/blink/+/f9b0d34b5bac00f3dedaa44b360590ba3ad55ad8
"This code was added in https://trac.webkit.org/changeset/43026 5 years
ago without a test for a bug with how Mail embedded WebKit1. We've long
since moved past that and it doesn't seem it should be needed anymore,
and the code was never finished either."
Ahmad Saleem
@Karl - does Mail uses WebKit1 (WebKit Legacy) still now? Appreciate if you can share input?
Karl Dubost
@Ahmad, I don't know!
Maybe a question worth asking on #webkit Slack. :)
alan
(In reply to Ahmad Saleem from comment #2)
> @Karl - does Mail uses WebKit1 (WebKit Legacy) still now? Appreciate if you
> can share input?
It does not.
Ahmad Saleem
Draft PR to delete 'deferred setNeedsLayout' - https://github.com/WebKit/WebKit/pull/25458
Let's see - if we still need it or not via EWS. :-)
Ahmad Saleem
This leads to crashes in few tests without much details:
Mac-wk1 failures:
editing/selection/move-by-line-crash.html - no crash logs from EWS
fast/flexbox/flex-hang.html - rebase (1 px shift)
fast/repaint/border-radius-repaint-2.html - simple rebase
Mac-wk2-debug failures:
compositing/fixed-with-fixed-layout.html, fast/fixed-layout/fixed-layout.html
Both with same assert failure:
No crash log found for com.apple.WebKit.WebContent.Development:1234.
stdout:
stderr:
ASSERTION FAILED: !layoutRoot->needsLayout()
/Volumes/Data/worker/macOS-AppleSilicon-Sonoma-Debug-Build-EWS/build/Source/WebCore/page/LocalFrameViewLayoutContext.cpp(269) : void WebCore::LocalFrameViewLayoutContext::performLayout()
com.apple.WebKit.WebContent.Development terminated (pid 1234) for reason: crash
LEAK: 1 WebPageProxy
This assert was added by Alan in this commit:
https://github.com/WebKit/WebKit/commit/8421bc7ac25b99f393f654a8dd4ca49671fe7f59