[webkit-changes] [WebKit/WebKit] 8b8f0c: [IFC][initial letter] Inline letter boxes can be i...
Alan Baradlay
noreply at github.com
Sat Jan 7 15:02:01 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8b8f0c201eb0d1a96590a17ab6b6908f137707c0
https://github.com/WebKit/WebKit/commit/8b8f0c201eb0d1a96590a17ab6b6908f137707c0
Author: Alan Baradlay <zalan at apple.com>
Date: 2023-01-07 (Sat, 07 Jan 2023)
Changed paths:
M Source/WebCore/layout/formattingContexts/block/BlockLayoutState.h
M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h
M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
M Source/WebCore/rendering/RenderBlockFlow.cpp
M Source/WebCore/rendering/RenderBlockFlow.h
Log Message:
-----------
[IFC][initial letter] Inline letter boxes can be intrusive to sibling IFCs
https://bugs.webkit.org/show_bug.cgi?id=250256
Reviewed by Antti Koivisto.
This patch is in preparation for supporting -webkit-initial-letter.
While initial-letter based float boxes do not have their clear property set,
intrusive initial-letters boxes are supposed to be cleared (avoided) by other
initial-letter boxes.
e.g.
__________________________________________________
| ________ |
| | his initial letter box sticks out of this|
| | container into the sibling IFC. |
|____|_____________________________________________|
|
| | ere we have another initial-letter box which is supposed to clear the intrusive one above.
|--|
| |
* Source/WebCore/layout/formattingContexts/block/BlockLayoutState.h:
(WebCore::Layout::BlockLayoutState::BlockLayoutState):
(WebCore::Layout::BlockLayoutState::intrusiveInitialLetterLogicalBottom const):
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::LineBuilder):
(WebCore::Layout::LineBuilder::tryPlacingFloatBox):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::blockLayoutState const):
(WebCore::Layout::LineBuilder::floatingState):
(WebCore::Layout::LineBuilder::floatingState const):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::layout):
* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
(WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom const):
* Source/WebCore/rendering/RenderBlockFlow.h:
Canonical link: https://commits.webkit.org/258623@main
More information about the webkit-changes
mailing list