Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1037e592cea83a9e83f0a6c5c5e61700a098dd82
      
https://github.com/WebKit/WebKit/commit/1037e592cea83a9e83f0a6c5c5e61700a098dd82
  Author: Yulun Wu <[email protected]>
  Date:   2025-09-17 (Wed, 17 Sep 2025)

  Changed paths:
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/layout/formattingContexts/grid/GridFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/grid/GridFormattingContext.h
    M Source/WebCore/layout/formattingContexts/grid/GridLayout.cpp
    M Source/WebCore/layout/formattingContexts/grid/GridLayout.h
    M Source/WebCore/layout/integration/LayoutIntegrationBoxTreeUpdater.cpp
    M Source/WebCore/layout/integration/LayoutIntegrationBoxTreeUpdater.h
    M Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp
    M Source/WebCore/layout/integration/LayoutIntegrationCoverage.h
    A Source/WebCore/layout/integration/grid/LayoutIntegrationGridLayout.cpp
    A Source/WebCore/layout/integration/grid/LayoutIntegrationGridLayout.h
    M Source/WebCore/rendering/RenderGrid.cpp
    M Source/WebCore/rendering/RenderGrid.h

  Log Message:
  -----------
  Add initial integration for GridFormattingContext
https://bugs.webkit.org/show_bug.cgi?id=298884
<rdar://160627422>

Reviewed by Sammy Gill.

This PR adds the foundational integration layer for GridFormattingContext.

Specifically, this PR:

1. Adds the integration point for the new Grid Formatting Context in the form of
LayoutIntegrationGridLayout.
2. Introduces layoutUsingGridFormattingContext() and canUseForGridLayout() to 
gate
usage of the new layout code path.
3. Adds buildTreeForGridContent() to the the BoxTreeUpdater to build a tree of 
Layout::ElementBox.
4. Caches the top-level GridBox and LayoutState in GridFormattingContext.

* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/layout/formattingContexts/grid/GridFormattingContext.cpp:
(WebCore::Layout::GridFormattingContext::GridFormattingContext):
* Source/WebCore/layout/formattingContexts/grid/GridFormattingContext.h:
* Source/WebCore/layout/integration/LayoutIntegrationBoxTreeUpdater.cpp:
(WebCore::LayoutIntegration::BoxTreeUpdater::build):
(WebCore::LayoutIntegration::BoxTreeUpdater::buildTreeForGridContent):
* Source/WebCore/layout/integration/LayoutIntegrationBoxTreeUpdater.h:
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForGridLayout):
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.h:
* Source/WebCore/layout/integration/grid/LayoutIntegrationGridLayout.cpp: 
Copied from 
Source/WebCore/layout/formattingContexts/grid/GridFormattingContext.cpp.
(WebCore::LayoutIntegration::GridLayout::GridLayout):
(WebCore::LayoutIntegration::m_layoutState):
(WebCore::LayoutIntegration::GridLayout::layout):
* Source/WebCore/layout/integration/grid/LayoutIntegrationGridLayout.h: Copied 
from Source/WebCore/layout/formattingContexts/grid/GridFormattingContext.h.
(WebCore::LayoutIntegration::GridLayout::gridBox const):
(WebCore::LayoutIntegration::GridLayout::gridBox):
(WebCore::LayoutIntegration::GridLayout::gridBoxRenderer const):
(WebCore::LayoutIntegration::GridLayout::gridBoxRenderer):
(WebCore::LayoutIntegration::GridLayout::layoutState):
(WebCore::LayoutIntegration::GridLayout::layoutState const):
* Source/WebCore/rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::layoutUsingGridFormattingContext):
* Source/WebCore/rendering/RenderGrid.h:

Canonical link: https://commits.webkit.org/300088@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to