Title: [254903] releases/WebKitGTK/webkit-2.26
- Revision
- 254903
- Author
- [email protected]
- Date
- 2020-01-22 02:19:34 -0800 (Wed, 22 Jan 2020)
Log Message
Merge r251680 - Hidden framesets should provide default edgeInfo value
https://bugs.webkit.org/show_bug.cgi?id=203506
<rdar://problem/56233726>
Reviewed by Simon Fraser.
Source/WebCore:
The grid information (and certain associated structures e.g. edegeInfo) for a frameset is updated through the layout() call.
When the used height/width computes to zero on a frameset child (frame or nested frameset), we don't run layout on the renderer thus
hidden nested framesets can only provide the default edge info.
This patch changes this behaviour and we now call layout on those hidden renderers the same way we do it on iOS.
Test: fast/frames/hidden-frameset.html
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::edgeInfo const):
LayoutTests:
* fast/frames/hidden-frameset-expected.txt: Added.
* fast/frames/hidden-frameset.html: Added.
Modified Paths
Added Paths
Diff
Modified: releases/WebKitGTK/webkit-2.26/LayoutTests/ChangeLog (254902 => 254903)
--- releases/WebKitGTK/webkit-2.26/LayoutTests/ChangeLog 2020-01-22 10:19:29 UTC (rev 254902)
+++ releases/WebKitGTK/webkit-2.26/LayoutTests/ChangeLog 2020-01-22 10:19:34 UTC (rev 254903)
@@ -1,3 +1,14 @@
+2019-10-28 Zalan Bujtas <[email protected]>
+
+ Hidden framesets should provide default edgeInfo value
+ https://bugs.webkit.org/show_bug.cgi?id=203506
+ <rdar://problem/56233726>
+
+ Reviewed by Simon Fraser.
+
+ * fast/frames/hidden-frameset-expected.txt: Added.
+ * fast/frames/hidden-frameset.html: Added.
+
2019-09-28 Said Abou-Hallawa <[email protected]>
Crash when removing the target element while animating its attributes
Added: releases/WebKitGTK/webkit-2.26/LayoutTests/fast/frames/hidden-frameset-expected.txt (0 => 254903)
--- releases/WebKitGTK/webkit-2.26/LayoutTests/fast/frames/hidden-frameset-expected.txt (rev 0)
+++ releases/WebKitGTK/webkit-2.26/LayoutTests/fast/frames/hidden-frameset-expected.txt 2020-01-22 10:19:34 UTC (rev 254903)
@@ -0,0 +1 @@
+
Added: releases/WebKitGTK/webkit-2.26/LayoutTests/fast/frames/hidden-frameset.html (0 => 254903)
--- releases/WebKitGTK/webkit-2.26/LayoutTests/fast/frames/hidden-frameset.html (rev 0)
+++ releases/WebKitGTK/webkit-2.26/LayoutTests/fast/frames/hidden-frameset.html 2020-01-22 10:19:34 UTC (rev 254903)
@@ -0,0 +1,18 @@
+<script>
+ if (window.testRunner)
+ testRunner.dumpAsText();
+ _onload_ = ()=> {
+ // Force layout first.
+ document.documentElement.offsetTop;
+
+ // Then expand the root frameset grid from 2x1 to 2x2.
+ document.getElementById("rootSet").setAttribute("rows", "*, 0");
+ }
+</script>
+<frameset id="rootSet" cols="0, *">
+ <frame id="firstChild"></frame>
+ <frame src="" PASS if no crash or assertion failure."></frame>
+ <frameset>
+ <frame src=""
+ </frameset>
+</frameset>
Modified: releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog (254902 => 254903)
--- releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog 2020-01-22 10:19:29 UTC (rev 254902)
+++ releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog 2020-01-22 10:19:34 UTC (rev 254903)
@@ -1,3 +1,21 @@
+2019-10-28 Zalan Bujtas <[email protected]>
+
+ Hidden framesets should provide default edgeInfo value
+ https://bugs.webkit.org/show_bug.cgi?id=203506
+ <rdar://problem/56233726>
+
+ Reviewed by Simon Fraser.
+
+ The grid information (and certain associated structures e.g. edegeInfo) for a frameset is updated through the layout() call.
+ When the used height/width computes to zero on a frameset child (frame or nested frameset), we don't run layout on the renderer thus
+ hidden nested framesets can only provide the default edge info.
+ This patch changes this behaviour and we now call layout on those hidden renderers the same way we do it on iOS.
+
+ Test: fast/frames/hidden-frameset.html
+
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::edgeInfo const):
+
2019-10-04 Heiko Becker <[email protected]>
Fix build with icu 65.1
Modified: releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/RenderFrameSet.cpp (254902 => 254903)
--- releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/RenderFrameSet.cpp 2020-01-22 10:19:29 UTC (rev 254902)
+++ releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/RenderFrameSet.cpp 2020-01-22 10:19:34 UTC (rev 254903)
@@ -525,17 +525,15 @@
int width = m_cols.m_sizes[c];
// has to be resized and itself resize its contents
- if (width != child->width() || height != child->height()) {
- child->setWidth(width);
- child->setHeight(height);
+ child->setWidth(width);
+ child->setHeight(height);
#if PLATFORM(IOS_FAMILY)
- // FIXME: Is this iOS-specific?
- child->setNeedsLayout(MarkOnlyThis);
+ // FIXME: Is this iOS-specific?
+ child->setNeedsLayout(MarkOnlyThis);
#else
- child->setNeedsLayout();
+ child->setNeedsLayout();
#endif
- child->layout();
- }
+ child->layout();
xPos += width + borderThickness;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes