Add logging for TiledCoreAnimationDrawingArea resizing
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Jul 2015 20:59:49 +0000 (20:59 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Jul 2015 20:59:49 +0000 (20:59 +0000)
https://bugs.webkit.org/show_bug.cgi?id=147180

Reviewed by Tim Horton.

Add a "Resize" log channel for WebKit2, and use it to log data in scaleViewToFitDocumentIfNeeded().

* Platform/Logging.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):

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

Source/WebKit2/ChangeLog
Source/WebKit2/Platform/Logging.h
Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm

index 6f725c6..9544caa 100644 (file)
@@ -1,3 +1,16 @@
+2015-07-21  Simon Fraser  <simon.fraser@apple.com>
+
+        Add logging for TiledCoreAnimationDrawingArea resizing
+        https://bugs.webkit.org/show_bug.cgi?id=147180
+
+        Reviewed by Tim Horton.
+
+        Add a "Resize" log channel for WebKit2, and use it to log data in scaleViewToFitDocumentIfNeeded().
+
+        * Platform/Logging.h:
+        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
+        (WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
+
 2015-07-22  Sam Weinig  <sam@webkit.org>
 
         Encode/Decode underlying errors when serializing NSErrors
index 909b078..ce13190 100644 (file)
@@ -50,6 +50,7 @@ namespace WebKit {
     M(Plugins) \
     M(Printing) \
     M(RemoteLayerTree) \
+    M(Resize) \
     M(SessionState) \
     M(StorageAPI) \
     M(TextInput) \
index 17598d8..cef63bb 100644 (file)
@@ -32,6 +32,7 @@
 #import "DrawingAreaProxyMessages.h"
 #import "LayerHostingContext.h"
 #import "LayerTreeContext.h"
+#import "Logging.h"
 #import "ViewGestureControllerMessages.h"
 #import "WebFrame.h"
 #import "WebPage.h"
@@ -280,6 +281,7 @@ void TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded()
     if (!m_shouldScaleViewToFitDocument)
         return;
 
+    LOG(Resize, "TiledCoreAnimationDrawingArea %p scaleViewToFitDocumentIfNeeded", this);
     m_webPage.layoutIfNeeded();
 
     int viewWidth = m_webPage.size().width();
@@ -288,6 +290,8 @@ void TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded()
     bool documentWidthChanged = m_lastDocumentSizeForScaleToFit.width() != documentWidth;
     bool viewWidthChanged = m_lastViewSizeForScaleToFit.width() != viewWidth;
 
+    LOG(Resize, "  documentWidthChanged=%d, viewWidthChanged=%d", documentWidthChanged, viewWidthChanged);
+
     if (!documentWidthChanged && !viewWidthChanged)
         return;
 
@@ -307,9 +311,14 @@ void TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded()
         IntSize fixedLayoutSize(documentWidth, std::ceil((m_webPage.size().height() - m_webPage.corePage()->topContentInset()) / viewScale));
         m_webPage.setFixedLayoutSize(fixedLayoutSize);
         m_webPage.scaleView(viewScale);
+
+        LOG(Resize, "  using fixed layout at %dx%d. document width %d unchanged, scaled to %.4f to fit view width %d", fixedLayoutSize.width(), fixedLayoutSize.height(), documentWidth, viewScale, viewWidth);
         return;
     }
 
+
+    LOG(Resize, "  doing unconstrained layout");
+
     // Lay out at the view size.
     m_webPage.setUseFixedLayout(false);
     m_webPage.layoutIfNeeded();
@@ -322,6 +331,8 @@ void TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded()
 
     float viewScale = 1;
 
+    LOG(Resize, "  unscaled document size %dx%d. need to scale down: %d", documentSize.width(), documentSize.height(), documentWidth && documentWidth < maximumDocumentWidthForScaling && viewWidth < documentWidth);
+
     // Avoid scaling down documents that don't fit in a certain width, to allow
     // sites that want horizontal scrollbars to continue to have them.
     if (documentWidth && documentWidth < maximumDocumentWidthForScaling && viewWidth < documentWidth) {
@@ -335,6 +346,8 @@ void TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded()
         }
         IntSize fixedLayoutSize(documentWidth, std::ceil((m_webPage.size().height() - m_webPage.corePage()->topContentInset()) / viewScale));
         m_webPage.setFixedLayoutSize(fixedLayoutSize);
+
+        LOG(Resize, "  using fixed layout at %dx%d. document width %d, scaled to %.4f to fit view width %d", fixedLayoutSize.width(), fixedLayoutSize.height(), documentWidth, viewScale, viewWidth);
     }
 
     m_webPage.scaleView(viewScale);