Title: [135283] trunk/Source/WebKit2
Revision
135283
Author
allan.jen...@digia.com
Date
2012-11-20 08:20:52 -0800 (Tue, 20 Nov 2012)

Log Message

[Qt] PageViewportControllerClient::didChangeViewportAttributes called twice
https://bugs.webkit.org/show_bug.cgi?id=102790

Reviewed by Kenneth Rohde Christiansen.

Change updateMinimumScaleToFit to no longer call PageViewportControllerClient::didChangeViewportAttributes,
but instead return whether it has changed the minimumScaleToFit.

* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/PageViewportController.h:
(PageViewportController):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (135282 => 135283)


--- trunk/Source/WebKit2/ChangeLog	2012-11-20 16:10:18 UTC (rev 135282)
+++ trunk/Source/WebKit2/ChangeLog	2012-11-20 16:20:52 UTC (rev 135283)
@@ -1,5 +1,21 @@
 2012-11-20  Allan Sandfeld Jensen  <allan.jen...@digia.com>
 
+        [Qt] PageViewportControllerClient::didChangeViewportAttributes called twice
+        https://bugs.webkit.org/show_bug.cgi?id=102790
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Change updateMinimumScaleToFit to no longer call PageViewportControllerClient::didChangeViewportAttributes,
+        but instead return whether it has changed the minimumScaleToFit.
+
+        * UIProcess/PageViewportController.cpp:
+        (WebKit::PageViewportController::didChangeContentsSize):
+        (WebKit::PageViewportController::updateMinimumScaleToFit):
+        * UIProcess/PageViewportController.h:
+        (PageViewportController):
+
+2012-11-20  Allan Sandfeld Jensen  <allan.jen...@digia.com>
+
         [Qt] No test of double-click to zoom out
         https://bugs.webkit.org/show_bug.cgi?id=102810
 

Modified: trunk/Source/WebKit2/UIProcess/PageViewportController.cpp (135282 => 135283)


--- trunk/Source/WebKit2/UIProcess/PageViewportController.cpp	2012-11-20 16:10:18 UTC (rev 135282)
+++ trunk/Source/WebKit2/UIProcess/PageViewportController.cpp	2012-11-20 16:20:52 UTC (rev 135283)
@@ -105,7 +105,8 @@
 void PageViewportController::didChangeContentsSize(const IntSize& newSize)
 {
     m_contentsSize = newSize;
-    updateMinimumScaleToFit();
+    if (updateMinimumScaleToFit())
+        m_client->didChangeViewportAttributes();
 }
 
 void PageViewportController::didRenderFrame(const IntSize& contentsSize, const IntRect& coveredRect)
@@ -259,10 +260,10 @@
     syncVisibleContents();
 }
 
-void PageViewportController::updateMinimumScaleToFit()
+bool PageViewportController::updateMinimumScaleToFit()
 {
     if (m_viewportSize.isEmpty())
-        return;
+        return false;
 
     float minimumScale = WebCore::computeMinimumScaleFactorForContentContained(m_rawAttributes, WebCore::roundedIntSize(m_viewportSize), WebCore::roundedIntSize(m_contentsSize), devicePixelRatio());
 
@@ -272,8 +273,9 @@
         if (!m_hadUserInteraction && !hasSuspendedContent())
             applyScaleAfterRenderingContents(toViewportScale(minimumScale));
 
-        m_client->didChangeViewportAttributes();
+        return true;
     }
+    return false;
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/UIProcess/PageViewportController.h (135282 => 135283)


--- trunk/Source/WebKit2/UIProcess/PageViewportController.h	2012-11-20 16:10:18 UTC (rev 135282)
+++ trunk/Source/WebKit2/UIProcess/PageViewportController.h	2012-11-20 16:20:52 UTC (rev 135283)
@@ -84,7 +84,7 @@
     void syncVisibleContents(const WebCore::FloatPoint &trajectoryVector = WebCore::FloatPoint::zero());
     void applyScaleAfterRenderingContents(float scale);
     void applyPositionAfterRenderingContents(const WebCore::FloatPoint& pos);
-    void updateMinimumScaleToFit();
+    bool updateMinimumScaleToFit();
     WebCore::FloatSize viewportSizeInContentsCoordinates() const;
 
     WebPageProxy* const m_webPageProxy;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to