Skip to content

Commit

Permalink
REGRESSION (iOS 16): Height of inline-block element in vertical-rl la…
Browse files Browse the repository at this point in the history
…yout expands the root element width.

https://bugs.webkit.org/show_bug.cgi?id=245173

Reviewed by Antti Koivisto.

Do not mix logical and physical coordinates (at this point in the display content builder we mostly operate on physical values and scrollableOverflowRect is no exception).

* LayoutTests/fast/block/scroll-overflow-in-vertical-writing-mode-expected.html: Added.
* LayoutTests/fast/block/scroll-overflow-in-vertical-writing-mode.html: Added.
* Source/WebCore/layout/integration/inline/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):

Canonical link: https://commits.webkit.org/254569@main
  • Loading branch information
alanbaradlay committed Sep 16, 2022
1 parent 32854d2 commit ec6b533
Show file tree
Hide file tree
Showing 13 changed files with 48 additions and 27 deletions.
@@ -0,0 +1,10 @@
<html style="writing-mode: vertical-rl;">
<style>
div {
height: 3000px;
background: green;
font-size: 20px;
font-family: Monospace;
}
</style>
<div>PASS if no horizontal scrollbar</div>
@@ -0,0 +1,11 @@
<html style="writing-mode: vertical-rl;">
<style>
div {
display: inline-block;
height: 3000px;
background: green;
font-size: 20px;
font-family: Monospace;
}
</style>
<div>PASS if no horizontal scrollbar</div>
@@ -1,4 +1,4 @@
layer at (0,0) size 800x622
layer at (0,0) size 800x610
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
Expand Down
@@ -1,4 +1,4 @@
layer at (0,0) size 800x719
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
Expand Down
@@ -1,4 +1,4 @@
layer at (0,0) size 800x719
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
Expand Down
@@ -1,4 +1,4 @@
layer at (0,0) size 800x719
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
Expand Down
@@ -1,4 +1,4 @@
layer at (0,0) size 800x719
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
Expand Down
@@ -1,4 +1,4 @@
layer at (0,0) size 785x620
layer at (0,0) size 785x609
RenderView at (0,0) size 785x600
layer at (0,0) size 785x600
RenderBlock {HTML} at (0,0) size 785x600
Expand Down
@@ -1,8 +1,8 @@
layer at (0,0) size 785x719
RenderView at (0,0) size 785x600
layer at (0,0) size 785x600
RenderBlock {HTML} at (0,0) size 785x600
RenderBody {BODY} at (20,8) size 745x584
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (20,8) size 760x584
RenderBlock {DIV} at (0,20) size 256x544
RenderBlock {DIV} at (0,0) size 256x83
RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px solid #808080)]
Expand Down
@@ -1,8 +1,8 @@
layer at (0,0) size 785x719
RenderView at (0,0) size 785x600
layer at (0,0) size 785x600
RenderBlock {HTML} at (0,0) size 785x600
RenderBody {BODY} at (20,8) size 745x584
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (20,8) size 760x584
RenderBlock {DIV} at (0,20) size 256x544
RenderBlock {DIV} at (0,0) size 256x83
RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px solid #808080)]
Expand Down
@@ -1,8 +1,8 @@
layer at (0,0) size 785x719
RenderView at (0,0) size 785x600
layer at (0,0) size 785x600
RenderBlock {HTML} at (0,0) size 785x600
RenderBody {BODY} at (20,8) size 745x584
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (20,8) size 760x584
RenderBlock {DIV} at (0,20) size 256x544
RenderBlock {DIV} at (0,0) size 256x83
RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px solid #808080)]
Expand Down
@@ -1,8 +1,8 @@
layer at (0,0) size 785x719
RenderView at (0,0) size 785x600
layer at (0,0) size 785x600
RenderBlock {HTML} at (0,0) size 785x600
RenderBody {BODY} at (20,8) size 745x584
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (20,8) size 760x584
RenderBlock {DIV} at (0,20) size 256x544
RenderBlock {DIV} at (0,0) size 256x83
RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px solid #808080)]
Expand Down
Expand Up @@ -129,7 +129,7 @@ void InlineContentBuilder::createDisplayLines(Layout::InlineFormattingState& inl
childInkOverflow.move(box.left(), box.top());
lineInkOverflowRect.unite(childInkOverflow);
}
auto childScrollableOverflow = renderer.logicalLayoutOverflowRectForPropagation(&renderer.parent()->style());
auto childScrollableOverflow = renderer.layoutOverflowRectForPropagation(&renderer.parent()->style());
childScrollableOverflow.move(box.left(), box.top());
scrollableOverflowRect.unite(childScrollableOverflow);
}
Expand Down

0 comments on commit ec6b533

Please sign in to comment.