summaryrefslogtreecommitdiffstats
path: root/src/webengine
diff options
context:
space:
mode:
Diffstat (limited to 'src/webengine')
-rw-r--r--src/webengine/api/qquickwebengineview.cpp10
-rw-r--r--src/webengine/api/qquickwebengineview_p_p.h1
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp20
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quickwindow.h5
4 files changed, 18 insertions, 18 deletions
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index ac19de15d..587d3aa9f 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -133,7 +133,7 @@ RenderWidgetHostViewQtDelegate *QQuickWebEngineViewPrivate::CreateRenderWidgetHo
if (mode == HardwareAccelerationMode) {
RenderWidgetHostViewQtDelegateQuick *quickDelegate = new RenderWidgetHostViewQtDelegateQuick(client, /*isPopup = */true);
if (hasWindowCapability) {
- RenderWidgetHostViewQtDelegateQuickWindow *wrapperWindow = new RenderWidgetHostViewQtDelegateQuickWindow(quickDelegate, q);
+ RenderWidgetHostViewQtDelegateQuickWindow *wrapperWindow = new RenderWidgetHostViewQtDelegateQuickWindow(quickDelegate);
quickDelegate->setParentItem(wrapperWindow->contentItem());
return wrapperWindow;
}
@@ -142,7 +142,7 @@ RenderWidgetHostViewQtDelegate *QQuickWebEngineViewPrivate::CreateRenderWidgetHo
}
RenderWidgetHostViewQtDelegateQuickPainted *paintedDelegate = new RenderWidgetHostViewQtDelegateQuickPainted(client, /*isPopup = */true);
if (hasWindowCapability) {
- RenderWidgetHostViewQtDelegateQuickWindow *wrapperWindow = new RenderWidgetHostViewQtDelegateQuickWindow(paintedDelegate, q);
+ RenderWidgetHostViewQtDelegateQuickWindow *wrapperWindow = new RenderWidgetHostViewQtDelegateQuickWindow(paintedDelegate);
paintedDelegate->setParentItem(wrapperWindow->contentItem());
return wrapperWindow;
}
@@ -252,6 +252,12 @@ QRectF QQuickWebEngineViewPrivate::viewportRect() const
return QRectF(q->x(), q->y(), q->width(), q->height());
}
+QPoint QQuickWebEngineViewPrivate::mapToGlobal(const QPoint &posInView) const
+{
+ Q_Q(const QQuickWebEngineView);
+ return q->window() ? q->window()->mapToGlobal(posInView) : QPoint();
+}
+
qreal QQuickWebEngineViewPrivate::dpiScale() const
{
return m_dpiScale;
diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h
index be5318af4..cf9d58e68 100644
--- a/src/webengine/api/qquickwebengineview_p_p.h
+++ b/src/webengine/api/qquickwebengineview_p_p.h
@@ -133,6 +133,7 @@ public:
virtual void loadProgressChanged(int progress) Q_DECL_OVERRIDE;
virtual void selectionChanged() Q_DECL_OVERRIDE { }
virtual QRectF viewportRect() const Q_DECL_OVERRIDE;
+ virtual QPoint mapToGlobal(const QPoint &posInView) const Q_DECL_OVERRIDE;
virtual qreal dpiScale() const Q_DECL_OVERRIDE;
virtual void loadStarted(const QUrl &provisionalUrl) Q_DECL_OVERRIDE;
virtual void loadCommitted() Q_DECL_OVERRIDE;
diff --git a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp
index b1f2d7cea..7bf19d17a 100644
--- a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp
+++ b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp
@@ -44,9 +44,8 @@
#include <QQuickItem>
-RenderWidgetHostViewQtDelegateQuickWindow::RenderWidgetHostViewQtDelegateQuickWindow(RenderWidgetHostViewQtDelegate *realDelegate, QQuickItem *parent)
+RenderWidgetHostViewQtDelegateQuickWindow::RenderWidgetHostViewQtDelegateQuickWindow(RenderWidgetHostViewQtDelegate *realDelegate)
: m_realDelegate(realDelegate)
- , m_parentView(parent)
{
setFlags(Qt::ToolTip | Qt::FramelessWindowHint | Qt::WindowDoesNotAcceptFocus);
}
@@ -62,13 +61,10 @@ void RenderWidgetHostViewQtDelegateQuickWindow::initAsChild(WebContentsAdapterCl
Q_UNREACHABLE();
}
-void RenderWidgetHostViewQtDelegateQuickWindow::initAsPopup(const QRect &rect)
+void RenderWidgetHostViewQtDelegateQuickWindow::initAsPopup(const QRect &screenRect)
{
- Q_ASSERT(m_parentView);
- QPoint pos = m_parentView->window()->mapToGlobal(rect.topLeft());
- QRect geometry = QRect(pos, rect.size());
- m_realDelegate->initAsPopup(QRect(QPoint(0, 0), rect.size()));
- setGeometry(geometry);
+ m_realDelegate->initAsPopup(QRect(QPoint(0, 0), screenRect.size()));
+ setGeometry(screenRect);
raise();
show();
}
@@ -95,7 +91,7 @@ bool RenderWidgetHostViewQtDelegateQuickWindow::isVisible() const
QWindow *RenderWidgetHostViewQtDelegateQuickWindow::window() const
{
- return m_parentView->window();
+ return const_cast<RenderWidgetHostViewQtDelegateQuickWindow*>(this);
}
void RenderWidgetHostViewQtDelegateQuickWindow::update(const QRect &rect)
@@ -116,11 +112,9 @@ void RenderWidgetHostViewQtDelegateQuickWindow::resize(int width, int height)
m_realDelegate->resize(width, height);
}
-void RenderWidgetHostViewQtDelegateQuickWindow::move(const QPoint &pos)
+void RenderWidgetHostViewQtDelegateQuickWindow::move(const QPoint &screenPos)
{
- Q_ASSERT(m_parentView);
- QPoint mapped = m_parentView->window()->mapToGlobal(pos);
- QQuickWindow::setPosition(mapped.x(), mapped.y());
+ QQuickWindow::setPosition(screenPos);
}
void RenderWidgetHostViewQtDelegateQuickWindow::setTooltip(const QString &tooltip)
diff --git a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h
index 9b959f02b..6adac5e95 100644
--- a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h
+++ b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h
@@ -52,7 +52,7 @@
class RenderWidgetHostViewQtDelegateQuickWindow : public QQuickWindow , public RenderWidgetHostViewQtDelegate {
public:
- RenderWidgetHostViewQtDelegateQuickWindow(RenderWidgetHostViewQtDelegate *realDelegate, QQuickItem *parent);
+ RenderWidgetHostViewQtDelegateQuickWindow(RenderWidgetHostViewQtDelegate *realDelegate);
~RenderWidgetHostViewQtDelegateQuickWindow();
virtual void initAsChild(WebContentsAdapterClient* container) Q_DECL_OVERRIDE;
@@ -67,7 +67,7 @@ public:
virtual void update(const QRect& rect = QRect()) Q_DECL_OVERRIDE;
virtual void updateCursor(const QCursor &) Q_DECL_OVERRIDE;
virtual void resize(int width, int height) Q_DECL_OVERRIDE;
- virtual void move(const QPoint &) Q_DECL_OVERRIDE;
+ virtual void move(const QPoint &screenPos) Q_DECL_OVERRIDE;
virtual void inputMethodStateChanged(bool) Q_DECL_OVERRIDE {}
virtual bool supportsHardwareAcceleration() const Q_DECL_OVERRIDE
{
@@ -78,7 +78,6 @@ public:
private:
QScopedPointer<RenderWidgetHostViewQtDelegate> m_realDelegate;
- QQuickItem *m_parentView;
};
#endif // RENDER_WIDGET_HOST_VIEW_QT_DELEGATE_QUICKWINDOW_H