Title: [252610] branches/safari-608-branch
- Revision
- 252610
- Author
- [email protected]
- Date
- 2019-11-18 17:12:42 -0800 (Mon, 18 Nov 2019)
Log Message
Cherry-pick r251680. rdar://problem/57283563
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251680 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Added Paths
Diff
Modified: branches/safari-608-branch/LayoutTests/ChangeLog (252609 => 252610)
--- branches/safari-608-branch/LayoutTests/ChangeLog 2019-11-19 01:12:00 UTC (rev 252609)
+++ branches/safari-608-branch/LayoutTests/ChangeLog 2019-11-19 01:12:42 UTC (rev 252610)
@@ -1,3 +1,44 @@
+2019-11-18 Alan Coon <[email protected]>
+
+ Cherry-pick r251680. rdar://problem/57283563
+
+ 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.
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251680 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 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-11-04 Alan Coon <[email protected]>
Cherry-pick r251957. rdar://problem/56887511
Added: branches/safari-608-branch/LayoutTests/fast/frames/hidden-frameset-expected.txt (0 => 252610)
--- branches/safari-608-branch/LayoutTests/fast/frames/hidden-frameset-expected.txt (rev 0)
+++ branches/safari-608-branch/LayoutTests/fast/frames/hidden-frameset-expected.txt 2019-11-19 01:12:42 UTC (rev 252610)
@@ -0,0 +1 @@
+
Added: branches/safari-608-branch/LayoutTests/fast/frames/hidden-frameset.html (0 => 252610)
--- branches/safari-608-branch/LayoutTests/fast/frames/hidden-frameset.html (rev 0)
+++ branches/safari-608-branch/LayoutTests/fast/frames/hidden-frameset.html 2019-11-19 01:12:42 UTC (rev 252610)
@@ -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: branches/safari-608-branch/Source/WebCore/ChangeLog (252609 => 252610)
--- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-11-19 01:12:00 UTC (rev 252609)
+++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-11-19 01:12:42 UTC (rev 252610)
@@ -1,3 +1,51 @@
+2019-11-18 Alan Coon <[email protected]>
+
+ Cherry-pick r251680. rdar://problem/57283563
+
+ 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.
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251680 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 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-11-15 Alan Coon <[email protected]>
Cherry-pick r252297. rdar://problem/57058406
Modified: branches/safari-608-branch/Source/WebCore/rendering/RenderFrameSet.cpp (252609 => 252610)
--- branches/safari-608-branch/Source/WebCore/rendering/RenderFrameSet.cpp 2019-11-19 01:12:00 UTC (rev 252609)
+++ branches/safari-608-branch/Source/WebCore/rendering/RenderFrameSet.cpp 2019-11-19 01:12:42 UTC (rev 252610)
@@ -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