diff options
Diffstat (limited to 'src')
8 files changed, 23 insertions, 1 deletions
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index f29e36ae5..76d599ea2 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -316,7 +316,7 @@ bool RenderWidgetHostViewQt::IsShowing() // Retrieve the bounds of the View, in screen coordinates. gfx::Rect RenderWidgetHostViewQt::GetViewBounds() const { - QRectF p = m_delegate->screenRect(); + QRectF p = m_delegate->contentsRect(); float s = dpiScale(); gfx::Point p1(floor(p.x() / s), floor(p.y() / s)); gfx::Point p2(ceil(p.right() /s), ceil(p.bottom() / s)); diff --git a/src/core/render_widget_host_view_qt_delegate.h b/src/core/render_widget_host_view_qt_delegate.h index a8515e0e3..122b7c6eb 100644 --- a/src/core/render_widget_host_view_qt_delegate.h +++ b/src/core/render_widget_host_view_qt_delegate.h @@ -76,6 +76,7 @@ public: virtual void initAsChild(WebContentsAdapterClient*) = 0; virtual void initAsPopup(const QRect&) = 0; virtual QRectF screenRect() const = 0; + virtual QRectF contentsRect() const = 0; virtual void setKeyboardFocus() = 0; virtual bool hasKeyboardFocus() = 0; virtual void show() = 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 8d7f298e7..e37a07960 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -90,6 +90,13 @@ QRectF RenderWidgetHostViewQtDelegateQuick::screenRect() const return QRectF(pos.x(), pos.y(), width(), height()); } +QRectF RenderWidgetHostViewQtDelegateQuick::contentsRect() const +{ + QPointF scenePoint = mapToScene(QPointF(0, 0)); + QPointF screenPos = window()->mapToGlobal(scenePoint.toPoint()); + return QRectF(screenPos, QPointF(width(), height())); +} + 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 2efb2d098..1d79a101c 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.h +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.h @@ -55,6 +55,7 @@ public: virtual void initAsChild(WebContentsAdapterClient* container) Q_DECL_OVERRIDE; virtual void initAsPopup(const QRect&) Q_DECL_OVERRIDE; virtual QRectF screenRect() const Q_DECL_OVERRIDE; + virtual QRectF contentsRect() const Q_DECL_OVERRIDE; virtual void setKeyboardFocus() Q_DECL_OVERRIDE; virtual bool hasKeyboardFocus() Q_DECL_OVERRIDE; virtual void show() 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 b2e461450..2a7e98408 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp @@ -75,6 +75,11 @@ QRectF RenderWidgetHostViewQtDelegateQuickWindow::screenRect() const return QRectF(x(), y(), width(), height()); } +QRectF RenderWidgetHostViewQtDelegateQuickWindow::contentsRect() const +{ + return geometry(); +} + 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 667bb4b3a..53203bb47 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h +++ b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h @@ -58,6 +58,7 @@ public: virtual void initAsChild(WebContentsAdapterClient* container) Q_DECL_OVERRIDE; virtual void initAsPopup(const QRect&) Q_DECL_OVERRIDE; virtual QRectF screenRect() const Q_DECL_OVERRIDE; + virtual QRectF contentsRect() const Q_DECL_OVERRIDE; virtual void setKeyboardFocus() Q_DECL_OVERRIDE {} virtual bool hasKeyboardFocus() Q_DECL_OVERRIDE { return false; } virtual void show() Q_DECL_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 24c243d20..98c6265aa 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp @@ -97,6 +97,12 @@ QRectF RenderWidgetHostViewQtDelegateWidget::screenRect() const return QRectF(x(), y(), width(), height()); } +QRectF RenderWidgetHostViewQtDelegateWidget::contentsRect() const +{ + QPointF pos = mapToGlobal(QPoint(0, 0)); + return QRectF(pos.x(), pos.y(), width(), height()); +} + void RenderWidgetHostViewQtDelegateWidget::setKeyboardFocus() { setFocus(); 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 f7b83e5f5..f05ca2005 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h @@ -63,6 +63,7 @@ public: virtual void initAsChild(WebContentsAdapterClient* container) Q_DECL_OVERRIDE; virtual void initAsPopup(const QRect&) Q_DECL_OVERRIDE; virtual QRectF screenRect() const Q_DECL_OVERRIDE; + virtual QRectF contentsRect() const Q_DECL_OVERRIDE; virtual void setKeyboardFocus() Q_DECL_OVERRIDE; virtual bool hasKeyboardFocus() Q_DECL_OVERRIDE; virtual void show() Q_DECL_OVERRIDE; |