Title: [236288] trunk
Revision
236288
Author
[email protected]
Date
2018-09-20 15:27:28 -0700 (Thu, 20 Sep 2018)

Log Message

Release assert under RenderView::pageOrViewLogicalHeight
https://bugs.webkit.org/show_bug.cgi?id=189798
<rdar://problem/43659749>

Reviewed by Simon Fraser.

Source/WebCore:

Only the mainframe's render view is sized to the page while printing.
Use the matching check (see RenderView::layout) when accessing m_pageLogicalSize.

Test: printing/crash-while-formatting-subframe-for-printing.html

* rendering/RenderView.cpp:
(WebCore::RenderView::pageOrViewLogicalHeight const):

LayoutTests:

* printing/crash-while-formatting-subframe-for-printing-expected.txt: Added.
* printing/crash-while-formatting-subframe-for-printing.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (236287 => 236288)


--- trunk/LayoutTests/ChangeLog	2018-09-20 22:23:05 UTC (rev 236287)
+++ trunk/LayoutTests/ChangeLog	2018-09-20 22:27:28 UTC (rev 236288)
@@ -1,3 +1,14 @@
+2018-09-20  Zalan Bujtas  <[email protected]>
+
+        Release assert under RenderView::pageOrViewLogicalHeight
+        https://bugs.webkit.org/show_bug.cgi?id=189798
+        <rdar://problem/43659749>
+
+        Reviewed by Simon Fraser.
+
+        * printing/crash-while-formatting-subframe-for-printing-expected.txt: Added.
+        * printing/crash-while-formatting-subframe-for-printing.html: Added.
+
 2018-09-20  Sihui Liu  <[email protected]>
 
         REGRESSION(r196265): WKWebView fires mouseover, mouseenter, and mouseleave events even when it's in a background window

Added: trunk/LayoutTests/printing/crash-while-formatting-subframe-for-printing-expected.txt (0 => 236288)


--- trunk/LayoutTests/printing/crash-while-formatting-subframe-for-printing-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/printing/crash-while-formatting-subframe-for-printing-expected.txt	2018-09-20 22:27:28 UTC (rev 236288)
@@ -0,0 +1 @@
+

Added: trunk/LayoutTests/printing/crash-while-formatting-subframe-for-printing.html (0 => 236288)


--- trunk/LayoutTests/printing/crash-while-formatting-subframe-for-printing.html	                        (rev 0)
+++ trunk/LayoutTests/printing/crash-while-formatting-subframe-for-printing.html	2018-09-20 22:27:28 UTC (rev 236288)
@@ -0,0 +1,17 @@
+<title>Unfortunately not 100% repro.</title>
+<body _onload_="runTests()">
+    <div id="foobar">
+        <iframe style="width: 90%" src="" style='width: 80%'>PASS if no crash</body>"></iframe>
+    </div>
+</body>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+
+function runTests() {
+    setTimeout(function() {
+        foobar.style.width = "400px";
+    }, 0);
+    window.print();
+}
+</script>

Modified: trunk/Source/WebCore/ChangeLog (236287 => 236288)


--- trunk/Source/WebCore/ChangeLog	2018-09-20 22:23:05 UTC (rev 236287)
+++ trunk/Source/WebCore/ChangeLog	2018-09-20 22:27:28 UTC (rev 236288)
@@ -1,3 +1,19 @@
+2018-09-20  Zalan Bujtas  <[email protected]>
+
+        Release assert under RenderView::pageOrViewLogicalHeight
+        https://bugs.webkit.org/show_bug.cgi?id=189798
+        <rdar://problem/43659749>
+
+        Reviewed by Simon Fraser.
+
+        Only the mainframe's render view is sized to the page while printing.
+        Use the matching check (see RenderView::layout) when accessing m_pageLogicalSize.
+
+        Test: printing/crash-while-formatting-subframe-for-printing.html
+
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::pageOrViewLogicalHeight const):
+
 2018-09-20  Sihui Liu  <[email protected]>
 
         REGRESSION(r196265): WKWebView fires mouseover, mouseenter, and mouseleave events even when it's in a background window

Modified: trunk/Source/WebCore/rendering/RenderView.cpp (236287 => 236288)


--- trunk/Source/WebCore/rendering/RenderView.cpp	2018-09-20 22:23:05 UTC (rev 236287)
+++ trunk/Source/WebCore/rendering/RenderView.cpp	2018-09-20 22:27:28 UTC (rev 236288)
@@ -248,7 +248,7 @@
 
 LayoutUnit RenderView::pageOrViewLogicalHeight() const
 {
-    if (document().printing())
+    if (shouldUsePrintingLayout())
         return m_pageLogicalSize->height();
     
     if (multiColumnFlow() && !style().hasInlineColumnAxis()) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to