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