From a4eec4118333b59d10fd6cc9f126b1af2e8f505c Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Wed, 25 Jan 2017 18:10:04 +0100 Subject: Use frameGeometry() to determine the outerWidth/Height of the window Change-Id: Ie6ca8f40a7512e37e0b2efc94706242c9f323686 Reviewed-by: Konstantin Tokarev --- Source/WebKit/qt/WidgetSupport/PageClientQt.cpp | 2 +- Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp b/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp index 858290f6e..2dd14afc6 100644 --- a/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp +++ b/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp @@ -146,7 +146,7 @@ QStyle* PageClientQWidget::style() const QRectF PageClientQWidget::windowRect() const { - return QRectF(view->window()->geometry()); + return QRectF(view->window()->frameGeometry()); } void PageClientQWidget::setWidgetVisible(Widget* widget, bool visible) diff --git a/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp b/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp index a990ad0f2..dcea15912 100644 --- a/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp +++ b/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp @@ -59,6 +59,7 @@ private Q_SLOTS: void setPalette_data(); void setPalette(); #endif + void innerOuterRect(); }; // This will be called before the first test function is executed. @@ -518,6 +519,28 @@ void tst_QWebView::renderingAfterMaxAndBack() QCOMPARE(image3, reference3); } +void tst_QWebView::innerOuterRect() +{ + QUrl url = QUrl("data:text/html," + "" + "" + ""); + QWebView view; + view.page()->mainFrame()->load(url); + QVERIFY(waitForSignal(&view, SIGNAL(loadFinished(bool)))); + view.showMaximized(); + const QRect frameGeometry = view.frameGeometry(); + const QRect geometry = view.geometry(); + QVariant outerWidth = view.page()->mainFrame()->evaluateJavaScript("window.outerWidth;"); + QCOMPARE(outerWidth.toInt(), frameGeometry.width()); + QVariant innerWidth = view.page()->mainFrame()->evaluateJavaScript("window.innerWidth;"); + QCOMPARE(innerWidth.toInt(), geometry.width()); + QVariant outerHeight = view.page()->mainFrame()->evaluateJavaScript("window.outerHeight;"); + QCOMPARE(outerHeight.toInt(), frameGeometry.height()); + QVariant innerHeight = view.page()->mainFrame()->evaluateJavaScript("window.innerHeight;"); + QCOMPARE(innerHeight.toInt(), geometry.height()); +} + QTEST_MAIN(tst_QWebView) #include "tst_qwebview.moc" -- cgit v1.2.1