Title: [216391] releases/WebKitGTK/webkit-2.16
- Revision
- 216391
- Author
- carlo...@webkit.org
- Date
- 2017-05-08 05:32:45 -0700 (Mon, 08 May 2017)
Log Message
Merge r215874 - Repeated layouts in Mail due to viewport units being used with auto-sizing
https://bugs.webkit.org/show_bug.cgi?id=171371
<rdar://problem/28780084>
Reviewed by Zalan Bujtas.
Source/WebCore:
Test: css3/viewport-percentage-lengths/vh-auto-size.html
Auto-sizing code would adjust the size of the view in the beginning of layout(). This would
end up invalidating style for elements that use vh units and we would perform main layout
with unclean style. This would result in endless layout loops and hit assert on debug.
* page/FrameView.cpp:
(WebCore::FrameView::availableContentSizeChanged):
Ensure we heve clean style after resize if we are in pre-layout.
LayoutTests:
* css3/viewport-percentage-lengths/vh-auto-size-expected.html: Added.
* css3/viewport-percentage-lengths/vh-auto-size.html: Added.
Modified Paths
Added Paths
Diff
Modified: releases/WebKitGTK/webkit-2.16/LayoutTests/ChangeLog (216390 => 216391)
--- releases/WebKitGTK/webkit-2.16/LayoutTests/ChangeLog 2017-05-08 12:30:25 UTC (rev 216390)
+++ releases/WebKitGTK/webkit-2.16/LayoutTests/ChangeLog 2017-05-08 12:32:45 UTC (rev 216391)
@@ -1,3 +1,14 @@
+2017-04-27 Antti Koivisto <an...@apple.com>
+
+ Repeated layouts in Mail due to viewport units being used with auto-sizing
+ https://bugs.webkit.org/show_bug.cgi?id=171371
+ <rdar://problem/28780084>
+
+ Reviewed by Zalan Bujtas.
+
+ * css3/viewport-percentage-lengths/vh-auto-size-expected.html: Added.
+ * css3/viewport-percentage-lengths/vh-auto-size.html: Added.
+
2017-04-27 Zalan Bujtas <za...@apple.com>
Text gets cut off when bailing out of simple line layout with widows.
Added: releases/WebKitGTK/webkit-2.16/LayoutTests/css3/viewport-percentage-lengths/vh-auto-size-expected.html (0 => 216391)
--- releases/WebKitGTK/webkit-2.16/LayoutTests/css3/viewport-percentage-lengths/vh-auto-size-expected.html (rev 0)
+++ releases/WebKitGTK/webkit-2.16/LayoutTests/css3/viewport-percentage-lengths/vh-auto-size-expected.html 2017-05-08 12:32:45 UTC (rev 216391)
@@ -0,0 +1,7 @@
+<script>
+if (window.internals)
+ internals.enableAutoSizeMode(true, 1000, 1, 1000000, 1000000);
+</script>
+text text text text text text text
+<div style="height:1000px; border:2px solid green">
+</div>
Added: releases/WebKitGTK/webkit-2.16/LayoutTests/css3/viewport-percentage-lengths/vh-auto-size.html (0 => 216391)
--- releases/WebKitGTK/webkit-2.16/LayoutTests/css3/viewport-percentage-lengths/vh-auto-size.html (rev 0)
+++ releases/WebKitGTK/webkit-2.16/LayoutTests/css3/viewport-percentage-lengths/vh-auto-size.html 2017-05-08 12:32:45 UTC (rev 216391)
@@ -0,0 +1,15 @@
+<html>
+<head>
+<script>
+if (window.internals)
+ internals.enableAutoSizeMode(true, 1000, 1, 1000000, 1000000);
+</script>
+</head>
+<body>
+<div style="width: 100vh">
+text text text text text text text
+<div style="height:1000px; border:2px solid green">
+</div>
+</div>
+</body>
+</html>
Modified: releases/WebKitGTK/webkit-2.16/Source/WebCore/ChangeLog (216390 => 216391)
--- releases/WebKitGTK/webkit-2.16/Source/WebCore/ChangeLog 2017-05-08 12:30:25 UTC (rev 216390)
+++ releases/WebKitGTK/webkit-2.16/Source/WebCore/ChangeLog 2017-05-08 12:32:45 UTC (rev 216391)
@@ -1,3 +1,22 @@
+2017-04-27 Antti Koivisto <an...@apple.com>
+
+ Repeated layouts in Mail due to viewport units being used with auto-sizing
+ https://bugs.webkit.org/show_bug.cgi?id=171371
+ <rdar://problem/28780084>
+
+ Reviewed by Zalan Bujtas.
+
+ Test: css3/viewport-percentage-lengths/vh-auto-size.html
+
+ Auto-sizing code would adjust the size of the view in the beginning of layout(). This would
+ end up invalidating style for elements that use vh units and we would perform main layout
+ with unclean style. This would result in endless layout loops and hit assert on debug.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::availableContentSizeChanged):
+
+ Ensure we heve clean style after resize if we are in pre-layout.
+
2017-04-27 Zalan Bujtas <za...@apple.com>
Text gets cut off when bailing out of simple line layout with widows.
Modified: releases/WebKitGTK/webkit-2.16/Source/WebCore/page/FrameView.cpp (216390 => 216391)
--- releases/WebKitGTK/webkit-2.16/Source/WebCore/page/FrameView.cpp 2017-05-08 12:30:25 UTC (rev 216390)
+++ releases/WebKitGTK/webkit-2.16/Source/WebCore/page/FrameView.cpp 2017-05-08 12:32:45 UTC (rev 216391)
@@ -3713,6 +3713,9 @@
setScrollbarModes(horizonalScrollbarMode, verticalScrollbarMode, true, true);
}
+ // All the resizing above may have invalidated style (for example if viewport units are being used).
+ document->updateStyleIfNeeded();
+
m_autoSizeContentSize = contentsSize();
if (m_autoSizeFixedMinimumHeight) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes