REGRESSION (r219121): Airmail 3 prints header part only.
authorantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 7 Aug 2017 13:14:18 +0000 (13:14 +0000)
committerantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 7 Aug 2017 13:14:18 +0000 (13:14 +0000)
https://bugs.webkit.org/show_bug.cgi?id=175258
<rdar://problem/33601173>

Reviewed by Andreas Kling.

When a WK1 WebViw is printed via AppKit view hierarchy it won't explictly set the page width
but uses the existing width. r219121 assumes that all printing code paths set the page width.

No test, there appears to be no good way to test AppKit printing behaviors without adding complicated
new testing infrastructure.

* rendering/RenderView.cpp:
(WebCore::RenderView::layout):

    If we are in printing layout and don't have page width set yet then use the current view width.
    This matches the behavior prior r219121.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220333 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderView.cpp

index 579e4d0..fde91d1 100644 (file)
@@ -1,3 +1,23 @@
+2017-08-07  Antti Koivisto  <antti@apple.com>
+
+        REGRESSION (r219121): Airmail 3 prints header part only.
+        https://bugs.webkit.org/show_bug.cgi?id=175258
+        <rdar://problem/33601173>
+
+        Reviewed by Andreas Kling.
+
+        When a WK1 WebViw is printed via AppKit view hierarchy it won't explictly set the page width
+        but uses the existing width. r219121 assumes that all printing code paths set the page width.
+
+        No test, there appears to be no good way to test AppKit printing behaviors without adding complicated
+        new testing infrastructure.
+
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::layout):
+
+            If we are in printing layout and don't have page width set yet then use the current view width.
+            This matches the behavior prior r219121.
+
 2017-08-05  Youenn Fablet  <youenn@apple.com>
 
         [Fetch API] Response should keep all ResourceResponse information
index e4ee163..3f327fb 100644 (file)
@@ -341,7 +341,8 @@ void RenderView::layout()
         m_pageLogicalSize = { };
 
     if (shouldUsePrintingLayout()) {
-        ASSERT(m_pageLogicalSize);
+        if (!m_pageLogicalSize)
+            m_pageLogicalSize = LayoutSize(logicalWidth(), 0);
         m_minPreferredLogicalWidth = m_pageLogicalSize->width();
         m_maxPreferredLogicalWidth = m_minPreferredLogicalWidth;
     }