summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-05-06 14:45:09 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-05-07 15:06:47 +0000
commit99d46a8a918dee7323bc3d4f1624c47c097f9a3a (patch)
tree2070028bb48eed331f16e12afbd553dd31fb6db3 /src
parentc453b750ecb5311ae0a32d3d2cca9e2871fb9c50 (diff)
Introduce RenderWidgetHostViewQtDelegateQuick::windowGeometry()
Leave it up to hostview delegate to report window geometry. Change-Id: I19a4b911aa493fbc6f66c6169e7fbbb7bf674217 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/core/render_widget_host_view_qt.cpp4
-rw-r--r--src/core/render_widget_host_view_qt_delegate.h1
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quick.cpp7
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quick.h1
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp5
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quickwindow.h1
-rw-r--r--src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp7
-rw-r--r--src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h1
8 files changed, 25 insertions, 2 deletions
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index 8b1a9075b..994e3a3d6 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -934,9 +934,9 @@ void RenderWidgetHostViewQt::visualPropertiesChanged()
m_viewRectInDips = toGfx(m_delegate->viewGeometry().toAlignedRect());
gfx::Rect oldWindowRect = m_windowRectInDips;
- QWindow *window = m_delegate->window();
- m_windowRectInDips = window ? toGfx(window->frameGeometry()) : gfx::Rect();
+ m_windowRectInDips = toGfx(m_delegate->windowGeometry());
+ QWindow *window = m_delegate->window();
content::ScreenInfo oldScreenInfo = m_screenInfo;
m_screenInfo = screenInfoFromQScreen(window ? window->screen() : nullptr);
diff --git a/src/core/render_widget_host_view_qt_delegate.h b/src/core/render_widget_host_view_qt_delegate.h
index cbf92a8d4..6066284d9 100644
--- a/src/core/render_widget_host_view_qt_delegate.h
+++ b/src/core/render_widget_host_view_qt_delegate.h
@@ -91,6 +91,7 @@ public:
virtual ~RenderWidgetHostViewQtDelegate() { }
virtual void initAsPopup(const QRect&) = 0;
virtual QRectF viewGeometry() const = 0;
+ virtual QRect windowGeometry() const = 0;
virtual void setKeyboardFocus() = 0;
virtual bool hasKeyboardFocus() = 0;
virtual void lockMouse() = 0;
diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
index e756ee157..4d3a71a79 100644
--- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
+++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
@@ -104,6 +104,13 @@ QRectF RenderWidgetHostViewQtDelegateQuick::viewGeometry() const
return QRectF(mapToGlobal(QPointF(0, 0)), size());
}
+QRect RenderWidgetHostViewQtDelegateQuick::windowGeometry() const
+{
+ if (!window())
+ return QRect();
+ return window()->frameGeometry();
+}
+
void RenderWidgetHostViewQtDelegateQuick::setKeyboardFocus()
{
setFocus(true);
diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.h b/src/webengine/render_widget_host_view_qt_delegate_quick.h
index 4edf37cff..00158b3ac 100644
--- a/src/webengine/render_widget_host_view_qt_delegate_quick.h
+++ b/src/webengine/render_widget_host_view_qt_delegate_quick.h
@@ -60,6 +60,7 @@ public:
void initAsPopup(const QRect&) override;
QRectF viewGeometry() const override;
+ QRect windowGeometry() const override;
void setKeyboardFocus() override;
bool hasKeyboardFocus() override;
void lockMouse() 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 3c6c743e0..91ef84960 100644
--- a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp
+++ b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp
@@ -67,6 +67,11 @@ QRectF RenderWidgetHostViewQtDelegateQuickWindow::viewGeometry() const
return m_realDelegate->viewGeometry();
}
+QRect RenderWidgetHostViewQtDelegateQuickWindow::windowGeometry() const
+{
+ return frameGeometry();
+}
+
void RenderWidgetHostViewQtDelegateQuickWindow::show()
{
QQuickWindow::show();
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 039f6102a..35a30d976 100644
--- a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h
+++ b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h
@@ -57,6 +57,7 @@ public:
void initAsPopup(const QRect&) override;
QRectF viewGeometry() const override;
+ QRect windowGeometry() const override;
void setKeyboardFocus() override {}
bool hasKeyboardFocus() override { return false; }
void lockMouse() override {}
diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
index 140314681..817d6e408 100644
--- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
+++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
@@ -238,6 +238,13 @@ QRectF RenderWidgetHostViewQtDelegateWidget::viewGeometry() const
return QRectF(mapToGlobal(pos()), size());
}
+QRect RenderWidgetHostViewQtDelegateWidget::windowGeometry() const
+{
+ if (!window())
+ return QRect();
+ return window()->frameGeometry();
+}
+
void RenderWidgetHostViewQtDelegateWidget::setKeyboardFocus()
{
// The root item always has focus within the root focus scope:
diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
index a736aa5cf..7746c4405 100644
--- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
+++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
@@ -67,6 +67,7 @@ public:
void initAsPopup(const QRect&) override;
QRectF viewGeometry() const override;
+ QRect windowGeometry() const override;
void setKeyboardFocus() override;
bool hasKeyboardFocus() override;
void lockMouse() override;