Bug 204613 - [LFC][Render tree] Add LFC line layout path to RenderBlockFlow
Summary: [LFC][Render tree] Add LFC line layout path to RenderBlockFlow
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-11-26 05:14 PST by Antti Koivisto
Modified: 2019-12-01 07:35 PST (History)
13 users (show)

See Also:


Attachments
patch (29.03 KB, patch)
2019-11-26 05:46 PST, Antti Koivisto
zalan: review+
Details | Formatted Diff | Diff
patch (27.39 KB, patch)
2019-11-26 11:31 PST, Antti Koivisto
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Antti Koivisto 2019-11-26 05:14:30 PST
Basic line layout integration.
Comment 1 Antti Koivisto 2019-11-26 05:46:00 PST
Created attachment 384348 [details]
patch
Comment 2 zalan 2019-11-26 08:34:50 PST
Comment on attachment 384348 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=384348&action=review

> Source/WebCore/layout/RenderBlockFlowLineLayout.cpp:91
> +LayoutUnit RenderBlockFlowLineLayout::height() const

Since there are many different types of box height, I think it would be great if this function was named contentBoxHeight() (as opposed to padding/border/margin box height).

> Source/WebCore/layout/invalidation/InvalidationState.cpp:47
> +    if (layoutBox.isInitialContainingBlock()) {
> +        m_formattingContextRoots.add(downcast<Container>(layoutBox));
> +        return;
> +    }

As the comment/assert implies here the ICB should never need an update. It has to have a pre-computed geometry (in full LFC mode, it's always the view size, in partial LFC mode, I guess it's the flow's content box size). It's only the children that need update (layout).
Comment 3 Antti Koivisto 2019-11-26 11:31:38 PST
Created attachment 384368 [details]
patch
Comment 4 WebKit Commit Bot 2019-11-26 12:15:46 PST
Comment on attachment 384368 [details]
patch

Clearing flags on attachment: 384368

Committed r252893: <https://trac.webkit.org/changeset/252893>
Comment 5 WebKit Commit Bot 2019-11-26 12:15:47 PST
All reviewed patches have been landed.  Closing bug.
Comment 6 Radar WebKit Bug Importer 2019-11-26 12:16:18 PST
<rdar://problem/57494369>
Comment 7 Aakash Jain 2019-12-01 06:48:15 PST
This broke loader/stateobjects/pushstate-size.html test on mac-debug. EWS did indicate this failure on previous version of patch. Tracked in Bug 204725.
Comment 8 Antti Koivisto 2019-12-01 06:51:24 PST
No(In reply to Aakash Jain from comment #7)
> This broke loader/stateobjects/pushstate-size.html test on mac-debug. EWS
> did indicate this failure on previous version of patch. Tracked in Bug
> 204725.

Very unlikely.
Comment 9 Antti Koivisto 2019-12-01 07:35:42 PST
> Very unlikely.

...but true. Adding enum value caused a bitfield to overflow (though the patch was otherwise no-op without enabling LFC).