Title: [98579] trunk/Source/WebKit2
Revision
98579
Author
commit-qu...@webkit.org
Date
2011-10-27 08:19:22 -0700 (Thu, 27 Oct 2011)

Log Message

[Qt][WK2]Add setViewportSize API to WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=71006

Patch by Zalan Bujtas <zbuj...@gmail.com> on 2011-10-27
Reviewed by Kenneth Rohde Christiansen.

Fixed layout rendering needs the viewport size information on the WebProcess
side to be able to do viewport attribute calculations.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setViewportSize):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::viewportSize):
* WebProcess/WebPage/WebPage.messages.in:

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (98578 => 98579)


--- trunk/Source/WebKit2/ChangeLog	2011-10-27 15:14:55 UTC (rev 98578)
+++ trunk/Source/WebKit2/ChangeLog	2011-10-27 15:19:22 UTC (rev 98579)
@@ -1,3 +1,19 @@
+2011-10-27  Zalan Bujtas  <zbuj...@gmail.com>
+
+        [Qt][WK2]Add setViewportSize API to WebKit2.
+        https://bugs.webkit.org/show_bug.cgi?id=71006
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Fixed layout rendering needs the viewport size information on the WebProcess
+        side to be able to do viewport attribute calculations.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::setViewportSize):
+        * WebProcess/WebPage/WebPage.h:
+        (WebKit::WebPage::viewportSize):
+        * WebProcess/WebPage/WebPage.messages.in:
+
 2011-10-27  Alexis Menard  <alexis.men...@openbossa.org>
 
         [Qt][WK2] Move the C API callback setup out of QtWebPageProxy

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (98578 => 98579)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2011-10-27 15:14:55 UTC (rev 98578)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2011-10-27 15:19:22 UTC (rev 98579)
@@ -738,6 +738,20 @@
     view->resize(m_viewSize);
     view->setNeedsLayout();
 }
+
+void WebPage::setViewportSize(const IntSize& size)
+{
+    if (m_viewportSize == size)
+        return;
+
+     m_viewportSize = size;
+
+    // Recalculate the recommended layout size, when the available size (device pixel) changes.
+    Settings* settings = m_page->settings();
+    IntSize targetLayoutSize = computeViewportAttributes(m_page->viewportArguments(), settings->layoutFallbackWidth(), settings->deviceWidth(), settings->deviceHeight(), settings->deviceDPI(), size).layoutSize;
+    setResizesToContentsUsingLayoutSize(targetLayoutSize);
+}
+
 #endif
 
 void WebPage::scrollMainFrameIfNotAtMaxScrollPosition(const IntSize& scrollOffset)

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (98578 => 98579)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h	2011-10-27 15:14:55 UTC (rev 98578)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h	2011-10-27 15:19:22 UTC (rev 98579)
@@ -308,8 +308,10 @@
 #if USE(TILED_BACKING_STORE)
     void pageDidRequestScroll(const WebCore::IntPoint&);
     void setFixedVisibleContentRect(const WebCore::IntRect&);
-    void setResizesToContentsUsingLayoutSize(const WebCore::IntSize& targetLayoutSize);
+    void setResizesToContentsUsingLayoutSize(const WebCore::IntSize&);
     void resizeToContentsIfNeeded();
+    void setViewportSize(const WebCore::IntSize&);
+    WebCore::IntSize viewportSize() const { return m_viewportSize; }
 #endif
 
     WebContextMenu* contextMenu();
@@ -658,6 +660,7 @@
 
 #if USE(TILED_BACKING_STORE)
     WebCore::IntSize m_resizesToContentsLayoutSize;
+    WebCore::IntSize m_viewportSize;
 #endif
 
     FindController m_findController;

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (98578 => 98579)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in	2011-10-27 15:14:55 UTC (rev 98578)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in	2011-10-27 15:19:22 UTC (rev 98579)
@@ -98,6 +98,7 @@
 #if USE(TILED_BACKING_STORE)
     SetFixedVisibleContentRect(WebCore::IntRect rect)
     SetResizesToContentsUsingLayoutSize(WebCore::IntSize size)
+    SetViewportSize(WebCore::IntSize size)
 #endif
 
     Close()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to