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