Bug 223099 - Out-of-flow positioned box should generate an out-of-flow fragment container
Summary: Out-of-flow positioned box should generate an out-of-flow fragment container
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: zalan
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-03-11 16:04 PST by zalan
Modified: 2023-10-29 07:40 PDT (History)
11 users (show)

See Also:


Attachments
Patch (4.24 KB, patch)
2021-03-11 16:33 PST, zalan
no flags Details | Formatted Diff | Diff
Patch (4.23 KB, patch)
2021-04-28 10:10 PDT, zalan
ews-feeder: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description zalan 2021-03-11 16:04:20 PST
<rdar://73706973>
Comment 1 zalan 2021-03-11 16:33:44 PST
Created attachment 422990 [details]
Patch
Comment 2 zalan 2021-03-11 19:59:01 PST
Interestingly the failed tests produce the same geometries before/after. It probably needs some RenderLayer adjustment.
Comment 3 zalan 2021-04-28 10:10:30 PDT
Created attachment 427275 [details]
Patch
Comment 4 Ahmad Saleem 2023-10-29 07:34:44 PDT
We don't have following applied:

https://searchfox.org/wubkat/source/Source/WebCore/rendering/updating/RenderTreeBuilderMultiColumn.cpp#164

auto newFragmentedFlow = WebCore::createRenderer<RenderMultiColumnFlow>(flow.document(), RenderStyle::createAnonymousStyleWithDisplay(flow.style(), DisplayType::Block));
    newFragmentedFlow->initializeStyle();
    auto& fragmentedFlow = *newFragmentedFlow;
    m_builder.blockBuilder().attach(flow, WTFMove(newFragmentedFlow), nullptr);

    // Reparent children preceding the fragmented flow into the fragmented flow.
    m_builder.moveChildren(flow, fragmentedFlow, flow.firstChild(), &fragmentedFlow, RenderTreeBuilder::NormalizeAfterInsertion::Yes);
Comment 5 Ahmad Saleem 2023-10-29 07:40:18 PDT
(In reply to Ahmad Saleem from comment #4)
> We don't have following applied:
> 
> https://searchfox.org/wubkat/source/Source/WebCore/rendering/updating/
> RenderTreeBuilderMultiColumn.cpp#164
> 
> auto newFragmentedFlow =
> WebCore::createRenderer<RenderMultiColumnFlow>(flow.document(),
> RenderStyle::createAnonymousStyleWithDisplay(flow.style(),
> DisplayType::Block));
>     newFragmentedFlow->initializeStyle();
>     auto& fragmentedFlow = *newFragmentedFlow;
>     m_builder.blockBuilder().attach(flow, WTFMove(newFragmentedFlow),
> nullptr);
> 
>     // Reparent children preceding the fragmented flow into the fragmented
> flow.
>     m_builder.moveChildren(flow, fragmentedFlow, flow.firstChild(),
> &fragmentedFlow, RenderTreeBuilder::NormalizeAfterInsertion::Yes);

Just to update - it compiles based on above patch on WebKit ToT. :-)