diff options
author | Pierre Rossi <pierre.rossi@digia.com> | 2013-10-22 16:30:45 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-24 19:58:15 +0200 |
commit | c2221ea4b3666b98a8817eea2fc8e37d84f05c2d (patch) | |
tree | cfde1a1ae4ac1bfdf9b2f0b972cd9e3dd0bb7748 /lib/widgets | |
parent | 7904082dbaf2841f3263134c8d1290d33159a6b0 (diff) |
Pass popup geometry along for new window creation
Change-Id: Ideefbf272d0affa3f53c5795b779f1bfc9c9bf70
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Diffstat (limited to 'lib/widgets')
-rw-r--r-- | lib/widgets/Api/qwebenginepage.cpp | 4 | ||||
-rw-r--r-- | lib/widgets/Api/qwebenginepage_p.h | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/widgets/Api/qwebenginepage.cpp b/lib/widgets/Api/qwebenginepage.cpp index ba671cb84..a29229576 100644 --- a/lib/widgets/Api/qwebenginepage.cpp +++ b/lib/widgets/Api/qwebenginepage.cpp @@ -116,7 +116,7 @@ void QWebEnginePagePrivate::focusContainer() view->setFocus(); } -void QWebEnginePagePrivate::adoptNewWindow(WebContentsAdapter *newWebContents, WindowOpenDisposition disposition) +void QWebEnginePagePrivate::adoptNewWindow(WebContentsAdapter *newWebContents, WindowOpenDisposition disposition, const QRect &initialGeometry) { Q_Q(QWebEnginePage); QWebEnginePage *newPage = q->createWindow(disposition == WebContentsAdapterClient::NewPopupDisposition ? QWebEnginePage::WebModalDialog : QWebEnginePage::WebBrowserWindow); @@ -124,6 +124,8 @@ void QWebEnginePagePrivate::adoptNewWindow(WebContentsAdapter *newWebContents, W if (newPage) { newPage->d_func()->adapter = newWebContents; newWebContents->initialize(newPage->d_func()); + if (!initialGeometry.isEmpty()) + emit newPage->geometryChangeRequested(initialGeometry); } } diff --git a/lib/widgets/Api/qwebenginepage_p.h b/lib/widgets/Api/qwebenginepage_p.h index b79a0da2e..89534b20d 100644 --- a/lib/widgets/Api/qwebenginepage_p.h +++ b/lib/widgets/Api/qwebenginepage_p.h @@ -73,7 +73,7 @@ public: virtual QRectF viewportRect() const Q_DECL_OVERRIDE; virtual void loadFinished(bool success) Q_DECL_OVERRIDE; virtual void focusContainer() Q_DECL_OVERRIDE; - virtual void adoptNewWindow(WebContentsAdapter *newWebContents, WindowOpenDisposition disposition) Q_DECL_OVERRIDE; + virtual void adoptNewWindow(WebContentsAdapter *newWebContents, WindowOpenDisposition disposition, const QRect &initialGeometry) Q_DECL_OVERRIDE; virtual void close() Q_DECL_OVERRIDE; virtual bool contextMenuRequested(const WebEngineContextMenuData &data) Q_DECL_OVERRIDE; virtual bool javascriptDialog(JavascriptDialogType type, const QString &message, const QString &defaultValue = QString(), QString *result = 0) Q_DECL_OVERRIDE; |