diff options
author | Andras Becsi <andras.becsi@digia.com> | 2013-08-28 20:03:55 +0200 |
---|---|---|
committer | Andras Becsi <andras.becsi@digia.com> | 2013-09-02 20:21:52 +0200 |
commit | c3f53cadb902f711a90b744c5b186208cf08826b (patch) | |
tree | 8eba9a17dd174e6647a9262cb86d4690b9a41cc4 /lib/widgets | |
parent | 7146fcc14dcd69f39f20a3e49a9b371bd306bb53 (diff) |
Fix rendering on Retina displays
Since the QWindow returned by the RWHV delegates was always 0 we never
actually propagated a valid WebScreenInfo to chromium.
Additionally the painting and scrolling in the backing store had to be
fixed so that the device pixel ratio is taken into account.
Change-Id: I22dc135e8e090362201292863ed911464b9fc133
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'lib/widgets')
-rw-r--r-- | lib/widgets/render_widget_host_view_qt_delegate_widget.cpp | 10 | ||||
-rw-r--r-- | lib/widgets/render_widget_host_view_qt_delegate_widget.h | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp b/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp index 845b67f55..1c7af34d8 100644 --- a/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp +++ b/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp @@ -48,6 +48,7 @@ #include <QResizeEvent> #include <QPainter> #include <QPaintEvent> +#include <QWindow> RenderWidgetHostViewQtDelegateWidget::RenderWidgetHostViewQtDelegateWidget(QWidget *parent) : QWidget(parent) @@ -111,9 +112,16 @@ bool RenderWidgetHostViewQtDelegateWidget::isVisible() const return QWidget::isVisible(); } +WId RenderWidgetHostViewQtDelegateWidget::nativeWindowIdForCompositor() const +{ + QWindow* window = QWidget::windowHandle(); + return window ? window->winId() : 0; +} + QWindow* RenderWidgetHostViewQtDelegateWidget::window() const { - return QWidget::windowHandle(); + const QWidget* root = QWidget::window(); + return root ? root->windowHandle() : 0; } void RenderWidgetHostViewQtDelegateWidget::update(const QRect& rect) diff --git a/lib/widgets/render_widget_host_view_qt_delegate_widget.h b/lib/widgets/render_widget_host_view_qt_delegate_widget.h index 1eec64149..c133edafd 100644 --- a/lib/widgets/render_widget_host_view_qt_delegate_widget.h +++ b/lib/widgets/render_widget_host_view_qt_delegate_widget.h @@ -61,6 +61,7 @@ public: virtual void show(); virtual void hide(); virtual bool isVisible() const; + virtual WId nativeWindowIdForCompositor() const; virtual QWindow* window() const; virtual void update(const QRect& rect = QRect()); virtual void updateCursor(const QCursor &); |